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


    1.收集TCP/UDP日志

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


    配置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
    


    使用nc传输日志

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

    在其它服务器安装nc命令

    #使用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会将传送来的日志文件 一行一行 读取,收集成日志


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

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

    #发送伪设备数据
    [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中

    查看日志结果

  • 相关阅读:
    关于初入.NET的那些事
    有趣的接口和抽象类
    类型转换的那些趣事(is和as)
    【项目实践】SpringBoot三招组合拳,手把手教你打出优雅的后端接口
    【项目实践】一文带你搞定Session和JWT的登录认证方式
    【项目实践】后端接口统一规范的同时,如何优雅得扩展规范
    羊车门问题简析
    对于python这门课程的一些想法、计划、期望
    Android 4.1果冻豆新特性详解
    使用include实现布局(layout)复用
  • 原文地址:https://www.cnblogs.com/Forever-x/p/11325032.html
Copyright © 2020-2023  润新知