运维实操——日志分析系统ELK(下)之kibana数据可视化、xpack安全验证、metricbeat、控制台


接上篇,server3、server4、server5,是Elasticsearch集群。server6是logstash。本文学习kibana

1、什么是kibana?

kibana主要从es里面加载数据然后展示数据。Kibana 核心产品搭载了一批经典功能:柱状图、线状图、饼图、旭日图,等等
在这里插入图片描述
还可以将地理数据融入任何地图
在这里插入图片描述
Kibana 开发工具为开发人员提供了多种强大方法来帮助其与 Elastic Stack 进行交互
在这里插入图片描述
总之kibana的功能非常强大。当然了这也就意味着比较吃内存

2、kibana安装

官网https://elasticsearch.cn/download/下载rpm包,注意ELK版本要都一致
由于开启虚拟机数量太多了,本文kibana安装在了server6,和logstash是同一台虚拟机
安装kibana,进入/etc/kibana,修改配置文件
在这里插入图片描述
指定端口kibana的开放端口为5601,kibana主机ip为172.25.77.6
在这里插入图片描述
指定es集群的主机ip,指定kibana的索引
在这里插入图片描述
设置为中文
在这里插入图片描述
开启kibana,开放了5601端口
在这里插入图片描述
网页访问http://172.25.77.6:5601,进入kibana
在这里插入图片描述
先添加样例数据,看看效果
在这里插入图片描述
查看
在这里插入图片描述
各种各样的图,功能强大
在这里插入图片描述
当然es也相应的产生了几个新的索引
在这里插入图片描述

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

接下来我们创建一个索引,查看之前的存在es中的apache的日志数据
管理 -> 索引模式 -> 创建索引模式
在这里插入图片描述
选择apachelog-这个索引 -> 下一步
在这里插入图片描述
选择时间戳 -> 创建索引模式,现在就创建了一个和apache的日志相关联的索引了
在这里插入图片描述
可视化 -> 创建可视化
在这里插入图片描述
选择可视化类型为指标
在这里插入图片描述
选择索引apachelog-

在这里插入图片描述
可以看到访问次数为4,之前确实测试访问了四次。这里要注意时间范围的选择,默认是过去15分钟的数据,那样肯定看不到访问的次数
在这里插入图片描述
保存
在这里插入图片描述
执行grok.conf文件,即运行logstash,才能采集数据,输入给es
在这里插入图片描述
真机压力测试,总共访问100次172.25.77.6/index.html,并发数为1
在这里插入图片描述
可以看到kibana变为了104,如果没变,点击右上角的refresh刷新
在这里插入图片描述
同理server3也可以压力测试
在这里插入图片描述
在这里插入图片描述
可以看到kibana变为了304次
在这里插入图片描述

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

可视化 -> 创建可视化
在这里插入图片描述
垂直条形图
在这里插入图片描述
选择索引
在这里插入图片描述
Y轴是访问的次数,默认没有X轴,添加X轴
在这里插入图片描述
选择词来定义,使用客户ip作为X轴,降序排列,看最高的前五名,执行
在这里插入图片描述
可以看到条形图,可以看到server3访问了200次,这几访问了104次
在这里插入图片描述
保存
在这里插入图片描述
上面两个图能放在一起分析吗?可以的
仪表板 -> 添加
在这里插入图片描述
添加websit和top5
在这里插入图片描述
放在一起了,公司中可以把该界面投到一个大电视上,实时监控数据信息
在这里插入图片描述
保存
在这里插入图片描述
server4也压力测试
在这里插入图片描述
实时数据监测
在这里插入图片描述

5、启用xpack安全验证

目前部署的ELK三个软件端口都是开放的,任何人都能访问,没有任何安全保障,容易受到攻击,比如日志索引被删除等恶意行为,所以使用 xpack安全组件来保护ELK,这样es都是内部运行的,不暴露外网,更安全。

(1)设置es集群

先配置传输层,使es集群可以通信
server3进入/usr/share/elasticsearch/,使用elasticsearch-certutil工具生成ca,密码可以空,方便使用
在这里插入图片描述
server3使用ca创建证书elastic-stack-ca.p12
在这里插入图片描述
密码可以为空,直接回车
在这里插入图片描述
把证书复制到elasticsearch的配置目录,文件拥有者改为 elasticsearch,以便elasticsearch可以使用证书,或者直接改权限大小也行。
在这里插入图片描述
修改elasticsearch的主配置文件
在这里插入图片描述
添加五句话,开启xpack安全验证
在这里插入图片描述
server3拷贝证书到集群中的其它节点server4和server5
在这里插入图片描述
server4把文件拥有者改为 elasticsearch,修改elasticsearch的主配置文件
在这里插入图片描述
server4添加五句话,开启xpack安全验证
在这里插入图片描述
server5把文件拥有者改为 elasticsearch,修改elasticsearch的主配置文件
在这里插入图片描述
server5添加五句话,开启xpack安全验证
在这里插入图片描述
server3重启elasticsearch
在这里插入图片描述
server4重启elasticsearch
在这里插入图片描述
server5重启elasticsearch
在这里插入图片描述
查看9200端口正常启动,es集群正常
在这里插入图片描述
ES集群重启正常后,server3交互式设置用户密码全部为westos
在这里插入图片描述

(2)设置kibana

server6进入/etc/kibana,修改主配置文件。添加访问es集群的用户和密码
在这里插入图片描述
重启kibana,5601端口正常
在这里插入图片描述
重新登陆kibana
在这里插入图片描述
正常了
在这里插入图片描述

(3)设置Logstash

server6采集数据时的文件grok.conf需要添加用户名和密码才可以运行
在这里插入图片描述
执行grok.conf文件,开始采集
在这里插入图片描述
看到kibana显示访问次数为404
在这里插入图片描述
server3压力测试100次
在这里插入图片描述
看到kibana显示访问次数为504,没问题,正常了
在这里插入图片描述

(4)设置elasticsearch-head

现在elasticsearch-head登陆不了了
在这里插入图片描述
进入server3的/etc/elasticsearch目录,修改主配置文件,允许head认证后访问
在这里插入图片描述
重启elasticsearch
在这里插入图片描述
现在访问head不能只写ip和端口了,还需要加认证信息,http://172.25.77.3:9100/?auth_user=elastic&auth_password=westos
在这里插入图片描述

6、metricbeat轻量级采集工具

logstash是负责采集数据的,是入口,流向为logstash-> ES->kibana,但是它的资源消耗很大,有时候没那么多内存给他占用,同时有些定制的采集指标logstash无法满足。所以我们想使用轻量级的采集工具metricbeat来实现采集,流向为metricbeat-> ES->kibana,可以获取系统级的 CPU 使用率、内存、文件系统、磁盘 IO 和网络 IO 统计数据,还可针对系统上的每个进程获得与 top 命令类似的统计数据。同时Metricbeat 提供多种内部模块,用于从服务中收集指标,例如 Apache、NGINX、MongoDB、MySQL、PostgreSQL、Prometheus、Redis 等等。

进入kibana,集群 -> 使用metricbeat
在这里插入图片描述
点击使用metricbeat,现在是红色的,还不可用,输入监测集群URLhttp://172.25.77.3:9200,会出现提示操作
在这里插入图片描述
官方下载metricbeat安装包,给server3、server4、server5
在这里插入图片描述
server3安装metricbeat
在这里插入图片描述
server4安装metricbeat
在这里插入图片描述
server5安装metricbeat
在这里插入图片描述
server3激活elasticsearch-xpack模块,进入/etc/metricbeat/modules.d查看全部模块,可以看到很多文件后面带个disable表示未激活,elasticsearch-xpack已被激活,其实激活命令本质上就是改文件的名字,编辑elasticsearch-xpack.yml文件
在这里插入图片描述
由于开启了xpack,需要添加用户名和密码
在这里插入图片描述
server4激活elasticsearch-xpack模块,编辑elasticsearch-xpack.yml文件
在这里插入图片描述
添加用户名和密码
在这里插入图片描述
server5激活elasticsearch-xpack模块,编辑elasticsearch-xpack.yml文件
在这里插入图片描述
添加用户名和密码
在这里插入图片描述
返回上一层,server3修改metricbeat主配置文件
在这里插入图片描述
设置es的ip(集群中任意一个都可以),添加用户名和密码
在这里插入图片描述
server3重启metricbeat
在这里插入图片描述
返回上一层,server4修改metricbeat主配置文件
在这里插入图片描述
设置es集群ip,添加用户名和密码
在这里插入图片描述
server4重启metricbeat
在这里插入图片描述
返回上一层,server5修改metricbeat主配置文件
在这里插入图片描述
设置es集群ip,添加用户名和密码
在这里插入图片描述
server5重启metricbeat
在这里插入图片描述
根据提示操作完,kibana这里会显示成功
在这里插入图片描述
稍等片刻,es集群的三个节点都是蓝色了,成功开启
在这里插入图片描述
随便点击一个节点,这里查看server5的数据
在这里插入图片描述
类似的轻量级采集的base还有很多,比如filebeat等等,这里不再赘述,感兴趣的同学自行查阅文档。
filebeat的数据流向为filebeat->logstash-> ES->kibana,组合使用,假如流量很大,为了确保数据不丢失,可以加入中间件kafaka或者redis,实现消息队列,即filebeat->logstash->kafaka-> ES->kibana

7、kibana控制台

控制台插件提供一个用户界面来和 Elasticsearch 的 REST API 交互。控制台有两个主要部分: editor ,用来编写提交给 Elasticsearch 的请求; response 面板,用来展示请求结果的响应。
由于我们开启了xpack,想要输入命令时还需要用户密码,这里还有一个更加方便的方法,使用kibana的控制台,可以直接输入命令,还不用用户密码,因为登陆kibana时已经输入过了。控制台实际还是后台调用了API,找es执行,再返回给kibana展示。

下图进行简单测试,输入了健康查询语句,可以看到节点的健康状况。
在这里插入图片描述
当敲入一行命令,控制台会给出上下文相关的提示。这些提示可以帮助您探索每条 API 参数,或者用于提高输入速度。控制台会提示 APIs 、索引和字段名。

一旦您在左边的面板中敲入命令,您可以点击 URL 行边上的绿色小三角提交这条请求到 Elasticsearch。注意,当您移动光标的时候,会有一个小三角和扳手图标跟随着您。我们把这个叫做动作菜单。您也可以选择写多条请求并一起提交它们。

当请求响应后,您可以在侧面的面板中看到它

8、补充

(1)冷热分离

注意ELK是实时监测数据的,虽然有数据库的功能,但是完全和数据库不一样,实时监测非常消耗资源,如果只当数据库,纯属大材小用。

一般要把数据冷热分离,刚刚采集到数据可以理解为热数据(hot),实时写入ELK分析;过一段时间,数据变为温数据(warm),可以用来查询,不再写入;再过一段时间变为冷数据(cold),查询也很少了,我们可以考虑把他放到数据库中存储,或者从硬件方面来说,从高性能的节点存储换为普通性能的节点,把高性能的节点留给热数据;再过很久,会删除数据。

想要实现上面的冷热分离,进行生命周期管理,必须有
1、节点标签。区分冷热节点
2、生命周期策略。定义热阶段的大小,最长时间,存在时长等等
3、索引模板引用索引模板策略。模板创建索引,加载生命周期策略
4、索引模板指定调度节点。将新建索引分片分配到热节点

(2)搜索速度优化

为了提高es搜索速度,可以考虑下面几种方法:
1、为文件系统cache留有足够内存,内存越大,速度越快
2、提升i/o,使用固态硬盘
3、减少层层嵌套

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值