第八章·Logstash深刻-經過TCP/UDP收集日誌

1.收集TCP/UDP日誌

經過logstash的tcp/udp插件收集日誌,一般用於在向elasticsearch日誌補錄丟失的部分日誌,能夠將丟失的日誌經過一個TCP端口直接寫入到elasticsearch服務器。java


配置Logstash
#進入Logstash配置文件目錄 [root@elkstack03 ~]# cd /etc/logstash/conf.d/ #編輯Logstash配置文件 [root@elkstack03 conf.d]# vim tcp.conf input { tcp { port => 1234 type => "tcplog" mode => "server" } } output { stdout { codec => rubydebug } } #啓動Logstash [root@elkstack03 conf.d]# /usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/tcp.conf #檢測端口是否啓動成功 [root@elkstack03 ~]# netstat -lntup tcp 0 0 :::1234 :::* LISTEN 8656/java 

vim


使用nc傳輸日誌

NetCat簡稱nc,在網絡工具中有瑞士軍刀美譽,其功能實用,是一個簡單、可靠的網絡工具,可經過TCP或UDP協議傳輸讀寫數據,另外還具備不少其餘功能。瀏覽器

在其它服務器安裝nc命令ruby

#使用yum安裝nc [root@db04 ~]# yum install -y nc #使用nc傳輸數據 [root@elkstack04 ~]# echo "zls test nc" | nc 10.0.0.53 1234 

服務器

經過nc發送一個文件網絡

#將/etc/passwd文件當成日誌文件傳送 [root@elkstack04 ~]# nc 10.0.0.53 1234 < /etc/passwd 

結果以下,咱們不難發現,Logstash會將傳送來的日誌文件 一行一行 讀取,收集成日誌
elasticsearch


經過僞設備的方式發送日誌

在類Unix操做系統中,設備節點並不必定要對應物理設備。沒有這種對應關係的設備是僞設備。操做系統運用了它們提供的多種功能,tcp只是dev下面衆多僞設備當中的一種設備。tcp

#發送僞設備數據 [root@elkstack04 ~]# echo "曾老溼 僞設備 測試" > /dev/tcp/10.0.0.53/1234 

工具


將輸出改爲ES
#編輯logstash配置文件 [root@elkstack03 conf.d]# vim tcp.conf input { tcp { port => 1234 type => "tcplog" mode => "server" } } output { elasticsearch { hosts => ["10.0.0.51:9200"] index => "tcp_log-%{+YYYY.MM.dd}" } } #啓動Logstash [root@elkstack03 conf.d]# /usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/tcp.conf & #測試數據 [root@elkstack04 ~]# echo "曾老溼 僞設備 測試1" > /dev/tcp/10.0.0.53/1234 [root@elkstack04 ~]# echo "曾老溼 僞設備 測試2" > /dev/tcp/10.0.0.53/1234 

打開瀏覽器,訪問:http://10.0.0.51:9100/測試


將ES索引添加到Kibana中

查看日誌結果

相關文章
相關標籤/搜索