zl程序教程

您现在的位置是:首页 >  工具

当前栏目

ELK详解(十四)——Logstash TCP/UDP日志收集

日志TCP 详解 收集 UDP ELK 十四 Logstash
2023-09-14 09:01:45 时间

今天继续给大家介绍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