Zabbix——ESXI日志如何转存logstash

在安装logstash服务前面所需要准备的工作,包括rsyslog服务的安装与配置,然后再创建模板和主机。

一、安装rsyslog服务

#yum install y rsyslog

二、调整rsyslog配置

1、修改/etc/rsyslog.conf文件,过滤自身的日志,接收日志到文件/etc/log/syslog.log

$template remote-incoming-logs,"%timestamp::date-rfc3339% %fromhost-ip% %app-name% %msg%\n"

local4.*        /var/log/syslog.log;remote-incoming-logs

:fromhost-ip, !isequal, "127.0.0.1" ?remote-incoming-logs

U3uRKBQg62fc50f3d665d.png

三、安装logstash服务

1、上传文件logstash-8.2.0-linux-x86_64.tar.gz,修改服务配置

#tar –xf logstash-8.2.0-linux-x86_64.tar.gz

#mv logstash-8.2.0-linux-x86_64  /usr/local/logstash

 

2、修改logstash服务配置文件/usr/local/logstash/config/logstash-sample.conf,xBi2tWgJ62fc510c40e3a.png

清空配置添加下列信息

input {

        file {

        path =>"/var/log/syslog.log"

        type =>"system"

        start_position =>"end"

 

}

}

filter {

    grok {

          match => { "message" => "%{SYSLOGTIMESTAMP:message_timestamp} %{SYSLOGHOST:hostname} %{DATA:message_program} %{GREEDYDATA:message_content}" }#这里通过grok对message字段的数据进行字段划分,这里将message字段划分了5个子字段。其中,message_content字段会在output中用到

         }

    mutate {

           add_field => {"[zabbix_key]" => "%{message_program}"} #新增的字段,字段名是zabbix_key,值为oslogs

           add_field => {"[zabbix_host]" => "%{hostname}"} #新增的字段,字段名是zabbix_host,值可以在这里直接定义,也可以引用字段变量来获取。这里>的%{host}获取的就是日志数据的主机名,这个主机名与zabbix web中“主机名称”需要保持一致

           remove_field => ["@version","message","type","host"] #这里是删除不需要的字段

        }

    date { #这里是对日志输出中的日期字段进行转换,其中message_timestamp字段是默认输出的时间日期字段,将这个字段的值传给 @timestamp字段

           match => [ "message_timestamp","MMM  d HH:mm:ss","MMM dd HH:mm:ss","ISO8601"]

        }

}

output {

       if [message_content]  =~ /(ERR|error|ERROR|Failed)/ {   #定义在message_content字段中,需要过滤的关键字信息,也就是在message_content字段中出

现给出的这些关键字,那么就将这些信息发送给zabbix

       zabbix {

              zabbix_host =>"[zabbix_host]"  #这个zabbix_host将获取上面filter部分定义的字段变量%{host}的值

              zabbix_key =>"[zabbix_key]"  #这个zabbix_key将获取上面filter部分中给出的值

              zabbix_server_host =>"192.168.1.105"    #这是指定zabbix server的IP地址

              zabbix_server_port =>"10051"   #这是指定zabbix server的监听端口

              zabbix_value =>"message_content"    #这个很重要,指定要传给zabbix监控项item(oslogs)的值, zabbix_value默认的值是"message"字段,因>为上面我们已经删除了"message"字段,因此,这里需要重新指定,根据上面filter部分对"message"字段的内容划分,这里指定为"message_content"字段,其实,"message_content"字段输出的就是服务器上具体的日志内容

              }

              }

              stdout{

 #             codec => rubydebug

              }

              }    #这里是开启调试模式,当第一次配置的时候,建议开启,这样过滤后的日志信息直接输出的屏幕,方便进行调试,调试成功后,即可关闭

 

 

3、安装logstash-output-zabbix插件

#/usr/local/logstash/bin/logstash-plugin  install  logstash-output-zabbix

 

4、启动服务

/usr/local/logstash/bin/logstash -f /usr/local/logstash/config/logstash-sample.conf --path.data /tmp

 

查看日志,格式已固定

SrqXehWB62fc5124143c0.png

四、创建模板

:(demo可下载,只添加了部分指标)

h7l5OWTQ62fc5132c219f.png

sOhTPkXN62fc515b01fa8.png

五、创建主机

XjmqYxHp62fc51729ee86.png

 

 

 

0 条评论

请先 登录 后评论
乐维君
乐维君

410 篇文章

作家榜 »

  1. 乐维君 410 文章
  2. YOHOHO 14 文章
  3. 机灵小和尚 13 文章
  4. 细雨闲花 12 文章
  5. 我是一只小菜鸡 12 文章
  6. 。。。 9 文章
  7. 御前侍卫张五哥 9 文章
  8. 小黄人 8 文章