Elasticsearch学习笔记(七)安装并配置Metricbeat

Metricbeat 是一个轻量级的开源数据采集器,专门用于收集操作系统和服务的指标(metrics)。它是 Elastic Stack(即 ELK Stack)的一部分,通常用于监控系统性能、收集应用程序和服务器的性能指标,并将这些数据发送到 Elasticsearch 或 Logstash 进行进一步的分析和可视化(如通过 Kibana)。

如果你是一名Elastic stack的开发人员,可能认为只要能够熟练的使用Elastic stack就可以了,可是随着软件行业的内卷,不少IT大佬们提出了开发既运维的观念,如果你是一名Elastic stack的运维人员,如果再不努力可能真的就要失业了。对于开发既运维的观念我是非常认同的,我经常和我的同事讲,如果你只会使用Elastic stack技术来写代码实现CUDR,对Elastic集群的相关知识非常匮乏的话,那么后续的代码优化你很可能就会做的不到位了。所以,同学们不论你是开发还是运维都建议你跟随我把目前的这个专题学起来,肯定对你有莫大的好处。

废话结束,开始今天的教程。

Metricbeat 的主要功能和特点

  1. 采集系统和服务的指标: Metricbeat 可以从各种系统和服务(如 Apache、MySQL、Docker、Kubernetes 等)收集性能指标。例如,CPU 使用率、内存使用情况、磁盘 I/O、网络流量等操作系统层面的数据。
  2. 模块化设计: Metricbeat 提供了多个模块,每个模块针对不同的服务或技术收集特定的指标。用户可以启用或禁用不同模块来采集自己需要的监控数据。常见模块包括:
    • System Module:采集 CPU、内存、磁盘、网络等系统指标。
    • MySQL Module:采集 MySQL 相关的性能指标。
    • Docker Module:采集容器的运行状况和性能指标。
    • Kubernetes Module:监控 Kubernetes 集群。
  3. 轻量级: Metricbeat 以轻量级为特点,对系统性能影响较小,非常适合用于大规模集群中收集数据。
  4. 发送数据到多种目标: Metricbeat 可以将收集到的指标数据发送到不同的目标:
    • Elasticsearch:用于存储和查询数据,并通过 Kibana 可视化。
    • Logstash:用于进一步处理和传输数据。
    • 文件:可以输出到本地文件,用于日志管理或调试。
    • Kafka:将数据发送到 Kafka 进行消息处理。
  5. 实时监控: Metricbeat 可以以固定的时间间隔(例如每 10 秒)采集数据,并实时发送到目标系统进行监控和分析。
  6. 自定义指标采集: 除了内置模块外,Metricbeat 还允许用户定义自己的监控需求,采集自定义指标。

1.安装Metricbeat

在集群中的每个节点上安装metircbeat

curl -L -O https://artifacts.elastic.co/downloads/beats/metricbeat/metricbeat-8.11.4-amd64.deb
sudo dpkg -i metricbeat-8.11.4-amd64.deb

2.接入Elastic stack

修改配置文件metricbeat.yml

reload.enabled: true
setup.dashboards.enabled: true

setup.kibana:
  host: "http://192.168.50.4:5601"
  ssl.verification_mode: none
  
output.elasticsearch:
  hosts: ["<elasticsearch-domain>:<elasticsearch-port>"]
  protocol: "https"
  username: "elastic"
  password: "<your elastic password>"
  

使用下面的命令测试配置是否正确:

/usr/share/metricbeat/bin/metricbeat test config -c /etc/metricbeat/metricbeat.yml --path.home /usr/share/metricbeat/ --path.data /var/lib/metricbeat

/usr/share/metricbeat/bin/metricbeat test output -c /etc/metricbeat/metricbeat.yml --path.home /usr/share/metricbeat/ --path.data /var/lib/metricbeat

配置

/usr/share/metricbeat/bin/metricbeat setup -c /etc/metricbeat/metricbeat.yml --path.home /usr/share/metricbeat/ --path.data /var/lib/metricbeat

在这里插入图片描述

3.启动metricbeat

systemctl start metricbeat

在这里插入图片描述

4.使用kibana查看metricbeat监控数据

在kibana的管理页面的面板中搜索“system”,找到Metricbeat相关的内容,点击打开查看。

在这里插入图片描述

在这里插入图片描述
metricbeat的监控数据已经正常显示了。

但是上面的操作我们禁用了证书验证,并且在配置文件中硬编码了用户名和密码,有很大的安全隐患,接下来我们就要一步一步的解决这些安全隐患。

5.使用证书验证

首先我在我的节点node2上安装metricbeat,并在这个节点上配置metricbeat使用证书认证连接Elasticsearch.

5.1 生成CA证书

生成CA证书:使用下面的命令生成CA证书(这里我们添加–pem,直接生成ca.crt和ca.key,如果不加–pem生成后再提取的话ca证书为空)。

/usr/share/elasticsearch/bin/elasticsearch-certutil ca --pem --out /etc/elasticsearch/certs/ca.zip

上面的命令会在/etc/elasticsearch/certs/目录下生成一个ca.zip压缩文件,解压这个文件。

cd /etc/elasticsearch/certs/
unzip ca.zip

在这里插入图片描述

5.2 为Metricbeat生成客户端证书和密钥

使用下面的命令生成证书:

/usr/share/elasticsearch/bin/elasticsearch-certutil cert \
  --out /etc/elasticsearch/certs/elastic.zip \
  --name elastic \
  --ca-cert /etc/elasticsearch/certs/ca/ca.crt \
  --ca-key /etc/elasticsearch/certs/ca/ca.key \
  --ip 192.168.50.6 \
  --dns node2.am.es.com \
  --pem

上述命令会用到5.1中生成的ca.crt和ca.key。

  • ip 对应你节点真实的IP
  • dns 如果你使用域名要和当前的IP做好绑定,这里我是并没有真实的域名,只是通过修改/etc/hosts做的对应。

解压上述生成的elastic.zip的文件,就能得到客户端的crt和key。

cd /etc/elasticsearch/certs/
unzip elastic.zip

在这里插入图片描述

5.3 修改metricbeat配置文件

我们已经生成好了ca.cr接着就修改metricbeat的配置文件应用这些证书,(这里我就只截了修改应用证书部分,其余的配置和修改node1时的相同)。

vim /etc/metricbeat/metricbeat.yml
output.elasticsearch:
  # Array of hosts to connect to.
  hosts: ["https://192.168.50.6:9200"]
  ssl.certificate_authorities: ["/etc/metricbeat/certs/ca.crt"]
  ssl.certificate: "/etc/metricbeat/certs/elastic.crt"
  ssl.key: "/etc/metricbeat/certs/elastic.key"
  protocol: "https"
  username: "elastic"
  password: "root123"

在这里插入图片描述
⚠️ 虽然使用了证书,但是用户名和密码明文写在了配置文件中,是不是很不安全啊?后面的教程我会通过API key的方式修改。

5.4 检查并使配置生效
/usr/share/metricbeat/bin/metricbeat test config -c /etc/metricbeat/metricbeat.yml --path.home /usr/share/metricbeat/ --path.data /var/lib/metricbeat

在这里插入图片描述
使用配置生效,并启动metricbeat.

/usr/share/metricbeat/bin/metricbeat test output -c /etc/metricbeat/metricbeat.yml --path.home /usr/share/metricbeat/ --path.data /var/lib/metricbeat

在这里插入图片描述
通过上图可以看出我的metricbeat已经正常启动了并且没有报错,这是一件值得庆贺的事情啊。

6.检验

登录kibana的仪表板,查看节点数据。

两个节点已然在这里了。
在这里插入图片描述
查看一下我们使用证书添加的节点2.

在这里插入图片描述
数据一切正常,虽然节点1和节点2从面板这里看不出什么,但是两者背后还是有很大区别的哟。

好了,今天的教程就到这里了,天气转凉,大家注意保暖,我也要去给我儿子去买秋衣秋裤了。小孩子长得快,去年的已经不合身了。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/894380.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【大模型】AI视频课程制作工具开发

1. 需求信息 1.1 需求背景 讲师们在制作视频的过程中&#xff0c;发现录制课程比较麻烦&#xff0c;要保证环境安静&#xff0c;保证录制过程不出错&#xff0c;很容易反复重复录制&#xff0c;为了解决重复录制的工作量&#xff0c;想通过 ai 课程制作工具&#xff0c;来解决…

字节跳动青训营——入营考核解答(持续更新中~~~)

考核内容&#xff1a; 在指定的题库中自主选择不少于 15 道算法题并完成解题&#xff0c;其中题目难度分配如下&#xff1a; 简单题不少于 10 道中等题不少于 4 道困难题不少于 1 道 解答代码 5.简单四则运算 &#xff08;中&#xff09; 代码实现&#xff1a; import ja…

TON(六)——fift算法,注释的改写

系列文章目录 TON&#xff08;五&#xff09; TON&#xff08;四&#xff09; TON&#xff08;三&#xff09; TON&#xff08;二&#xff09; TON&#xff08;一&#xff09; 前言 fift是一门十分强大的栈编程语言&#xff0c;&#xff0c;在TON中它是由c编译而成的语言…

WordPress官方发布“新”插件“SCF”(安全自定义字段)

安全自定义字段 (SCF) 为您提供了处理数据所需的所有工具&#xff0c;从而将 WordPress 网站转变为成熟的内容管理系统。 使用 SCF 插件可以完全控制您的 WordPress 编辑屏幕、自定义字段数据等。 按需添加字段—SCF字段生成器允许您快速轻松地将字段添加到 WP 编辑屏幕&…

第一个servlet程序

文章目录 在原有工程上建立模块前端配置前后端映射关系添加外部依赖库后端代码启动配置 在原有工程上建立模块 添加web框架 前端 应用结构 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>第一…

什么是SYN flood,如何处理

在数字化时代&#xff0c;随着互联网的普及和技术的飞速发展&#xff0c;网络安全问题变得日益严峻。Flood攻击&#xff0c;作为一种典型的网络攻击手段&#xff0c;对个人和企业的信息安全构成了重大威胁。通过深入了解Flood攻击的概念、特点、影响及解决方案&#xff0c;我们…

SpringSecurity源码分析以及如何解决前后端分离出现的跨域问题

解决Security前后端分离出现的跨域问题 一. Security源码分析 首先在看源码之前我们先来看这张图 , 这张图展示了Security执行的全部流程 从上图可知Security执行的入口是UsernamePasswordAuthenticationFilter这个抽象类 , 那我们就先从该类进行分析 1. UsernamePasswordAu…

【智慧大屏】BI智慧大屏,大屏可视化解决方案(word原件)

1.系统概述 1.1.需求分析 1.2.重难点分析 1.3.重难点解决措施 2.系统架构设计 2.1.系统架构图 2.2.关键技术 2.3.接口及要求 3.系统功能设计 3.1.功能清单列表 3.2.数据源管理 3.3.数据集管理 3.4.视图管理 3.5.仪表盘管理 3.6.移动端设计 3.1.系统权限设计 3.…

Scala入门基础(12)抽象类

抽象类&#xff0c;制定标准&#xff0c;不要求去具体实现 包含了抽象方法的类就是抽象类。抽象方法只是有方法名&#xff0c;没有具体方法体的方法 定义抽象类要用abstract&#xff08;抽象&#xff09;关键字 用智能驾驶技术举例&#xff1a;演示&#xff09…

深入理解WPF中的命令机制

Windows Presentation Foundation&#xff08;WPF&#xff09;是微软推出的一种用于构建桌面客户端应用程序的技术。它被认为是现代Windows应用程序的基础&#xff0c;具有强大的图形和媒体处理能力。在WPF中&#xff0c;“命令”是一个重要的概念&#xff0c;它为应用程序开发…

2024.10月11日--- SpringMVC拦截器

拦截器 1 回顾过滤器&#xff1a; Servlet规范中的三大接口&#xff1a;Servlet接口&#xff0c;Filter接口、Listener接口。 过滤器接口&#xff0c;是Servlet2.3版本以来&#xff0c;定义的一种小型的&#xff0c;可插拔的Web组件&#xff0c;可以用来拦截和处理Servlet容…

力扣 142.环形链表Ⅱ【详细解释】

一、题目 二、思路 三、代码 /*** Definition for singly-linked list.* class ListNode {* int val;* ListNode next;* ListNode(int x) {* val x;* next null;* }* }*/ public class Solution {public ListNode detectCycle(ListNode hea…

LSL常见应用场景及示例<一>

目录 往期推荐 场景1&#xff1a;如何在指定内存定义中定位一个函数&#xff1f; 场景2&#xff1a;如何在绝对内存偏移地址处定位一个函数&#xff1f; 场景3&#xff1a;如何在绝对地址处定位一个函数&#xff1f; 场景4&#xff1a;有多个函数必须位于特定的内存定义中。…

vue3+ts+vite--路由跳转,params传参好像丢失了?

前言 相信大家一定写过后台管理系统&#xff0c;有一个很普遍的功能&#xff0c;就是点击编辑&#xff0c;根据id&#xff0c;跳转到相对应的编辑页面&#xff0c;id是通过路由params传递过去了&#xff0c;但是还有一个需求是要将父组件的名称也传递过去 &#xff0c;过程特别…

从0到1封装一个image/pdf预览组件

iShot_2024-10-14_16.47.10 目录结构 content.vue <template><div class"no-content-block"><i class"iconfont icondocument large-file" /><div class"text-wrapper">{{ t(__ui__.siPreview.previewSupported) }}<…

Spring Cloud Sentinel配置

Spring Cloud Sentinel 文章目录 Spring Cloud Sentinel1. Sentinel Dashboard 启动2. Spring Cloud 客户端配置3. Sentinel Dashboard 限流配置流控模式直连关联链路 流控规则快速失败Warm Up排队等待 4. Sentinel Dashboard 熔断配置5. Sentinel Dashboard 热点配置 1. Senti…

MEMC功能详解

文章目录 MEMC的工作原理&#xff1a;优点&#xff1a;缺点&#xff1a;适用场景&#xff1a;1. Deblur&#xff08;去模糊&#xff09;2. Dejudder&#xff08;去抖动&#xff09;总结两者区别&#xff1a; MEMC&#xff08;Motion Estimation and Motion Compensation&#x…

打破“几何第五公设不可证明”的神话——黄氏平行定义使证明第五公设易如反掌

黄小宁 绿色图片中的直线平行的定义&#xff08;此定义可推广为相应的平面平行的定义&#xff09;使人能根据几何常识一下子证明第五公设从而表明“2000年都无人能解决的世界著名数学难题”其实是一个天大的笑话。

Linux 手撕线程池

前言 线程池 是 池化技术 中很典型的一个&#xff0c;它旨在高效的管理和复用线程资源&#xff01;在现在的计算机体系中&#xff0c;线程是执行任务&#xff08;调度&#xff09;的基本单位。然而&#xff0c;频繁的创建和销毁线程也会带来较大的开销&#xff0c;包括系统资源…

RISC-V笔记——Pipeline依赖

1. 前言 RISC-V的RVWMO模型主要包含了preserved program order、load value axiom、atomicity axiom、progress axiom和I/O Ordering。今天主要记录下preserved program order(保留程序顺序)中的Pipeline Dependencies(Pipeline依赖)。 2. Pipeline依赖 Pipeline依赖指的是&a…