Kibana简介
- Kibana可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助汇总、分析和搜索重要数据日志。
- Kibana 核心产品搭载了一批经典功能:柱状图、线状图、饼图、旭日图,等等。可以将地理数据融入任何地图;精选的时序性 UI,对Elasticsearch 中的数据执行高级时间序列分析;利用 Graph 功能分析数据间的关系;Kibana 开发工具为开发人员提供了多种强大方法来帮助其与 Elastic Stack 进行交互。
安装配置
设置服务端口和服务监听地址(都是本机的)
[root@server4 /mnt] cd /etc/kibana/
[root@server4 /etc/kibana] ls
apm.js kibana.yml
[root@server4 /etc/kibana] vim kibana.yml
[root@server4 /etc/kibana] systemctl start kibana.service
[root@server4 /etc/kibana] netstat -antlp | grep :5601
tcp 0 0 172.25.51.4:5601 0.0.0.0:* LISTEN 19307/node
server.port: 5601
server.host: "172.25.0.17"
elasticsearch.hosts: ["http://172.25.0.13:9200"]
kibana.index: ".kibana"
i18n.locale: "zh-CN"
设置ES集群地址、kibana在ES中创建的索引
页面用法
访问kibana端的5601端口 添加官方准备好的模板
可视化现有 Elasticsearch 索引中的数据
创建索引 将es中的apache的索引筛选出来 创建了一个和apache的日志相关联的索引了 选择索引apachelog
创建可视化柱状图
集群主机进行一定次数的访问
for i in {1..77};do curl 172.25.51.4 ;done
[root@server4 /etc/logstash/conf.d] /usr/share/logstash/bin/logstash -f grok.conf
保存
创建可视化仪表盘图
保存
创建仪表板
创建一个仪表板将上面保存的不同的图放到一起对比显示
启用xpack安全验证
- 目前部署的ELK三个软件端口都是开放的,任何人都能访问,没有任何安全保障,容易受到攻击,比如日志索引被删除等恶意行为,所以使用 xpack安全组件来保护ELK,这样es都是内部运行的,不暴露外网,更安全。
集群模式需要先创建证书,先配置传输层,使es集群可以通信
[root@server1 /etc/elasticsearch] cd /usr/share/elasticsearch/
[root@server1 /etc/elasticsearch] bin/elasticsearch-certutil ca
[root@server1 /etc/elasticsearch] bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12
[root@server1 /etc/elasticsearch] cp elastic-certificates.p12 elastic-stack-ca.p12 /etc/elasticsearch
[root@server1 /etc/elasticsearch] cd /etc/elasticsearch
[root@server1 /etc/elasticsearch] chown elasticsearch elastic-certificates.p12 elastic-stack-ca.p12
配置所有的elasticsearch集群节点 server1、2、3都做 开启xpack安全验证,重新启动elasticsearch服务
[root@server1 /etc/elasticsearch] 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、3,拷贝证书到集群中的其它节点server2,做同server1一样的修改;开启xpack安全验证,重新启动elasticsearch服务
[root@server1 /etc/elasticsearch] scp elastic-certificates.p12 server2:/etc/elasticsearch/
root@server2's password:
elastic-certificates.p12 100% 3451 3.4MB/s 00:00
[root@server1 /etc/elasticsearch] scp elastic-certificates.p12 server3:/etc/elasticsearch/
root@server3's password:
elastic-certificates.p12 100% 3451 3.4MB/s 00:00
server2、3给定权限
[root@server2 ~] cd /etc/elasticsearch
[root@server2 /etc/elasticsearch] chown elasticsearch elastic-certificates.p12
[root@server3 ~] cd /etc/elasticsearch
[root@server3 /etc/elasticsearch] chown elasticsearch elastic-certificates.p12
以上操作完成,重启服务
systemctl restart elasticsearch.service
ES集群重启正常后,设置用户密码
[root@server1 /usr/share/elasticsearch/bin] ./elasticsearch-setup-passwords interactive
kibana端设置 访问kibana已经需要用户名密码了 刷新需要登陆,登录进去会发现kibana状态为红即没有正常运行 server4,所以设置kibana,修改主配置文件。添加访问es集群的用户和密码,然后重启kibana
[root@server4 /etc/kibana] vim /etc/kibana/kibana.yml
[root@server4 /etc/kibana] systemctl restart kibana.service
logstash端设置 server4,采集本机apache的数据时需要添加用户名和密码才可以正常运行采集
[root@server4 ~] cd /etc/logstash/conf.d/
[root@server4 /etc/logstash/conf.d] vim grok.conf
[root@server4 /etc/logstash/conf.d] /usr/share/logstash/bin/logstash -f grok.conf
server1的/etc/elasticsearch目录,修改主配置文件,允许head认证并重启服务
[root@server1 /etc/elasticsearch] vim /etc/elasticsearch/elasticsearch.yml
[root@server1 /etc/elasticsearch] systemctl restart elasticsearch.service
在浏览器加上验证后缀访问成功
metricbeat轻量级采集工具
- logstash是负责采集数据的,是入口,流向为logstash-> ES->kibana,但是它的资源消耗很大,有时候没那么多内存给他占用,同时有些定制的采集指标logstash无法满足。所以我们想使用轻量级的采集工具metricbeat来实现采集,流向为metricbeat-> ES->kibana,可以获取系统级的 CPU 使用率、内存、文件系统、磁盘 IO 和网络 IO 统计数据,还可针对系统上的每个进程获得与 top 命令类似的统计数据。同时Metricbeat 提供多种内部模块,用于从服务中收集指标,例如 Apache、NGINX、MongoDB、MySQL、PostgreSQL、Prometheus、Redis 等等。
kibana控制台
-
控制台插件提供一个用户界面来和 Elasticsearch 的 REST API(REST就是一种设计API的模式) 交互。控制台有两个主要部分: editor ,用来编写提交给 Elasticsearch 的请求; response 面板,用来展示请求结果的响应。 -
由于我们开启了xpack,想要输入命令时还需要用户密码,这里还有一个更加方便的方法,使用kibana的控制台,可以直接输入命令,还不用用户密码,因为登陆kibana时已经输入过了。控制台实际还是后台调用了API,找es执行,再返回给kibana展示。 当敲入一行命令,控制台会给出上下文相关的提示。这些提示可以探索每条 API 参数,或者用于提高输入速度。控制台会提示 APIs 、索引和字段名。 一旦在左边的面板中敲入命令,可以点击 URL 行边上的绿色小三角提交这条请求到 Elasticsearch。注意,当移动光标的时候,会有一个小三角和扳手图标跟随着。我们把这个叫做动作菜单。也可以选择写多条请求并一起提交它们。
|