目录
一、基本简介
编辑
二、安装
三、创建可视化访问量的指标
四、创建可视化访问量的垂直条形图
五、启动xpack安全验证
官放文档:Explore Kibana using sample data | Kibana Guide [7.6] | Elastic
一、基本简介
kibana主要从es里面加载数据然后展示数据。Kibana 核心产品搭载了一批经典功能:柱状图、线状图、饼图、旭日图,等等。还可以将地理数据融入任何地图。
Kibana 开发工具为开发人员提供了多种强大方法来帮助其与 Elastic Stack 进行交互;
kibana的功能是非常强大,但在运行过程中也是比较消耗内存的。
二、安装
官方下载地址:Install Kibana with RPM | Kibana Guide [7.6] | Elastic
##选择在线安装和离线安装两种,安装时需要保证ELK三个插件保持一致
##与logstash安装在同一台主机上
##下载并安装
wget https://artifacts.elastic.co/downloads/kibana/kibana-7.6.2-x86_64.rpm
shasum -a 512 kibana-7.6.2-x86_64.rpm
sudo rpm --install kibana-7.6.2-x86_64.rpm
##修改配置文件:/etc/kibana
--------------------------------------------------------------
server.port:5601 --指定主机和端口
server.host:"192.168.19.75"
elasticsearch.hosts:["http://192.168.19.71:9200"] --指定ES集群地址和 kibana在ES中创建的索引;
kibana.index: ".kabana"
il8n.locale: "zh-CN" --设置为中文
--------------------------------------------------------------
##启动服务
systemctl start kibana.service
##网页访问
192.168.19.75:5601
-->可以添加样例数据查看效果
三、创建可视化访问量的指标
##在web端
创建一个索引,查看之前的存在es中的apache的日志数据
管理 -> 索引模式 -> 创建索引模式
选择apachelog-这个索引 -> 下一步
选择时间戳 -> 创建索引模式,现在就创建了一个和apache的日志相关联的索引了
可视化 -> 创建可视化 --可以看到访问次数注意时间范围的选择,默认是过去15分钟的数据
保存
##运行grok.conf文件,采集数据输入给es
/usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/grok.conf
##真机压力测试,总共访问100次192.168.19.71/index.html,并发数为1
ab -n 100 -cl http://192.168.19.71/index.html
##刷新kibana,查看数据
##查看es,以及相应的索引
四、创建可视化访问量的垂直条形图
##点击可视化->创建可视化
选择垂直条形图->选择索引
Y轴是访问的次数,默认没有X轴,添加X轴;选择词来定义,使用客户ip作为X轴,降序排列,看最高的前五名,执行
##web页面查看
可以看到条形图,可以看到相应主机对apache的访问量
##保存
##将两个图放在一起分析
点击仪表板 -> 添加
添加websit和top5 --刚才保存的项目起的名字
##网页查看,可以发现两组数据在一起
##保存
五、启动xpack安全验证
目前部署的ELK三个软件端口都是开放的,任何人都能访问,没有任何安全保障,容易受到攻击,比如日志索引被删除等恶意行为。所以使用 xpack安全组件来保护ELK,这样es都是内部运行的,不暴露外网,更安全。
##点击集群监控,选择monitoring监控
点击设置模式
##配置所有es的的安全认证
##配置传输层,使es集群可以通信
server1进入/usr/share/elasticsearch/,调用bin目录下的指令,使用elasticsearch-certutil工具生成ca,密码可以不指定(直接回车)
##生成证书
elasticsearch-certutil cert --ca elastic-stack-ca.p12
##将证书复制到/etc/elasticsearch
cp elastic-stack-ca.p12 /etc/elasticsearch
##修改权限:文件拥有者改为 elasticsearch,方便访问
chown elasticsearch elastic-stack-ca.p12
##修改主配置文件:vim elastic-stack-ca.p12.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-certificate.p12
xpack.security.transport.ssl.truststore.path: /etc/elasticsearch/elastic-certificate.p12
-------------------------------------------------------
##证书分别分给集群中的每一次节点server2/3
scp elastic-certificate.p12 server2:/etc/elasticsearch
scp elastic-certificate.p12 server3:/etc/elasticsearch
##修改两个文件的权限server2\3
chown elasticsearch elastic-certificate.p12
##修改主配置文件,开启服务:server2/3
-------------------------------------------------------
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-certificate.p12
xpack.security.transport.ssl.truststore.path: /etc/elasticsearch/elastic-certificate.p12
-------------------------------------------------------
##重启服务
systemctl restart elasticsearch.service
##设置密码
bin/elasticsearch-setup-passwords interactive
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
命令行输入相同的密码:123
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
##设置kibana(server3)连接ES的用户密码
vim /etc/kibana/kibana.yml
---------------------------------
elasticsearch.username: "kibana"
elasticsearch.passwdor: "123"
---------------------------------
##重启服务
systemctl restart kibana
##在网页端重新登录,登录时使用elastic,提供更多的操作权限
##设置logstash(server1)连接ES用户
vim grok.conf
------------------------------------------------------------------
input {
file {
path => "/var/log/httpd/access_log" --/var/log/httpd/access_log文件作为输入
start_position => "beginning" --从头开始
}
}
filter {
grok {
match => { "message" => "%{HTTPD_COMBINEDLOG}" } --按照默认的HTTPD_COMBINEDLOG方式切片
}
}
output {
stdout {}
elasticsearch {
hosts => ["192.168.19.71:9200"]
index => "apachelog-%{+yyyy.MM.dd}" --索引名字叫apachelog
user => "elastic"
password => "123"
}
}
------------------------------------------------------------------
##执行
/usr/share/logstash/bin/logstash -f grok.conf
##设置elasticsearh-head(server1)
##修改主配置/etc/elasticsearch/elasticsearch.yml
------------------------------------------------------------------
http.port: 9200
http.cors.enabled: true
http.cors.allow-origin: ""
http.cors.allow-headers: Authorization,X-Requested-With,Content-Length,Content-Type
------------------------------------------------------------------
##重启服务
systemctl restart elasticsearch.service
##访问:需要添加用户和密码
--http://192.168.19.71:9100/?auth_user=elastic&auth_password=123