前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >第八章·Logstash深入-通过TCP/UDP收集日志

第八章·Logstash深入-通过TCP/UDP收集日志

作者头像
DriverZeng
发布2022-09-26 11:16:51
9490
发布2022-09-26 11:16:51
举报
文章被收录于专栏:Linux云计算及前后端开发

-曾老湿, 江湖人称曾老大。


-多年互联网运维工作经验,曾负责过大规模集群架构自动化运维管理工作。 -擅长Web集群架构与自动化运维,曾负责国内某大型金融公司运维工作。 -devops项目经理兼DBA。 -开发过一套自动化运维平台(功能如下): 1)整合了各个公有云API,自主创建云主机。 2)ELK自动化收集日志功能。 3)Saltstack自动化运维统一配置管理工具。 4)Git、Jenkins自动化代码上线及自动化测试平台。 5)堡垒机,连接Linux、Windows平台及日志审计。 6)SQL执行及审批流程。 7)慢查询日志分析web界面。


收集TCP/UDP日志

通过logstash的tcp/udp插件收集日志,通常用于在向elasticsearch日志补录丢失的部分日志,可以将丢失的日志通过一个TCP端口直接写入到elasticsearch服务器。


配置Logstash

代码语言:javascript
复制
#进入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


使用nc传输日志

NetCat简称nc,在网络工具中有瑞士军刀美誉,其功能实用,是一个简单、可靠的网络工具,可通过TCP或UDP协议传输读写数据,另外还具有很多其他功能。

在其它服务器安装nc命令

代码语言:javascript
复制
#使用yum安装nc
[root@db04 ~]# yum install -y nc
#使用nc传输数据
[root@elkstack04 ~]# echo "zls test nc" | nc 10.0.0.53 1234

通过nc发送一个文件

代码语言:javascript
复制
#将/etc/passwd文件当成日志文件传送
[root@elkstack04 ~]# nc 10.0.0.53 1234 < /etc/passwd

结果如下,我们不难发现,Logstash会将传送来的日志文件 一行一行 读取,收集成日志


通过伪设备的方式发送日志

在类Unix操作系统中,设备节点并不一定要对应物理设备。没有这种对应关系的设备是伪设备。操作系统运用了它们提供的多种功能,tcp只是dev下面众多伪设备当中的一种设备。

代码语言:javascript
复制
#发送伪设备数据
[root@elkstack04 ~]# echo "曾老湿 伪设备 测试"  > /dev/tcp/10.0.0.53/1234


将输出改成ES

代码语言:javascript
复制
#编辑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中

查看日志结果

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-03-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 收集TCP/UDP日志
相关产品与服务
Elasticsearch Service
腾讯云 Elasticsearch Service(ES)是云端全托管海量数据检索分析服务,拥有高性能自研内核,集成X-Pack。ES 支持通过自治索引、存算分离、集群巡检等特性轻松管理集群,也支持免运维、自动弹性、按需使用的 Serverless 模式。使用 ES 您可以高效构建信息检索、日志分析、运维监控等服务,它独特的向量检索还可助您构建基于语义、图像的AI深度应用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档