Kibana是一个针对Elasticsearch的开源分析及可视化平台,用来搜索、查看交互存储在Elasticsearch索引中的数据。使用Kibana,可以通过各种图表进行高级数据分析及展示。
Kibana让海量数据更容易理解。它操作简单,基于浏览器的用户界面可以快速创建仪表板(dashboard)实时显示Elasticsearch查询动态。
设置Kibana非常简单。无需编码或者额外的基础架构,几分钟内就可以完成Kibana安装并启动Elasticsearch索引监测。
注意:ELK三个部分生产环境中是分布式部署的,由于单机电脑配置的原因,无法再开启虚拟机,因此将kinana部署在server5上。此前server5上已经部署了logstash。
下载地址:https://elasticsearch.cn/download/
(1)Kibana安装
root@server5 ~]# rpm -ivh kibana-7.6.1-x86_64.rpm
(2)Kibana主文件配置
# vim /etc/kibana/kibana.yml
2 server.port: 5601 //服务端口
7 server.host: "0.0.0.0" //监听本机所有端口
25 server.name: "server5" //服务名称(可选)
28 elasticsearch.hosts: ["http://172.25.254.2:9200"] //ES集群地址
115 i18n.locale: "zh-CN" //语言改成中文
(3)打开服务,并了解服务端口
# systemctl enable --now kibana.service
查看端口:
[root@server5 kibana]# netstat -antlp |grep 5601
tcp 0 0 0.0.0.0:5601 0.0.0.0:* LISTEN 3589/node
(1)导入数据/创建索引
根据时间戳创建索引
(2)绘制可视化图形
当然也可以把创建的可视化图形保存起来
我们向172.25.254.5的index.html页面打一些流量:
[root@westos_student50 Desktop]# ab -c1 -n100 http://172.25.254.5/index.html
[root@server3 elasticsearch]# ab -c1 -n100 http://172.25.254.5/index.html
下图展示了,将数据访问量前五的ip以垂直条形图的形式展现出来:
饼图也是如此:
刚刚创建了很多图,这些图很直观也很方便观看,但是这么多可视化需要一个仪表板来做一个统一的展示
当然,我们在实际的生产环境中可以全屏,狂拽酷帅,按F11即可进入/退出全屏。
再次,我们可以设置仪表盘上数据的刷新时间(当然可以手动刷新)
(1)集群模式需要先创建证书——在master节点上执行:
在server2上执行:创建证书
# cd /usr/share/elasticsearch/
# bin/elasticsearch-certutil ca
# bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12
# cp elastic-certificates.p12 elastic-stack-ca.p12 /etc/elasticsearch
# chown elasticsearch elastic-certificates.p12 elastic-stack-ca.p12
将证书复制到集群中其他节点(server3/4),并更改权限
# scp elastic-certificates.p12 [email protected]:/etc/elasticsearch/
# scp elastic-certificates.p12 [email protected]:/etc/elasticsearch/
在server3/4上执行
# chown elasticsearch /etc/elasticsearch/elastic-certificates.p12
配加粗样式置所有的elasticsearch集群节点:
此处一定要注意,修改的是yml文件,一定要注意缩进!!!
# vim /etc/elasticsearch/elasticsearch.yml
在最后添加以下内容 注意一定要注意缩进!!!!
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: /etc/elasticsearch/elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: /etc/elasticsearch/elastic-certificates.p12
(2)完成后重启ES集群所有节点的服务:
在server2/3/4上执行
#systemctl restart elasticsearch.service
(3)ES集群重启正常后,设置用户密码:(交互式的生成密码,否则,将会是自动生成密码auto)
# /usr/share/elasticsearch/bin/elasticsearch-setup-passwords interactive
这里需要设置各种服务的密码,统一都设置成westos,方便管理:
但此时,elasticsearch-head就不能访问了,
所以 设置Logstash连接ES用户密码:
# vim /etc/logstash/conf.d/grok.conf
1 input {
2 file {
3 path => "/var/log/httpd/access_log"
4 start_position => "beginning"
5 }
6 }
7
8 filter {
9 grok {
10 match => { "message" => "%{HTTPD_COMBINEDLOG}" }
11 }
12 }
13
14 output {
15 stdout {}
16 elasticsearch {
17 hosts => ["172.25.254.2:9200"]
18 index => "apachelog-%{+YYYY.MM.dd}"
19 user => "elastic" ###在此处设置用户名和密码
20 password => "westos"
21 }
22 }
添加head访问:设置完成后重启ES
# vim /etc/elasticsearch/elasticsearch.yml
66 http.cors.allow-headers: Authorization,X-Requested-With,Content-Length,Content-Type
# systemctl restart elasticsearch.service
浏览器访问ES-head
http://172.25.254.2:9100/?auth_user=elastic&auth_password=westos
第一步:设置kibana连接ES的用户密码
Kibana在连接es的时候有一个专属的用户:
# vim /etc/kibana/kibana.yml
46 elasticsearch.username: "kibana"
47 elasticsearch.password: "westos"
第二步:重启kibana
systemctl restart kibana.service
第三步:登录kibana
用户名为:elastic ;密码为:westos。次用户具有最高权限。
第四步:设置Metricbeat监测
metricbeat是官方针对logstash打造的轻量级指标采集器,(logstash太重量级了,速度太慢)。生产环境中,ES集群和日志监控集群是分开的,也就是说,数据集群就只搞数据,监控集群就只搞监控。但是这里电脑资源限制,我们将监控集群和数据集群合并在一起了。
上图结束后 点击下一个,会有下图所示内容,按照下图步骤完成安装及配置即可:
以下步骤需要添加哪个节点就在哪个节点设置
step1:安装Metricbeat软件
[root@server2 ~]# rpm -ivh metricbeat-7.6.1-x86_64.rpm
step2:启动加密监控插件xpack,并设置用户名和密码
# cd /etc/metricbeat/modules.d/ //进入metracbeat配置目录
# metricbeat modules enable elasticsearch-xpack //启用xpack插件(目录中有很多模块,实际上该条命令相当于打开了对应模块)
代表我要开启这个应用的监控
添加用户名和密码
# vim /etc/metricbeat/modules.d/elasticsearch-xpack.yml
17 username: "elastic"
18 password: "westos"
step3:更改metricbeat配置文件,添加访问监测集群的用户名和密码
# vim /etc/metricbeat/metricbeat.yml
94 hosts: ["172.25.254.2:9200"] //监测集群地址
101 username: "elastic"
102 password: "westos"
这里要说明一下,step2中我们在/etc/metricbeat/modules.d/elasticsearch-xpack.yml 中标明了 怎么去连接到本机的es集群以取到数据;而step3中 vim /etc/metricbeat/metricbeat.yml 我们表明 将step2中拿到的数据 怎么样将他输入到监测集群。
step4:启动metricbeat服务
[root@server2 metricbeat]# systemctl enable --now metricbeat.service
Created symlink from /etc/systemd/system/multi-user.target.wants/metricbeat.service to /usr/lib/systemd/system/metricbeat.service.
step5:查看kibana,配置成功
下载地址:https://elasticsearch.cn/download/
[root@server2 ~]# rpm -ivh filebeat-7.6.1-x86_64.rpm
filebeat的配置:https://www.elastic.co/guide/en/beats/filebeat/7.6/filebeat-module-elasticsearch.html
按照官方文档配置下列内容:
step1:更改文件
# cd /etc/filebeat/modules.d //进入filebeat配置目录
# filebeat modules enable elasticsearch //启用elasticsearch功能
# vim elasticsearch.yml //更改内容如下
step2:编辑filebeat的主配置文件
# vim /etc/filebeat/filebeat.yml
150 hosts: ["172.25.254.2:9200"] //filebeat生成日志的传送目的地,告诉他收集到的日志传送到哪里
157 username: "elastic"
158 password: "westos"
step3:启动filebeat
# systemctl enable --now filebeat.service