您好,登錄后才能下訂單哦!
這篇文章給大家介紹使用elk收集網絡設備的示例分析,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
隨著機房內的服務器和網絡設備增加,日志管理和查詢就成了讓系統管理員頭疼的事。
日常維護過程中不可能登錄到每一臺服務器和設備上去查看日志;
網絡設備上的存儲空間有限,不可能存儲日期太長的日志,而系統出現問題又有可能是很久以前發生的某些操作造成的;
在某些非法侵入的情況下,侵入者一般都會清除本地日志,清除侵入痕跡;
zabbix等監控系統無法代替日志管理,無法監控如系統登錄、計劃任務執行等項目。
基于上述原因,在當前的網絡環境中搭建一臺用于日志集中管理的Rsyslog日志服務器就顯得十分有必要了。
Rsyslog服務器可以大多數的網絡設備支持,在網絡設備的系統設備選項中大多都有遠程日志服務的配置選項。只需要填寫上IP地址和端口(大多數設備已經默認是514了),然后確定就可以了;
Linux服務器只需要在本地的Rsyslog服務配置中加入簡單的一行就可以將日志發送到日志服務器,布署和配置起來十分簡單;
部署架構
系統環境及軟件版本: CentOS Linux release 7.5.1804 (Core) Elasticserch-6.8.4 Kibana-6.8.4 Logstash-6.8.4 Filebeat-6.8.4 Rsyslog-8.24.0
# setenforce 0 # sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config
firewall-cmd --add-service=syslog --permanent firewall-cmd --reload
#CentOS7默認會安裝rsyslog
[root@ZABBIX-Server ~]# rpm -qa |grep rsyslog rsyslog-8.24.0-16.el7.x86_64
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 中
systemctl restart rsyslog.service
網絡設備將日志指向syslog服務器,注意不同廠商的設備對應的local不同,對應關系如下:
/mnt/huawei --- local6 /mnt/h4c --- local5 /mnt/cisco --- local4
Huawei: info-center loghost source Vlanif99 info-center loghost 192.168.99.50 facility local5 H3C: info-center loghost source Vlan-interface99 info-center loghost 192.168.99.50 facility local6 CISCO: (config)#logging on (config)#logging 192.168.99.50 (config)#logging facility local4 (config)#logging source-interface e0 Ruijie: logging buffered warnings logging source interface VLAN 99 logging facility local6 logging server 192.168.99.50
注意:192.168.99.50為rsyslog服務器的IP
收集rsyslog下的日志文件到logstash
[root@ZABBIX-Server mnt]# egrep -v "^#|^$" /etc/filebeat/filebeat.yml filebeat.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: 3 output.logstash: hosts: ["192.168.99.185:5044"] processors: - add_host_metadata: ~ - add_cloud_metadata: ~
對filebeat傳來的日志根據標簽不同分別進行處理,將處理完成的日志數據傳到es上存儲,并在kibana上做進一步的可視化展示
[root@elk-node1 ~]# egrep -v "^#|^$" /etc/logstash/conf.d/networklog.conf input { 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的數據表可以導出為CSV文件
關于使用elk收集網絡設備的示例分析就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。