ELK实战-Logstash:收集rsyslog日志

来源:互联网 发布:产品报价系统源码 编辑:程序博客网 时间:2024/05/17 10:27

概述

本文主要是展示将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日志的实战完成了。

0 0
原创粉丝点击