ELK日志监控平台(三)---kibana数据可视化

目录

一、基本简介

​编辑

 二、安装

 三、创建可视化访问量的指标

四、创建可视化访问量的垂直条形图

五、启动xpack安全验证


官放文档:Explore Kibana using sample data | Kibana Guide [7.6] | Elastic

一、基本简介

        kibana主要从es里面加载数据然后展示数据。Kibana 核心产品搭载了一批经典功能:柱状图、线状图、饼图、旭日图,等等。还可以将地理数据融入任何地图。

        Kibana 开发工具为开发人员提供了多种强大方法来帮助其与 Elastic Stack 进行交互;
kibana的功能是非常强大,但在运行过程中也是比较消耗内存的。

ELK日志监控平台(三)---kibana数据可视化_第1张图片

 二、安装

官方下载地址: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

你可能感兴趣的:(elasticsearch,elk,大数据)