之前写了收集linux系统历史history命令,下面介绍一下系统里日志收集与展示的。

老规矩,先看效果,满意的话继续看。

一、效果图

1、总览

2、linux系统日志收集数据总量

主要是展示所选范围内容收集日志总量

3、linux系统日志收集主机数

主要是展示当前总共有多少台主机上传了message日志数据

4、linux系统日志程序类型Top5

主要是展示收集的日志信息里前5个程序名;我这5个都是docker服务器,所以docker日志有很多。

5、linux系统日志时间数据总量图

主要是展示每个时间段收集的数据量

6、linux系统日志数据

主要是展示详细的日志数据

安装elk的过程可以参考上一篇,地址是

二、收集日志

我收集的是系统/var/log/messages日志,然后通过rsyslog的tcp 8514端口发给logstash。

1、配置rsyslog

默认rsyslog都安装了,所以只需要修改配置

在/etc/rsyslog.conf里添加

*.* @@localhost:8514

然后重启rsyslog

2、配置logstash

[root@puppet tmp]# cat /etc/logstash/conf.d/logstash_agent.confinput {    tcp {    port => "8514"    type => "syslog"   }}filter {  if [type] == "syslog" {    grok {      match => { "message" => "%{SYSLOGTIMESTAMP:syslog_timestamp} %{SYSLOGHOST:syslog_hostname} %{DATA:syslog_program}(?:\[%{POSINT:syslog_pid}\])?: %{GREEDYDATA:syslog_message}" }    }  }}output {redis {host => ["10.10.125.8:6379"]data_type =>"list"key => "logstash:redis"}}

3、导入模板

导入顺序

1、Linux系统日志试图.json

2、Linux系统日志搜索.json

3、Linux系统日志Dashboard.json

其他的有问题可以留言。