今天继续给大家介绍Linux运维相关知识,本文主要内容是Logstash收集系统日志。
一、Logstash配置
在前文ELK详解(六)——Logstash部署与简单应用中,我们进行了Logstash的部署,并使用Logstash的-e参数,实现了与Elastics的对接。今天,我们用Logstash真正的收集系统日志/var/log/messages,并配合Kibana,实现日志内容查看。
今天,我们使用配置文件的方式,来执行Logstash命令,创建/etc/elasticsearch/conf.d/目录下,新建一个名为system-log.conf的配置文件,在文件中,以类似命令行的方式写入如下内容:
input{
file{
path=>"/var/log/messages"
type=>"systemlog"
start_position=>"beginning"
stat_interval=>"5"
}
}
output{
elasticsearch{
hosts=>["192.168.136.101:9200"]
index=>"systemlog-%{+YYYY.MM.dd}"
}
}
在上述配置中,file模块使用了四个参数,path参数指定了文件的路径,type参数制订了file模块结果的类型,由我们自己定义,可以用在output模块中,start_position参数指定了开始的位置,beginning表示从文件开始处收集,stat_interval参数指定了收集的间隔,时间单位为秒。在output中,index后面的值引用了时间戳,实际上,Kibana在后续配置中也会用到这个时间戳。
完成后,我们首先要确保该文件对/var/log/messages文件由读取的权限,执行命令:
chmod 644 /var/log/messages
之后,我们执行命令:
logstash -f /etc/elasticsearch/conf.d/system-log.conf -t
在上述命令中,-f参数表示调用文件,-t参数表示对文件的语法进行检查,但是并不执行。
上述命令执行结果如下:

在上图中,我们可以看到命令执行后出现了Configuration OK的字样,这就说明我们的文件没有问题。
之后,我们执行命令:
logstash -f /etc/elasticsearch/conf.d/system-log.conf
来实际执行该命令,尝试读取/var/log/messages文件,然后将读取结果传输到Elasticsearch中。该命令执行结果如下:

二、Elasticsearch结果查看
接下来,我们在Elasticsearch上查看日志,发现出现了我们的日志,结果如下所示:

三、Kibana结果查看
最后,我们尝试使用Kibana来查看我们的日志。
首先,我们打开Kibana的首页,来创建一个索引,结果如下所示:

其次,我们输入索引的名称,该名称就是我们在logstash中配置的索引名称,也可以在Elasticsearch中复制,如下所示:

之后,我们点击时间戳,并点击创建,如下所示:

创建完成后,我们在Discover模块,就可以看到索引的值了,结果如下所示:

原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200
本文介绍了如何通过Logstash配置文件收集Linux系统的/var/log/messages日志,并将其发送到Elasticsearch,再通过Kibana进行可视化查看。配置文件中设置了file模块参数,如path、type、start_position和stat_interval。执行Logstash命令后,通过Elasticsearch和Kibana可以成功查看和分析日志内容。
997

被折叠的 条评论
为什么被折叠?



