ELK03-综合实践

00:文章简介

本文介绍了ELK一些综合实践:使用filebeat来获取nginx日志,将其输入到logstash中,logstash接收到数据后,定制显示格式,将其输入到elasticsearch中,kibana从elasticsearch中获取数据,并展示到界面。

01:实践流程效果图

1.1:需求简介

1
2
3
在我们的项目中,日志信息会输出到定制的目录里面了,那么接下来,我们就以nignx的日志数据为对象,
使用filebeat来获取这些日志,将其输入到logstash中,logstash接收到数据后,定制显示格式,
将其输入到elasticsearch中,kibana从elasticsearch中获取数据,并展示到当前界面

1.2:流程分析

1
2
3
4
5
6
7
8
1 nginx:
开启日志
2 filebeat:
input为nginx日志,output为logstash
3 logstash:
input为filebeat,output为elasticsearch
4 kibana:
根据定制的索引名称,从 elasticsearch中获取数据。

02:实践

2.1:环境还原

删除之前测试的index

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# logstash节点
systemctl stop logstash

# filebeat节点
systemctl stop filebeat

# kibana节点
systemctl stop kibana

# 删除测试index
root@Filebeat:~# cat del.sh
#!/bin/bash
for index in $(curl -s http://10.0.0.110:9200/_cat/indices | awk '{print $3}')
do
curl -XDELETE 10.0.0.110:9200/$index
done

2.2:nginx配置

1
2
3
4
5
6
7
8
9
10
# filebeat节点
安装nginx
apt install nginx -y

tail -f /var/log/nginx/access.log

# other访问产生日志
curl 10.0.0.114
curl 10.0.0.114
curl 10.0.0.114

2.3:filebeat配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 备份配置文件
cd /etc/filebeat/
mkdir backup
cp filebeat.yml backup/filebeat.bak-20210824

# 修改配置文件
root@Filebeat:/etc/filebeat# grep -Env '#|^$' filebeat.yml
15:filebeat.inputs:
21:- type: log
24: enabled: true
27: paths:
28: - /var/log/nginx/*.log
192:output.logstash:
194: hosts: ["10.0.0.112:5044"]

# 启动filebeat
systemctl start filebeat

2.4:logstash配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
cd /etc/logstash/conf.d/
mkdir ../conf.bak
cp logstash.conf ../conf.bak/logstash.bak-20210824
root@Logstash:/etc/logstash/conf.d# cat logstash.conf
# Sample Logstash configuration for creating a simple
# Beats -> Logstash -> Elasticsearch pipeline.

input {
beats {
port => 5044
}
}

output {
elasticsearch {
hosts => ["http://10.0.0.110:9200"]
index => "nginx-%{+YYYY.MM.dd}"
}
}

# 启动
systemctl start logstash

2.5:elasticsearch查看效果

2.6:kibana配置

1
2
3
# kibana节点
systemctl start kibana
netstat -ntulp | grep 5601

添加数据方法2种方法:

2.6.1:添加数据

第一种:菜单栏==>【Analytics】==>【Overview】==>【Add your data】

第二种:菜单栏==>【management】==>【Stack Management】==>【Kibana】==>【Index Patterns】

2.6.2:配置索引

【Index pattern name】==>【确认搜索的索引是否正确】==>【Next step】

2.6.3:配置索引的时间段

【Time field】==>【Create index pattern】

2.6.4:确认数据

确认创建出来的数据准确

2.6.5:查看数据

菜单栏==>【Analytics】==>【Discover】==>查看数据

这里可以快速回到添加索引的位置

2.6.6:界面说明

2.6.7:创建一个新的filter

选择Add fiter 和在KQL中写message is 200 是一个效果

2.6.8:查看日志的具体信息

可以通过记录中的”展开”符号来看具体信息