第八章·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中

查看日志结果

相关文章
相关标签/搜索