ELK实战-Logstash:收集rsyslog日志

本文介绍了如何配置Logstash作为rsyslog服务器,从远程客户端收集日志。首先,需要了解rsyslog和ELK基础。接着,在测试环境中设置ELK服务器和rsyslog客户端。在logstash配置文件中,设置监听514端口接收日志,并将日志输出到Elasticsearch和标准输出。然后,禁用rsyslog服务器,启动ELK组件。在客户端配置rsyslog发送日志到Logstash。最后,通过命令验证日志收集成功,并在Kibana中查看日志。

概述

本文主要是展示将logstash作为rsyslog服务器,并收集远程的rsyslog日志。

本文阅读的基础建立在:
* 了解rsyslog服务器,或者阅读rsyslog日志服务器-日志写入远端rsyslog服务器
* 对ELK有初步的了解,并有体验过ELK进行日志收集,或者阅读ELK:环境搭建&初体验

测试环境


2个CentOS7系统:

  • ELK服务器
  • rsyslog客户端

实战


logstash配置文件

logstash的配置文件(logstash.conf.rsyslog)如下

input {
    tcp {
        port => 514
        type => syslog
    }
    udp {
        port => 514
        type => syslog
    }
}
output {
    elasticsearch { hosts => ["localhost:9200"] }
    stdout {  }
}

配置文件说明:

  • 输入

    • 设置监听TCP/UDP的514端口,类型是rsyslog。
    • 这样配置后logstash服务启动时将会作为1个rsyslog服务器接收来自其他rsyslog的日志。
  • 输出:

    • 将日志输出到本地的elasticsearch,
    • 同时,将收到的日志打印到标准输出。

备注:
此处的tcp、udp端口只能设置为514,亲身测试过其他端口,存在问题,原因目前未知。

启动ELK

  • 禁用rsyslog服务器

    由于logstach配置了监听514端口,所以要确保改端口未被占用,所以需要禁用rsyslog服务器。

    netstat -ano | grep 514查看514端口是否被占用

    service rsyslog stop停止rsyslog服务器

  • 启动elastaticsearch。参考启动elastaticsearch

  • 启动logstash:bin/logstash -f [your_path]/logstash.conf.rsyslog。参考启动logstash
  • 启动kibana。参考启动kibana

设置rsyslog客户端

在用来做rsyslog客户端的系统中,将rsyslog服务器设置为[ELK_IP]:514

详细参考rsyslog相关配置rsyslog client端配置

验证

在rsyslog客户端,执行如下命令logger -p info "hello, remote rsyslog"

便可以看到在logstash的标准输出中便可以看到”hello, remote rsyslog”.
在kibana中也可以看到对应的日志。


至此,ELK作为rsyslog服务端收集rsyslog日志的实战完成了。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值