zl程序教程

您现在的位置是:首页 >  其它

当前栏目

ELK详解(八)——Logstash收集系统日志实战

详解 实战 收集 ELK Logstash 系统日志
2023-09-14 09:01:45 时间

今天继续给大家介绍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