ELK(ELK日志分析平台)——kibana数据可视化+启用xpack安全验证
一、kibana简介
Kibana 核心产品搭载了一批经典功能:柱状图、线状图、饼图、旭日图,等等。
Kibana是一个开源的分析与可视化平台,设计出来用于和Elasticsearch一起使用的。你可以用kibana搜索、查看存放在Elasticsearch中的数据。Kibana与Elasticsearch的交互方式是各种不同的图表、表格、地图等,直观的展示数据,从而达到高级的数据分析与可视化的目的。
Elasticsearch、Logstash和Kibana这三个技术就是我们常说的ELK技术栈,可以说这三个技术的组合是大数据领域中一个很巧妙的设计。一种很典型的MVC思想,模型持久层,视图层和控制层。Logstash担任控制层的角色,负责搜集和过滤数据。Elasticsearch担任数据持久层的角色,负责储存数据。而我们这章的主题Kibana担任视图层角色,拥有各种维度的查询和分析,并使用图形化的界面展示存放在Elasticsearch中的数据。
将地理数据融入任何地图
精选的时序性 UI,对您Elasticsearch 中的数据执行高级时间序列分析。
利用 Graph 功能分析数据间的关系
Kibana 开发工具为开发人员提供了多种强大方法来帮助其与 Elastic Stack 进行交互。
二、kibana安装与配置
2.1kibana下载安装
https://elasticsearch.cn/download/
[root@server8 ~]# rpm -ivh kibana-7.6.1-x86_64.rpm
warning: kibana-7.6.1-x86_64.rpm: Header V4 RSA/SHA512 Signature, key ID d88e42b4: NOKEY
Preparing... ################################# [100%]
Updating / installing...
1:kibana-7.6.1-1 ################################# [100%]
2.2kibana配置
vim /etc/kibana/kibana.yml
2 server.port: 5601 #服务端口
7 server.host: "172.25.0.17" #服务监听地址
28 elasticsearch.hosts: ["http://172.25.0.13:9200"] #ES集群地址
37 kibana.index: ".kibana" #kibana在ES中创建的索引
115 i18n.locale: "zh-CN"
2.3启动kibana服务
[root@server8 ~]# systemctl start kibana.service
[root@server8 ~]# systemctl enable kibana.service
Created symlink from /etc/systemd/system/multi-user.target.wants/kibana.service to /etc/systemd/system/kibana.service.
netstat -antlp|grep 5601
tcp 0 0 172.25.0.17:5601 0.0.0.0:* LISTEN 1159/node
2.4访问kibana

2.5kibana使用




注意选择时间
2.6创建可视化





然后保存名称为:apache website

2.7测试访问一下
[root@client Desktop]# ab -c 1 -n 100 http://172.25.254.7:/var/www/html/index.html

流程:客户端访问http服务—日志保存到access_log当中----logstash数据采集-----写入es日志分析平台-----kibana数据展示----最后汇总到web页面,如上图
2.8把访问量做成一个垂直条形图


如上图:当前只有一台主机有访问量
[root@server4 ~]# yum install -y httpd-tools
[root@server5 ~]# yum install -y httpd-tools
[root@server6 ~]# yum install -y httpd-tools
[root@server4 ~]# ab -c 1 -n 100 http://172.25.254.7/index.html
[root@server5 ~]# ab -c 1 -n 300 http://172.25.254.7/index.html
[root@server6 ~]# ab -c 1 -n 400 http://172.25.254.7/index.html


把上面制作的垂直条形图放入仪表板里面




2.9创建可视化饼图
与创建垂直条形图操作相似

三、启用xpack安全验证
3.1集群模式需要先创建证书
[root@server4 ~]# cd /usr/share/elasticsearch/ 进入目录
[root@server4 elasticsearch]# ls
bin jdk lib LICENSE.txt modules NOTICE.txt plugins README.asciidoc
[root@server4 elasticsearch]# cd bin/ 进如目录
[root@server4 bin]# ls
elasticsearch elasticsearch-croneval elasticsearch-migrate elasticsearch-setup-passwords elasticsearch-syskeygen x-pack-security-env
elasticsearch-certgen elasticsearch-env elasticsearch-node elasticsearch-shard elasticsearch-users x-pack-watcher-env
elasticsearch-certutil elasticsearch-env-from-file elasticsearch-plugin elasticsearch-sql-cli package-lock.json
elasticsearch-cli elasticsearch-keystore elasticsearch-saml-metadata elasticsearch-sql-cli-7.6.1.jar x-pack-env
[root@server4 bin]# ./elasticsearch-certutil ca
[root@server4 bin]# /elasticsearch-certutil cert --ca elastic-stack-ca.p12





3.2更改所有elasticsearch集群节点:
server5/6/4
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
重启服务
3.3ES集群重启正常后,设置用户密码:
[root@server4 elasticsearch]# cd /usr/share/elasticsearch/bin/
[root@server4 bin]# ./elasticsearch-setup-passwords interactive
[ ]中括号内都是用户输入的密码都是westos
3.4设置kibana连接ES的用户密码:
在kibana主机上设置用户和密码
vim /etc/kibana/kibana.yml
46 elasticsearch.username: "kibana"
47 elasticsearch.password: "westos"
systemctl restart kibana.service
/etc/logstash/conf.d
[root@server7 conf.d]# vim apache.conf
input {
file {
path => "/var/log/httpd/access_log"
start_position => "beginning"
}
}
filter{
grok {
match => { "message" => "%{HTTPD_COMBINEDLOG}" }
}
}
output {
stdout {}
elasticsearch {
hosts => ["172.25.254.6:9200"]
index => "apachelog-%{+YYYY.MM.dd}"
设置Logstash连接ES用户密码:
user => "elastic" 指定用户(可以是在es主机上刚才创建的所有用户的其中之一)
password => "westos" 指定密码
}
}
3.5head访问:
[root@server4 ~]# vim /etc/elasticsearch/elasticsearch.yml
http.cors.allow-headers: Authorization,X-Requested-With,Content-Length,Content-Type
添加参数到es配置使head可以访问
[root@server4 ~]# systemctl restart elasticsearch.service
做完加密认证之后访问测试
http://172.25.254.4:9100/?auth_user=elastic&auth_password=westos



魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)