我们在cong12上部署httpd服务器,然后安装filebeat,使用filebeat收集httpd日志文件,把收集到的日志发送给logstash,让logstash过滤日志,把过滤完的日志保存到elasticsearch,然后通过kibana展示出来。
2.4.9.34、 安装httpd
[root@cong12 ~]# yum install -y httpd
2.4.9.35、 启动httpd
[root@cong12 ~]# systemctl start httpd
2.4.9.36、 设置开机自启动
[root@cong12 ~]# systemctl enable httpd
2.4.10、 安装filebeat
2.4.10.37、 上传软件包
[root@cong12 ~]# ls
anaconda-ks.cfg CentOS-Base.repo filebeat-7.3.0-linux-x86_64.tar.gz
2.4.10.38、 解压缩软件
[root@cong12 ~]# tar -zxvf filebeat-7.3.0-linux-x86_64.tar.gz -C /usr/local/
2.4.10.39、 修改配置文件
[root@cong12 ~]# vim /usr/local/filebeat-7.3.0-linux-x86_64/filebeat.yml
- type: log
enabled: true #开启此配置
paths:- /etc/httpd/logs/* #添加收集httpd服务日志
#- /var/log/_.log #注释这4行
#output.elasticsearch:
Array of hosts to connect to.
#hosts: [“localhost:9200”]
output.logstash: #取消注释,把日志放到logstash中The Logstash hosts
hosts: [“192.168.1.11:5044”] #取消注释,修改logstash服务器IP和端口
logging.level: info #调整日志级别
2.4.10.40、 启动服务
[root@cong12 ~]# cd /usr/local/filebeat-7.3.0-linux-x86_64/
[root@cong12 filebeat-7.3.0-linux-x86_64]# ./filebeat &
2.4.10.41、 后台启动
[root@cong12 filebeat-7.3.0-linux-x86_64]# ./filebeat -e -c filebeat.yml &
-e: 记录到stderr并禁用syslog /文件输出
-c, --c FILE: 指定用于Filebeat的配置文件, 如果未指定-c标志,则使用默认配置文件filebeat.yml
2.4.10.42、 查看服务进程
[root@cong12 ~]# ps -ef | grep filebeat
root 12093 2070 0 22:22 pts/1 00:00:00 ./filebeat -e -c filebeat.yml
2.4.10.43、 设置开机自启动
[root@cong12 ~]# echo " cd /usr/local/filebeat-7.3.0-linux-x86_64/ && ./filebeat -e -c filebeat.yml & " >> /etc/rc.local
[root@cong12 ~]# chmod +x /etc/rc.local
2.4.11、 logstash配置
2.4.11.44、 配置logstash文件
[root@cong11 ~]# vim /usr/local/logstash-7.3.0/config/http_logstash.conf
input{
beats {
codec => plain{charset => “UTF-8”} #设置编解码器为utf8
port => “5044”
}
}
output {
stdout { #标准输出,把收集的日志在当前终端显示,方便测试服务连通性
codec => “rubydebug” #编解码器为rubydebug
}
elasticsearch { #把收集的日志发送给elasticsearch
hosts => [ “192.168.1.11:9200” ] # elasticsearch的服务器地址
index => “httpd-logs-%{+YYYY.MM.dd}” #创建索引
}
}
2.4.11.45、 启动logstash
[root@cong11 ~]# logstash -f /usr/local/logstash-7.3.0/config/http_logstash.conf
这里可以看到file beat发送过来的消息,如果没有新消息,可以去刷新http网页
2.4.11.46、 开机自启动
[root@cong11 ~]# echo “nohup logstash -f /usr/local/logstash-7.3.0/config/http_logstash.conf” >> /etc/rc.local
2.4.12、 kibana配置
2.4.12.47、 创建索引
http://192.168.1.11:5601
2.4.12.48、 添加时间过滤器
2.4.12.49、 查看日志
打开新建的索引去查看收集到的日志,可以通过刚才添加的时间过滤器查看你想要的看到的日志。
2.4.12.50、 添加过滤器
我们可以在搜到的日志继续添加过滤器,过滤出我们想要的内容,比如,我想看下httpd的错误日志,那么添加一个log_file.path为/etc/httpd/logs/error_log的过滤器,如果我们监控的服务器比较多,我可以查看特定的主机的httpd错误日志
1、添加类型为log_file.path的过滤器
过滤出cong12这台主机的httpd错误日志
过滤主机的字段名称叫agent.hostname,添加agent.hostname为cong12的过滤器,所有的过滤器字段在显示的日志上面可以看到。
到这里ELK+filebeat部署完成 - /etc/httpd/logs/* #添加收集httpd服务日志