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

本文主要是介绍Linux企业运维——ELK日志分析平台(下)kibana数据可视化、xpack安全验证、轻量级metricbeat,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

文章目录

    • Linux企业运维——ELK日志分析平台(下)kibana数据可视化、xpack安全验证、轻量级metricbeat
    • 一、kibana数据可视化
      • 1.1、kibana简介
      • 1.2、kibana安装与配置
      • 1.3、创建访问量指标
      • 1.4、创建访问量的垂直条状图
    • 二、xpack安全验证
      • 2.1、es集群配置
      • 2.2、kibana配置
      • 2.3、logstash配置
      • 2.4、elasticsearch-head配置
    • 三、轻量级采集工具metricbeat
    • 四、查看集群健康状态
    • 五、ES数据备份与性能调优

一、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 cabin/elasticsearch-certutil cert --ca elastic-stack-ca.p12cp elastic-certificates.p12 /etc/elasticsearchchown 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的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/550219

相关文章

在Linux系统上连接GitHub的方法步骤(适用2025年)

《在Linux系统上连接GitHub的方法步骤(适用2025年)》在2025年,使用Linux系统连接GitHub的推荐方式是通过SSH(SecureShell)协议进行身份验证,这种方式不仅安全,还... 目录步骤一:检查并安装 Git步骤二:生成 SSH 密钥步骤三:将 SSH 公钥添加到 github

使用Python开发一个Ditto剪贴板数据导出工具

《使用Python开发一个Ditto剪贴板数据导出工具》在日常工作中,我们经常需要处理大量的剪贴板数据,下面将介绍如何使用Python的wxPython库开发一个图形化工具,实现从Ditto数据库中读... 目录前言运行结果项目需求分析技术选型核心功能实现1. Ditto数据库结构分析2. 数据库自动定位3

python使用Akshare与Streamlit实现股票估值分析教程(图文代码)

《python使用Akshare与Streamlit实现股票估值分析教程(图文代码)》入职测试中的一道题,要求:从Akshare下载某一个股票近十年的财务报表包括,资产负债表,利润表,现金流量表,保存... 目录一、前言二、核心知识点梳理1、Akshare数据获取2、Pandas数据处理3、Matplotl

pandas数据的合并concat()和merge()方式

《pandas数据的合并concat()和merge()方式》Pandas中concat沿轴合并数据框(行或列),merge基于键连接(内/外/左/右),concat用于纵向或横向拼接,merge用于... 目录concat() 轴向连接合并(1) join='outer',axis=0(2)join='o

Linux线程同步/互斥过程详解

《Linux线程同步/互斥过程详解》文章讲解多线程并发访问导致竞态条件,需通过互斥锁、原子操作和条件变量实现线程安全与同步,分析死锁条件及避免方法,并介绍RAII封装技术提升资源管理效率... 目录01. 资源共享问题1.1 多线程并发访问1.2 临界区与临界资源1.3 锁的引入02. 多线程案例2.1 为

批量导入txt数据到的redis过程

《批量导入txt数据到的redis过程》用户通过将Redis命令逐行写入txt文件,利用管道模式运行客户端,成功执行批量删除以Product*匹配的Key操作,提高了数据清理效率... 目录批量导入txt数据到Redisjs把redis命令按一条 一行写到txt中管道命令运行redis客户端成功了批量删除k

python panda库从基础到高级操作分析

《pythonpanda库从基础到高级操作分析》本文介绍了Pandas库的核心功能,包括处理结构化数据的Series和DataFrame数据结构,数据读取、清洗、分组聚合、合并、时间序列分析及大数据... 目录1. Pandas 概述2. 基本操作:数据读取与查看3. 索引操作:精准定位数据4. Group

Spring Boot集成/输出/日志级别控制/持久化开发实践

《SpringBoot集成/输出/日志级别控制/持久化开发实践》SpringBoot默认集成Logback,支持灵活日志级别配置(INFO/DEBUG等),输出包含时间戳、级别、类名等信息,并可通过... 目录一、日志概述1.1、Spring Boot日志简介1.2、日志框架与默认配置1.3、日志的核心作用

MySQL中EXISTS与IN用法使用与对比分析

《MySQL中EXISTS与IN用法使用与对比分析》在MySQL中,EXISTS和IN都用于子查询中根据另一个查询的结果来过滤主查询的记录,本文将基于工作原理、效率和应用场景进行全面对比... 目录一、基本用法详解1. IN 运算符2. EXISTS 运算符二、EXISTS 与 IN 的选择策略三、性能对比

SpringBoot多环境配置数据读取方式

《SpringBoot多环境配置数据读取方式》SpringBoot通过环境隔离机制,支持properties/yaml/yml多格式配置,结合@Value、Environment和@Configura... 目录一、多环境配置的核心思路二、3种配置文件格式详解2.1 properties格式(传统格式)1.