3.2.6、启动logstash
启动
systemctl start logstash
查看
systemctl status logstash
设置开机启动
systemctl enable logstash
3.2.7、测试logstash
--config.test_and_exit
表示,检查测试创建的logstash.conf配置文件,是否有问题,如果没有问题,执行之后,显示Configuration OK 证明配置成功!
/usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/logstash.conf --config.test_and_exit
**如果报错:WARNING: Could not find logstash.yml which is typically located in $LS_HOME/config or /etc/logstash. You can specify the path using –path.settings. **
解决办法:
cd /usr/share/logstash ln -s /etc/logstash ./config
3.2.8、logstash指定配置进行运行
指定logstash.conf
配置文件,以后台的方式运用,执行这段命令之后,需要回车一下
nohup /usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/logstash.conf &
检查logstash是否启动
ps -ef|grep logstash
显示如下信息,说明启动了
3.3、kibana安装
3.3.1、安装kibana
rpm -ivh kibana-6.1.0-x86_64.rpm
搜索rpm包
rpm -ql kibana
默认是装在/usr/share/kibana/下。
3.3.2、修改kibana.yml
修改kibana的配置文件
vim /etc/kibana/kibana.yml
内容如下:
#kibana页面映射在5601端口 server.port: 5601 #允许所有ip访问5601端口 server.host: "0.0.0.0" #elasticsearch所在的ip及监听的地址 elasticsearch.url: "http://localhost:9200"
3.3.3、启动kibana
启动
systemctl start kibana
查看状态
systemctl status kibana
设置开机启动
systemctl enable kibana
3.4、配置nginx 访问
3.4.1、安装nginx和http用户认证工具
yum -y install epel-releaseyum -y install nginx httpd-tools
3.4.2、修改nginx配置
cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bakvim /etc/nginx/nginx.conf
将location
配置部分,注释掉
创建kibana.conf
文件
vim /etc/nginx/conf.d/kibana.conf
内容如下:
server { listen 8000; #修改端口为8000 server_name kibana; #auth_basic "Restricted Access"; #auth_basic_user_file /etc/nginx/kibana-user; location / { proxy_pass http://127.0.0.1:5601; #代理转发到kibana proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } }
重新加载配置文件
systemctl reload nginx
到这一步,elk基本配置完了,输入如下命令,启动服务
# 启动ELK和nginx systemctl restart elasticsearch logstash kibana nginx #查看ELK和nginx启动状态 systemctl status elasticsearch logstash kibana nginx
在浏览器输入ip:8000, 就可以访问了kibana
04、Linux节点服务器安装配置filebeat
4.1、安装filebeat
yum localinstall -y filebeat-6.2.4-x86_64.rpm
4.2、启动kibana
启动
systemctl start filebeat
查看状态
systemctl status filebeat
设置开机启动
systemctl enable filebeat
4.3、修改配置Filebeat
编辑filebeat.yml文件
vim /etc/filebeat/filebeat.yml
#============= Filebeat prospectors =============== filebeat.prospectors: - input_type: log enabled: true #更改为true以启用此prospectors配置。 paths: #支持配置多个文件收集目录 #- /var/log/*.log - /var/log/messages #==================== Outputs ===================== #------------- Elasticsearch output --------------- #output.elasticsearch: # Array of hosts to connect to. #hosts: ["localhost:9200"] #---------------- Logstash output ----------------- output.logstash: # The Logstash hosts hosts: ["localhost:5044"]
注意:注释掉Elasticsearch output
下面的部分,将Filebeat收集到的日志输出到 Logstash output
最后重启服务
systemctl restart filebeat
4.4、登录kibana,创建索引,并且搜集数据
LK+ Filebeat的安装,到此,就基本结束了,以上只是简单的部署完了。
但是,还满足不了需求,比如,一台服务器,有多个日志文件路径,改怎么配置,接下来,我们来分类创建索引!
05、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今天收集的日志信息!
06、总结
整个安装过程已经介绍完了,安装比较简单,复杂的地方就是配置了,尤其是logstash
、kibana
、nginx
、filebeat
,这几个部分,看了网上很多的介绍,elk配置完之后,外网无法访问kibana
,使用nginx
代理到kibana
,页面就出来了;同时,在配置filebeat
多个路径的时候,logstash
也配置了输出索引,但是就是没有日志出来,页面检查说Elasticsearch
没有找到数据,最后才发现,一定要让logstash
指定/etc/logstash/conf.d/logstash.conf
配置文件,进行启动,那么就有日志出来了,整篇文章,可能有很多写的不到位的地方,请大家多多包含,也可以直接给我们留言,以便修正!