Kibana 是一套基于Elasticsearch的web分析与可视化平台,能对Elasticsearch中的数据进行搜索、查看和分析等交互操作,也能以图表、表格和地图等形式对数据进行可视化,帮助用户更好地理解数据,尤其是大数据。
Kibana 核心产品搭载了一批经典功能:柱状图、线状图、饼图、旭日图,等等。
将地理数据融入任何地图
精选的时序性 UI,对Elasticsearch 中的数据执行高级时间序列分析。
利用 Graph 功能分析数据间的关系
Kibana 开发工具为开发人员提供了多种强大方法来帮助其与 Elastic Stack 进行交互。
在server8上安装配置kibana
(1)获取kibana安装包并安装
(2)配置kibana并启动,启动时会花点时间
vim /etc/kibana/kibana.yml
server.port: 5601 ##服务端口
server.host: "172.25.12.8" ##服务监听地址
elasticsearch.hosts: ["http://172.25.12.1:9200"] ##数据来源,指定ES集群地址
kibana.index: ".kibana" ##kibana在ES中创建的索引
i18n.locale: "zh-CN"
systemctl start kibana
(1)访问kibana
(2)创建索引匹配
管理—>索引模式—>创建索引—>用时间戳进行创建—>ES中的数据就被加载进来了
点击expand—>visualize进入可视化页面
创建可视化,点击指标
创建仪表板
expand—>dashboard
保存web仪表板
物理机上访问测试,ES上的数据同步到kibana
注意:
客户端访问apache的website站点,此时应用会保存我们的日志到access_log里,再由logstash采集写入ES里面,ES在通过kibana做数据展示直接汇总到我们的web界面里
在server4上安装httpd测试工具,进行压力测试,100个访问量
在server2上安装httpd测试工具,进行压力测试,200个访问量
x轴是访问网站的主机ip,y轴是各主机对网站的访问量
进行保存
之前是804,网站总访问量增加300
将柱形图添加到面板中
点击编辑—>添加
在server3上安装httpd测试工具,进行压力测试,400个访问量
以饼图模式展示数据
在server2上,进行压力测试,再增加100个访问量
一旦ES启用了安全认证后,logstash和kibana都需要重新配置,加密之后是不能直接连接的
集群模式需要先创建证书:
当调用这个证书时需要输入密码,为了方便不用输,直接回车
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
cd /etc/elasticsearch
chown elasticsearch elastic-certificates.p12 elastic-stack-ca.p12 ##更改这两个文件的权限,所有人改为elasticsearch
配置所有的elasticsearch集群节点:
把上面的这两个证书文件全部同步到其它节点上(也可以对各个节点指派证书)
同步证书完成之后,需要配置ES文件
vim /etc/elasticsearch/elasticsearch.yml
xpack.security.enabled: true ##启用Xpack安全认证
xpack.security.transport.ssl.enabled: true ##开启ssl加密
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
ES重启后,查看日志可以看到刷新了key,安全认证打开
kibana连接时需要输入认证
ES集群重启正常后,设置用户密码:
中括号里面的都是用户,冒号后面的是密码
解决kibana连接问题
编辑kibana配置文件,设置kibana连接ES的用户和密码:
vim /etc/kibana/kibana.yml
elasticsearch.username: "kibana"
elasticsearch.password: "lzk123"
连接时是kibana用户,登录时可以用其它的用户(elasticsearch)
解决logstash连接ES问题
设置Logstash连接ES用户和密码:
output {
elasticsearch {
hosts => "172.25.12.1:9200"
index => "apachelog-%{+YYYY.MM.dd}"
user => "elastic"
password => "lzk123"
}
}
压力测试一下,数据同步正常,说明Logstash已经连接到ES
解决浏览器上连接ES集群问题(head访问)
在ES配置文件中添加选项
http.cors.allow-headers: Authorization,X-Requested-With,Content-Length,Content-Type //添加参数到es配置
http://172.25.0.13:9100/?auth_user=elastic&auth_password=lzk123
注意:
此步是为了让ES-head可以访问它,不需要用它时可以不加