Linux企业运维——ELK日志分析平台(下)kibana数据可视化xpack安全验证轻量级metricbeat

Posted 是大姚呀

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux企业运维——ELK日志分析平台(下)kibana数据可视化xpack安全验证轻量级metricbeat相关的知识,希望对你有一定的参考价值。

Linux企业运维——ELK日志分析平台(下)kibana数据可视化、xpack安全验证、轻量级metricbeat

文章目录

一、kibana数据可视化

1.1、kibana简介

Kibana 核心产品搭载了一批经典功能:柱状图、线状图、饼图、旭日图等等。

精选的时序性 UI,可以对Elasticsearch 中的数据执行高级时间序列分析。

可以利用 Graph 功能分析数据间的关系

Kibana 开发工具还为开发人员提供了多种强大方法来帮助其与 Elastic Stack 进行交互

1.2、kibana安装与配置

真实主机将kibana安装包发送给server7

server7安装kibana,完成后切换到/etc/kibana/目录下,编辑kibana.yml配置文件

配置服务端口和服务主机

配置es集群的主机地址和kibana索引

设置为中文

启动kibana服务,看到5601端口处于监听状态

浏览器访问server7的5601端口,可以看到kibana服务,在第三个样例下方点击添加数据

样式选择仪表板

1.3、创建访问量指标

创建索引模式,选择apachelog索引,点击下一步

选择时间戳创建索引

创建了与apache日志相关联的索引

可视化界面点击创建可视化

选择指标

选择刚才创建的索引

现在可以看到今日访问次数为105次

保存

执行grok.conf以运行logstash,采集数据并输出到es

此时es中可以看到新增的日志索引信息

真实主机对server7的apache进行压力测试

server4和server5也对server7的apache进行压力测试


现在可以在kibana界面看到访问次数变成了405

1.4、创建访问量的垂直条状图

新建可视化,选择垂直条形图

数据源选择刚才创建的索引

Y轴是访问的次数,这里添加存储桶,选择X轴

选择来聚合,访问客户端的ip作为X轴,降序排列,查看前5名,执行后可以看到生成的条形图

保存

我们可以将条形图与总次数展示在一起,再创建仪表盘

添加刚才保存的top5面板

再添加website面板

现在可以看到两个面板在一起展示了

我们将这个面板进行保存,取名apache status

server4对server7的页面进行压力测试

回到面板可以看到数据的变化

二、xpack安全验证

2.1、es集群配置

X-Pack是Elastic Stack扩展功能,提供安全性,警报,监视,报告,机器学习和许多其他功能。 ES7.0+之后,默认情况下,当安装Elasticsearch时,会安装X-Pack,无需单独再安装。
因为es开放的端口任何外网用户都可以访问,使用 xpack安全组件可以是服务不暴露外网,更安全。

stack monitoring模块选择使用内部收集设置

请求错误,因为我们还没有开启xpack安全验证

每个es节点都要进行证书配置:使用elasticsearch-certutil工具生成ca


设置证书密码

拷贝该证书到/etc/elasticsearch,设置其权限只有owner可读

以上步骤汇总为

 cd /usr/share/elasticsearch/
 bin/elasticsearch-certutil ca
 bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12
 cp elastic-certificates.p12 /etc/elasticsearch
 chown elasticsearch /etc/elasticsearch/elastic-certificates.p12

修改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


将证书同步到集群中的其他节点(server5和server6)

server5修改主配置文件

server6修改主配置文件

三个节点都要重启es服务,server4重启es服务

server6修改证书文件权限,然后重启es服务

server5修改证书文件权限,然后重启es服务

server4查看9200端口,可以看到es集群已经正常搭建连接

重启后为集群设置用户密码,使用交互式,都设置为westos

测试登录kibana监控查看节点状态

显示所有节点都是脱机状态,需要在kibana配置中添加访问es集群的用户名和密码

2.2、kibana配置

server7切换到/etc/kibana/目录下,编辑kibana.yml配置文件,添加访问es的用户名和密码

重启kibana服务

2.3、logstash配置

server7编辑grok.conf文件,添加访问es集群的用户名和密码,然后执行该文件

浏览器访问server7的kibana监控,输入用户名和密码登入

现在可以正常显示指标

真实主机对server7的apache页面进行压力测试

可以看到访问量数据实时更新

2.4、elasticsearch-head配置

集群健康值显示未连接

server4编辑elasticsearch.yml配置文件,为elasticsearch-head插件设置认证同步

http.cors.allow-headers: Authorization,X-Requested-With,Content-Length,Content-Type


重启es服务

现在访问head页面需要加认证信息,如图url中的参数:http://172.25.33.4:9100/?auth_user=elastic&auth_password=westos,集群健康值也正常显示

再次在stack monitoring模块选择使用内部收集设置

集群概览信息正常显示

节点界面,显示节点状态是正常联机

三、轻量级采集工具metricbeat

logstash数据采集工具的数据流向为logstash-> ES->kibana,但它资源消耗很大,而且有些定制的采集指标logstash无法满足,所以我们可以用很多轻量级的*beat采集数据。
比如现在我们使用轻量级采集工具metricbeat来进行数据采集

stack monitoring模块选择使用Metricbeat设置检测

进入设置模式,点击节点进入界面

点击使用metricbeat,红色表示还不可用,按提示输入监测集群URL,点击下一步

这一步详细说明了怎么配置metricbeat监控,按要求进行环境准备

真实主机将metricbeat安装包发送给三个节点

server4安装metricbeat,安装完成后在metricbeat中启用es的xpack模块

server5和server6收到metricbeat安装包后也做同样的操作


server4进入/etc/metricbeat/modules.d/目录下,编辑elasticsearch-xpack.yml配置文件(可以看到很多文件后面带个disable表示未激活,elasticsearch-xpack后面没有.disable后缀,表示已被激活,激活命令本质上就是改文件的名字)

添加访问es的用户名和密码

server4返回上一层目录,编辑metricbeat.yml主配置文件,设置es集群中任意主机的ip,并添加用户和密码

server4重启metricbeat服务

回到监控页面,可以看到显示metricbeat正在发送监测数据,配置完成

server5也做相同的操作,进入/etc/metricbeat/modules.d/目录下,编辑elasticsearch-xpack.yml配置文件

然后回到上一目录再编辑metricbeat.yml

server5重启metricbeat服务

server6也一样,三个节点都需要进行配置,进入/etc/metricbeat/modules.d/目录下,编辑elasticsearch-xpack.yml配置文件,然后回到上一目录再编辑metricbeat.yml


server6重启metricbeat服务

回到监控页面,可以看到metricbeat正在监测所有节点,metricbeat状态由红色变成蓝色

轻量级采集的*beat还有filebeat等,与kafaka组合使用时,filebate可以将所有数据放入kafaka消息队列中作数据缓冲,实现消息队列。filebeat的数据流向为filebeat->kafaka->logstash->ES->kibana

四、查看集群健康状态

控制台插件提供一个用户界面来和 Elasticsearch 的 REST API 交互。控制台有两个主要部分: editor ,用来编写提交给 Elasticsearch 的请求; response 面板,用来展示请求结果的响应。

方式一:通过页面查看
在kibana开发工具里可以使用集成命令,在左侧控制台输入命令,右侧会展示命令输出结果

方式二:命令行方式
在server7终端输入命令curl -XGET 172.25.33.4:9200/ cat/health -u elastics:westos来查看集群状态。由于我们做了xpack认证,所以在curl访问时需要加认证信息

五、ES数据备份与性能调优

es引入仓库与快照的概念实现了数据的备份与恢复,在elasticsearch.yml中指定仓库的base目录,创建仓库,将快照创建在指定的仓库中即可实现索引的备份

搜索速度优化:

  1. 为文件系统cache预留足够的内存
    为了使搜索速度更快,filesystem cache越大越好,一般来说,需要至少一半的可用内存作为filesystem cache,这样ES可以在内存中保有索引的热点区域
  2. 使用更快的硬件,搜索一般是I/O bound的,此时需要
    使用SSD硬盘,使用local storage,不要使用NFS和SMB等远程文件系统
  3. 文档模型
    文档需要使用适合的类型,从而使得搜索时操作消耗更少的资源。避免使用join操作,嵌套会使查询慢几倍,父子关系可能会使查询慢数百倍。

以上是关于Linux企业运维——ELK日志分析平台(下)kibana数据可视化xpack安全验证轻量级metricbeat的主要内容,如果未能解决你的问题,请参考以下文章

Linux企业运维——ELK日志分析平台(上)安装与配置ES图形化管理插件

Linux企业运维——ELK日志分析平台(上)安装与配置ES图形化管理插件

Linux企业运维——ELK日志分析平台(中)ES节点优化logstash数据采集过滤插件

Linux企业运维——ELK日志分析平台(中)ES节点优化logstash数据采集过滤插件

企业运维之 ELK日志分析平台(Elasticsearch)

企业运维之 ELK日志分析平台(Elasticsearch)