千家信息网

使用elk收集网络设备的示例分析

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,这篇文章给大家介绍使用elk收集网络设备的示例分析,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。简介随着机房内的服务器和网络设备增加,日志管理和查询就成了让系统管理员头疼的事。系
千家信息网最后更新 2026年10月31日使用elk收集网络设备的示例分析

这篇文章给大家介绍使用elk收集网络设备的示例分析,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

简介

随着机房内的服务器和网络设备增加,日志管理和查询就成了让系统管理员头疼的事。

系统管理员遇到的常见问题如下:

  1. 日常维护过程中不可能登录到每一台服务器和设备上去查看日志;

  2. 网络设备上的存储空间有限,不可能存储日期太长的日志,而系统出现问题又有可能是很久以前发生的某些操作造成的;

  3. 在某些非法侵入的情况下,侵入者一般都会清除本地日志,清除侵入痕迹;

  4. zabbix等监控系统无法代替日志管理,无法监控如系统登录、计划任务执行等项目。

基于上述原因,在当前的网络环境中搭建一台用于日志集中管理的Rsyslog日志服务器就显得十分有必要了。

Rsyslog服务的优点如下:

  1. Rsyslog服务器可以大多数的网络设备支持,在网络设备的系统设备选项中大多都有远程日志服务的配置选项。只需要填写上IP地址和端口(大多数设备已经默认是514了),然后确定就可以了;

  2. Linux服务器只需要在本地的Rsyslog服务配置中加入简单的一行就可以将日志发送到日志服务器,布署和配置起来十分简单;
    部署架构

部署架构

Rsyslog配置

系统环境及软件版本:CentOS Linux release 7.5.1804 (Core)Elasticserch-6.8.4Kibana-6.8.4Logstash-6.8.4Filebeat-6.8.4Rsyslog-8.24.0
将SELINUX设置为disabled
# setenforce 0# sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config
防火墙配置
firewall-cmd  --add-service=syslog --permanentfirewall-cmd  --reload
检查是否安装了rsyslog软件

#CentOS7默认会安装rsyslog

[root@ZABBIX-Server ~]# rpm -qa |grep rsyslogrsyslog-8.24.0-16.el7.x86_64
编辑rsyslog配置文件

vim /etc/rsyslog.conf #按如下进行更改

[root@ZABBIX-Server mnt]# egrep -v "*#|^$" /etc/rsyslog.conf$ModLoad imudp$UDPServerRun 514$ModLoad imtcp$InputTCPServerRun 514$WorkDirectory /var/lib/rsyslog$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat$IncludeConfig /etc/rsyslog.d/*.conf$OmitLocalLogging on$IMJournalStateFile imjournal.state*.info;mail.none;authpriv.none;cron.none;local6.none;local5.none;local4.none                /var/log/messages$template h4c,"/mnt/h4c/%FROMHOST-IP%.log"local6.* ?h4c$template huawei,"/mnt/huawei/%FROMHOST-IP%.log"local5.* ?huawei$template cisco,"/mnt/cisco/%FROMHOST-IP%.log"local4.* ?cisco

$ModLoad imudp            # immark是模块名,支持tcp协议  $ModLoad imudp             # imupd是模块名,支持udp协议    $InputTCPServerRun 514$UDPServerRun 514          #允许514端口接收使用UDP和TCP协议转发过来的日志

注意:

*.info;mail.none;authpriv.none;cron.none;local6.none;local5.none;local4.none         /var/log/messages默认没有添加local6.none;local5.none;local4.none 命令,网络日志在写入对应的文件的同时会写入/var/log/messages 中
检查rsyslog服务

重启rsyslog服务
systemctl restart rsyslog.service
日志存放目录

网络设备将日志指向syslog服务器,注意不同厂商的设备对应的local不同,对应关系如下:

/mnt/huawei   --- local6/mnt/h4c      --- local5/mnt/cisco     --- local4

网络设备配置

Huawei:info-center loghost source Vlanif99info-center loghost 192.168.99.50 facility local5H3C:info-center loghost source Vlan-interface99info-center loghost 192.168.99.50 facility local6CISCO:(config)#logging on(config)#logging 192.168.99.50 (config)#logging facility local4(config)#logging source-interface e0Ruijie:logging buffered warningslogging source interface VLAN 99logging facility local6logging server 192.168.99.50

注意:192.168.99.50为rsyslog服务器的IP

编辑filebeat配置文件

收集rsyslog下的日志文件到logstash

[root@ZABBIX-Server mnt]# egrep -v "^#|^$" /etc/filebeat/filebeat.ymlfilebeat.inputs:- type: log  enabled: true  paths:    - /mnt/huawei/*  tags: ["huawei"]  include_lines: ['Failed','failed','error','ERROR','\bDOWN\b','\bdown\b','\bUP\b','\bup\b']  drop_fields:    fields: ["beat","input_type","source","offset","prospector"]- type: log  paths:    - /mnt/h4c/*  tags: ["h4c"]  include_lines: ['Failed','failed','error','ERROR','\bDOWN\b','\bdown\b','\bUP\b','\bup\b']  drop_fields:    fields: ["beat","input_type","source","offset","prospector"]setup.template.settings:  index.number_of_shards: 3output.logstash:  hosts: ["192.168.99.185:5044"]processors:  - add_host_metadata: ~  - add_cloud_metadata: ~

编辑logstash配置文件

对filebeat传来的日志根据标签不同分别进行处理,将处理完成的日志数据传到es上存储,并在kibana上做进一步的可视化展示

[root@elk-node1 ~]# egrep -v "^#|^$" /etc/logstash/conf.d/networklog.confinput {  beats {    port => 5044  }}filter {  if "huawei" in [tags] {    grok{      match => {"message" => "%{SYSLOGTIMESTAMP:time} %{DATA:hostname} %{GREEDYDATA:info}"}        }  }   else if "h4c" in [tags] {    grok{      match => {"message" => "%{SYSLOGTIMESTAMP:time} %{YEAR:year} %{DATA:hostname} %{GREEDYDATA:info}"}        }  }mutate {      remove_field => ["message","time","year","offset","tags","path","host","@version","[log]","[prospector]","[beat]","[input][type]","[source]"]    }}output{stdout {codec => rubydebug}elasticsearch {    index => "networklogs-%{+YYYY.MM.dd}"    hosts => ["192.168.99.185:9200"]    sniffing => false    }}

在kibana上做可视化配置

创建一个索引模式匹配存储的网络设备日志索引

创建一个数据表

kibana的数据表可以导出为CSV文件

创建一个饼状图


关于使用elk收集网络设备的示例分析就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

日志 设备 服务 网络 配置 网络设备 服务器 系统 文件 管理 存储 不同 数据 支持 示例 分析 内容 数据表 更多 架构 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技 美国互联网科技巨头监管 互联网 的科技创新 菲比寻常互联网科技 山东吉时兔互联网科技有限公司 深圳前海聚择互联网科技有限公司 港股科技和互联网 彤创互联网科技有限公司 互联网科技公司有风险吗 互联网科技商业 崇明区互联网教育科技售后服务 上海京穆互联网科技有限公司 黑云互联网科技有限公司 广州百诚互联网科技有限公司官网 互联网安防科技感 吉林省码上互联网科技电话 北京品多多互联网科技有限公司 河南商务圈互联网科技有限公司 上海互联网科技园景观 互联网科技创新方面的资料 互联网科技股 中关村互联网科技集团 中国互联网科技工作委员会毛军 互联网金融监管科技数据 互联网科技大会 深圳卡尔迅互联网科技有限公司怎么样 海南购全球互联网科技 科技互联网海报 半导体行业属于互联网高科技类吗 重庆科技产业互联网有哪些
0