之前写了收集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
其他的有问题可以留言。