Kibana 是一款开源的数据分析和可视化平台,它是 Elastic Stack 成员之一,设计用于和 Elasticsearch 协作。可以使用 Kibana 对 Elasticsearch 索引中的数据进行搜索、查看、交互操作。
官网
下载地址,选择对应的版本:传送门
# 下载
wget https://artifacts.elastic.co/downloads/kibana/kibana-8.8.1-linux-x86_64.tar.gz
# 解压
tar -zxvf kibana-8.8.1-linux-x86_64.tar.gz
# 重命名
mv kibana-8.8.0 kibana
然后在进入kibana目录,找到config文件夹下的kibana.yml进行配置的修改
[root@elk-node1 config]# pwd
/opt/elk/kibana/config
[root@elk-node1 config]# vim kibana.yml
然后找到下面的内容
#对外暴露服务的地址
server.host: "0.0.0.0"
#配置Elasticsearch所在的IP地址
elasticsearch.hosts: ["http://192.168.40.150:9200"]
修改配置完成后,我们就可以启动kibana了
#启动
./bin/kibana
点击启动,发现报错了
原因是kibana不能使用root用户进行启动,所以我们可以切换到es用户来启动
# 将soft文件夹的所属者改成elsearch
chown es:es /kibana -R
# 切换用户
su es
# 启动
./bin/kibana
# 或者使用--allow-root启动也可以
./bin/kibana --allow-root
然后打开下面的地址,即可访问kibana了
http://192.168.40.150:5601/
然后我们就输入匹配规则进行匹配,然后选择时间字段,一般选择第一个
索引创建完毕查看字段
然后我们就可以往nginx error.log日志文件中,添加错误记录
echo "hello error" >> error.log
追加3条数据,然后到kibana的discover中,刷新页面,就能够看到我们刚添加的日志了,同时我们点击右侧还可以选择需要展示的字段,非常的方便
注意:如果想要看到这个现象,首先要将之前的filebeat里的nginx-log.yml文件启动
./filebeat -e -c nginx-log.yml
然后需要在discover中添加显示的字段,如果kibana运行着突然挂掉了,增加一下jvm的内存,然后重新启动集群
[es@elk-node2 config]$ pwd
/opt/elk/elsearch/config
[es@elk-node2 config]$ cat jvm.options
-Xms1g
-Xmx1g
点击右上角,我们还可以针对时间来进行过滤
现在将Metricbeat的数据展示在Kibana中,首先需要修改我们的MetricBeat配置
#修改metricbeat的配置文件
setup.kibana:
host: "192.168.40.150:5601"
#安装仪表盘到Kibana[需要确保Kibana在正常运行,这个过程可能会有些耗时]
./metricbeat setup --dashboards
安装完成后,如下所示
启动Metricbeat
# 启动
./metricbeat -e
然后到kibana页面下,就可以看到安装的仪表盘了
选择Metricbeat的nginx仪表盘即可
我们可以和刚刚Metricbeat的仪表盘一样,也可以将filebeat收集的日志记录,推送到Kibana中
首先我们需要修改filebeat的nginx-log.yml配置文件
filebeat.inputs:
setup.template.settings:
index.number_of_shards: 3
output.elasticsearch:
hosts: ["192.168.40.150:9200","192.168.40.137:9200","192.168.40.138:9200"]
filebeat.config.modules: # 模块配置路径
path: ${path.config}/modules.d/*.yml
setup.kibana:
host: "192.168.40.150:5601"
然后安装仪表盘
./filebeat -c nginx-log.yml setup
等待一会后,仪表盘也安装成功了
然后我们启动filebeat即可
./filebeat -e -c nginx-log.yml
启动完成后,回到Kibana中,找到Dashboard,添加filebeat - nginx
然后就能看到我们的仪表盘了,上图就是请求的来源
需要注意的是,这些仪表盘本身是没有的,我们需要通过filebeat来进行安装