今天继续给大家介绍Linux运维相关知识,本文主要内容是Logstash TCP/UDP日志收集。
一、Logstash TCP/UDP日志收集背景
在之前的文章中,我们进行了各种日志文件的收集,今天,我们来给大家介绍TCP/UDP日志的收集。Logstash支持监听指定的端口,用于补录丢失的日志信息。我们可以通过设置,开启一个TCP端口,并接收从该端口发送来的信息。
二、Logstash配置
我们在Logstash上,创建tcp-log.conf文件,内容如下:
input{
tcp{
port=>1234
type=>"tcp"
mode=>"server"
}
}
output{
stdout{
codec=>rubydebug
}
elasticsearch{
hosts=>["192.168.136.13:9200"]
index=>"tcp-log"
}
}
在上述的配置文件中,我们的输入模块使用了TCP的插件设定本设备监听1234端口,我们的输出部分使用了标准输出模块和Elasticsearch模块,这两个模块放在一起,将使得Logstash同时具有两个输出,不仅输出到屏幕上,同时还输出到Elasticsearch中。
上述文件创建后,我们执行该配置文件,执行命令:
logstash -f /etc/elasticsearch/conf.d/tcp-log.conf
该命令执行后,我们可以再打开一个终端,发现该设备上已经开启监听1234端口,如下所示:
三、效果检验
最后,我们来检验一下实战结果。
为了方便测试,我们在Linux终端上安装一个nc命令,执行命令:
yum install -y nc
可以安装nc命令,nc命令可以帮助我们进行TCP指定端口的数据发送。nc命令安装完毕后,执行命令:
echo "nc test" | nc 192.168.136.13 1234
该命令执行完毕后,Logstash设备屏幕上输出如下:
在上图中,可以看出,我们向1234端口输入的信息已经输出到了屏幕上。之后,我们在ELasticsearch上查看,结果如下:
由上,我们的Logstash进行TCP/UDP日志收集实战成功!
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200