4.4、登录kibana,创建索引,并且搜集数据
ELK+ Filebeat的安装,到此,就基本结束了,以上只是简单的部署完了。
但是,还满足不了需求,比如,一台服务器,有多个日志文件路径,改怎么配置,接下来,我们来分类创建索引!
五、Filebeat收集多个tomcat目录下的日志
5.1、修改filebeat.yml配置文件
vim /etc/filebeat/filebeat.yml
配置多个paths
收集路径,并且使用fields
标签配置自定义标签log_topics
,以方便做索引判断,如下:
filebeat.prospectors: - type: log enabled: true paths: - /usr/tomcat7-ysynet/logs/default/common_monitor.log multiline.pattern: '^[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2},[0-9]{3}' multiline.negate: true multiline.match: after fields: log_topics: spd-ysynet - type: log enabled: true paths: - /usr/tomcat7-ysynet-sync/logs/default/common_monitor.log multiline.pattern: '^[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2},[0-9]{3}' multiline.negate: true multiline.match: after fields: log_topics: spd-ysynet-sync - type: log enabled: true paths: - /usr/tomcat7-hscm/logs/default/common_monitor.log multiline.pattern: '^[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2},[0-9]{3}' multiline.negate: true multiline.match: after fields: log_topics: spd-hscm - type: log enabled: true paths: - /usr/tomcat7-hscm-sync/logs/default/common_monitor.log multiline.pattern: '^[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2},[0-9]{3}' multiline.negate: true multiline.match: after fields: log_topics: spd-hscm-sync
filebeat安装包所在服务器有tomcat7-ysynet
、tomcat7-ysynet-sync
、tomcat7-hscm
、tomcat7-hscm-sync
,4个tomcat
,在fields
下分别创建不同的log_topics
,log_topics
属于标签名,可以自定义,然后创建不同的值!
5.2、修改logstash.conf配置文件
接着,修改logstash
中的配置文件,创建索引,将其输出
vim /etc/logstash/conf.d/logstash.conf
内容如下:
input{ beats { port => 5044 codec => plain { charset => "UTF-8" } } } filter{ mutate{ remove_field => "beat.hostname" remove_field => "beat.name" remove_field => "@version" remove_field => "source" remove_field => "beat" remove_field => "tags" remove_field => "offset" remove_field => "sort" } } output{ if [fields][log_topics] == "spd-ysynet" { stdout { codec => rubydebug } elasticsearch { hosts => ["localhost:9200"] index => "spd-ysynet-%{+YYYY.MM.dd}" } } if [fields][log_topics] == "spd-ysynet-sync" { stdout { codec => rubydebug } elasticsearch { hosts => ["localhost:9200"] index => "spd-ysynet-sync-%{+YYYY.MM.dd}" } } if [fields][log_topics] == "spd-hscm" { stdout { codec => rubydebug } elasticsearch { hosts => ["localhost:9200"] index => "spd-hscm-%{+YYYY.MM.dd}" } } if [fields][log_topics] == "spd-hscm-sync" { stdout { codec => rubydebug } elasticsearch { hosts => ["localhost:9200"] index => "spd-hscm-sync-%{+YYYY.MM.dd}" } } }
其中filter
表示过滤的意思,在output
中使用filebeat
中配置的fields
信息,方便创建不同的索引!
#表示,输出到控制台 stdout { codec => rubydebug } #elasticsearch表示,输出到elasticsearch中,index表示创建索引的意思 elasticsearch { hosts => ["localhost:9200"] index => "spd-hscm-sync-%{+YYYY.MM.dd}" }
5.3、测试修改的logstash.conf配置文件
输入如下命令,检查/etc/logstash/conf.d/logstash.conf
文件,是否配置异常!
/usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/logstash.conf --config.test_and_exit
输入结果,显示Configuration OK
,就表示没问题!
5.4、重启相关服务
最后,重启filebeat
systemctl restart filebeat
关闭logstash
服务
systemctl stop logstash
以指定的配置文件,启动logstash
,输入如下命令,回车就ok了,执行完之后也可以用ps -ef|grep logstash
命令查询logstash
是否启动成功!
nohup /usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/logstash.conf &
5.5、登录kibana,创建索引
登录kibana,以同样的操作,页面创建索引,查询收集的日志,以下是小编的测试服务器搜集的信息
第3、4、5步骤,是筛选elasticsearch今天收集的日志信息!
六、总结
整个安装过程已经介绍完了,安装比较简单,复杂的地方就是配置了,尤其是logstash
、kibana
、nginx
、filebeat
,这几个部分,看了网上很多的介绍,elk配置完之后,外网无法访问kibana
,使用nginx
代理到kibana
,页面就出来了;同时,在配置filebeat
多个路径的时候,logstash
也配置了输出索引,但是就是没有日志出来,页面检查说Elasticsearch
没有找到数据,最后才发现,一定要让logstash
指定/etc/logstash/conf.d/logstash.conf
配置文件,进行启动,那么就有日志出来了,整篇文章,可能有很多写的不到位的地方,请大家多多包含,也可以直接给我们留言,以便修正!