ELK日志分析平台实战-----(三)-----kibana数据可视化

1.kibana简介

Kibana 核心产品搭载了一批经典功能:柱状图、线状图、饼

图、旭日图,等等。

es可视化导出views的fields_数据

将地理数据融入任何地图

es可视化导出views的fields_数据_02

精选的时序性 UI,对您Elasticsearch 中的数据执行高级时间序列分析

es可视化导出views的fields_elastic_03

利用 Graph 功能分析数据间的关系

es可视化导出views的fields_elastic_04


Kibana 开发工具为开发人员提供了多种强大方法来帮助其与 Elastic Stack 进行交互

es可视化导出views的fields_elastic_05

目前,大部分企业都把kibana当作门户去对待,与企业的各种服务进行整合。

2.kibana安装与配置

kibana下载

https://elasticsearch.cn/download/
# rpm -ivh kibana-7.6.1-x86_64.rpm
[root@server5 ~]# rpm -ivh kibana-7.6.1-x86_64.rpm 
1
[root@server5 ~]# vim /etc/kibana/kibana.yml
server.por t: 5601										 #服务端口
server.hos t: "192.168.43.75" 								#服务监听地址
elasticsearch.hos ts : ["http://192.168.43.74:9200"]		#ES集群地址
kibana.index: ".kibana"									#kibana在ES中创建的索引
i18n.locale: "zh-CN"									#使用中文

启动服务:

[root@server5 ~]# systemctl start kibana.service 
[root@server5 ~]# netstat -tnlp |grep 560
tcp        0      0 192.168.43.75:5601      0.0.0.0:*               LISTEN      8053/node

访问:

es可视化导出views的fields_es可视化导出views的fields_06


然后我们点击 》》使用样例数据

es可视化导出views的fields_elasticsearch_07


然后添加数据,这里我们选择第三个 点击》》添加数据

添加完成之后,点击查看数据,点击仪表盘

es可视化导出views的fields_数据_08

接着点击 管理

es可视化导出views的fields_数据_09


点击索引模式

es可视化导出views的fields_elasticsearch_10


点击创建索引模式

他会在es里面获取索引

es可视化导出views的fields_elasticsearch_11


es可视化导出views的fields_es可视化导出views的fields_12


es可视化导出views的fields_elastic_13


es可视化导出views的fields_es可视化导出views的fields_14


然后我们去发现里面看一下;

es可视化导出views的fields_数据_15


可以找到ES中的数据并进行筛选。

创建一个新的可视化

es可视化导出views的fields_elasticsearch_16


选择指标 点击syslog-*

es可视化导出views的fields_es可视化导出views的fields_17


es可视化导出views的fields_es可视化导出views的fields_18


点击保存,起个名字。

然后我们将它放到一个仪表板里面,创建仪表板

在添加面板中放入我们的日志指标数据

还可以设置刷新时间。我们设置5s一次

访问流程:(这里我们以apache为例)
client -> apache -> save log -> access_log -> logstash -> es -> kibana -> web
客户端访问站点,日志保存在accesslog 中,logstash 做数据采集,放到ES 中,然后再通过kibana展示,整合到web界面中。

我们在创建几个可视化图形:
垂直条行图,对网站的访问量进行一个排行

es可视化导出views的fields_elasticsearch_19

3.启用xpack安全验证

我们发现,任何人都可以连接ES,为了安全起见,集群模式我们需要先创建证书,并且向相关联的logstash和kibana也需要做相应的设置,

这里我们采用的不绑定结点的证书,大家共用一个集群的证书,我们的ES 为我们提供了命令:

[root@server4 ~]# cd /usr/share/elasticsearch/bin/
[root@server4 bin]# ./elasticsearch-certutil ca
The 'ca' mode generates a new 'certificate authority'
This will create a new X.509 certificate and private key that can be used
to sign certificate when running in 'cert' mode.

Use the 'ca-dn' option if you wish to configure the 'distinguished name'
of the certificate authority

By default the 'ca' mode produces a single PKCS#12 output file which holds:
    * The CA certificate
    * The CA's private key

If you elect to generate PEM format certificates (the -pem option), then the output will
be a zip file containing individual files for the CA certificate and private key

Please enter the desired output file [elastic-stack-ca.p12]: # 输出文件
Enter password for elastic-stack-ca.p12 :	# 这里为证书生成密码,就是每次使用证书,就要输入密码,我们这里不做设定
[root@server4 bin]# ./elasticsearch-certutil cert --ca elastic-stack-ca.p12
这里也要输入密码,我们刚才没有设定,直接回车
[root@server4 bin]# cd ..
[root@server4 elasticsearch]# ls
elastic-stack-ca.p12  
elastic-certificates.p12  		## 生成了这两个文件
[root@server4 elasticsearch]# cd /etc/elasticsearch/
[root@server4 elasticsearch]# ll
total 48
-rw------- 1 root elasticsearch  3443 Jun 11 14:54 elastic-certificates.p12
...
-rw------- 1 root elasticsearch  2527 Jun 11 14:54 elastic-stack-ca.p12
 ## 没有权限
[root@server4 elasticsearch]# chown elasticsearch elastic-certificates.p12 elastic-stack-ca.p12		
# 所以我们把文件安交给elasticsearch
[root@server4 elasticsearch]# ll
total 48
-rw------- 1 elasticsearch elasticsearch  3443 Jun 11 14:54 elastic-certificates.p12
...
-rw------- 1 elasticsearch elasticsearch  2527 Jun 11 14:54 elastic-stack-ca.p12

然后拷贝给其它结点,就都可以使用了,我们没有绑定主机。然后改变他们的权限,和上面一样
[root@server4 elasticsearch]# scp elastic-certificates.p12 elastic-stack-ca.p12 server1:/etc/elasticsearch/
[root@server4 elasticsearch]# scp elastic-certificates.p12 elastic-stack-ca.p12 server2:/etc/elasticsearch/

在server1,2,4三个es结点中:修改每个节点的配置

vim elasticsearch.yml 
 
xpack.security.enabled: true
xpack.security.trans port.ssl.enabled: true
xpack.security.trans port.ssl.veri fication_mode: certificate
xpack.security.trans port.ssl.keys tore.path: /etc/elastics earch/elastic-certificates.p12
xpack.security.trans port.ssl.trus tstore.path: /etc/elasticsearch/elasticcertificates.p12
 
 # 在最后加入这些参数,重启服务
systemctl restart elasticsearch.service

然后我们登录kibana时就需要输入密码,不输入的话就会退出,ES也连接不了

用xpack安全验证,设置用户密码:

[root@server4 bin]# ./elasticsearch-setup-passwords interactive
Initiating the setup of passwords for reserved users elastic,apm_system,kibana,logstash_system,beats_system,remote_monitoring_user.
You will be prompted to enter passwords as the process progresses.
Please confirm that you would like to continue [y/N]y


Enter password for [elastic]: 
Reenter password for [elastic]: 
Enter password for [apm_system]: 
Reenter password for [apm_system]: 
Enter password for [kibana]: 
Reenter password for [kibana]: 
Enter password for [logstash_system]: 
Reenter password for [logstash_system]: 
Enter password for [beats_system]: 
Reenter password for [beats_system]: 
Enter password for [remote_monitoring_user]: 
Reenter password for [remote_monitoring_user]: 
Changed password for user [apm_system]
Changed password for user [kibana]
Changed password for user [logstash_system]
Changed password for user [beats_system]
Changed password for user [remote_monitoring_user]
Changed password for user [elastic]

这里每个用户设置了一样的密码,方便操作,刷新一下
设置kibana连接ES的用户密码:

**[root@server5 ~]# vim /etc/kibana/kibana.yml**

然后打开连接ES的用户,重启,这是就要求我们登陆了

es可视化导出views的fields_elastic_20

最后输入账号密码就可以登录成功,登陆进去以后,点击仪表板,可以得到数据,就说明连接时正常的。

注意:这时候我们的ES 依然是访问不了的,我们需要去配置一下:

[root@server4 bin]# vim /etc/elasticsearch/elasticsearch.yml 
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-headers: Authorization,X-Requested-With,Content-Length,Content-Type  # 加上这一行
[root@server4 bin]# systemctl restart elasticsearch.service

然后再访问的时候加上用户和密码就行了。

http://192.168.43.74:9100/?auth_user=elastic&auth_password=xiaoxu

以上就是ELK的一个整体的工作流程!!!!!!!!