ELK(八)—Metricbeat部署

目录

  • 介绍
  • 修改配置文件
    • 启动
  • Module
    • nginx开启状态查询
    • 配置Nginx module
    • 查看是否配置成功

介绍

image-20231213150301695

Metricbeat 是一个轻量级的开源度量数据收集器,用于监控系统和服务。它由 Elastic 公司开发,并作为 Elastic Stack(Elasticsearch、Logstash、Kibana 以及 Beats)的一部分,用于收集、分析和可视化不同类型的度量数据。Metricbeat 主要专注于收集主机级别的度量数据,例如系统 CPU 使用率、内存使用率、磁盘使用率等。

以下是 Metricbeat 的一些关键特性和详解:

  1. 轻量级: Metricbeat 被设计成轻量级和高效的度量数据收集器。它使用 Go 语言编写,占用资源较少,适用于部署在各种环境中。

  2. 模块化: Metricbeat 使用模块来支持各种不同的数据源。每个模块都包含了针对特定应用或服务的配置和度量指标收集逻辑。这种模块化的设计使得 Metricbeat 很容易扩展和配置。

  3. 预定义的模块: Metricbeat 提供了一系列预定义的模块,用于收集常见的度量数据,包括系统级别、数据库、Web 服务器、云服务等。例如,有 Elasticsearch、MySQL、Nginx 等模块,可以方便地配置并收集相关的性能指标。

  4. 实时度量: Metricbeat 支持实时度量数据的收集和传输。它可以将采集到的度量数据发送到 Elasticsearch、Logstash 或者其他输出目的地,以便进行实时监控和分析。

  5. 可视化: Metricbeat 与 Kibana 集成,允许用户使用 Kibana 创建仪表板并可视化收集到的度量数据。这使得用户能够更直观地了解系统和服务的性能。

  6. 安全性: Metricbeat 提供了安全性配置选项,支持加密和身份验证,以确保数据传输的安全性。

  7. 跨平台: Metricbeat 可以运行在多种操作系统上,包括 Linux、Windows、Mac 等,适用于不同的部署场景。

Metricbeat 的工作流程通常包括以下步骤:

  • 配置: 配置 Metricbeat,指定要收集的模块和相关的设置,例如目标 Elasticsearch 集群地址、输出目的地等。

  • 启动: 启动 Metricbeat,它开始按照配置文件中定义的频率收集和发送度量数据。

  • 传输: Metricbeat 将收集到的度量数据传输到指定的目的地,通常是 Elasticsearch。

  • 可视化: 使用 Kibana 创建仪表板,通过图表和可视化工具查看和分析度量数据。

通过 Metricbeat,用户可以实时监控系统的性能、资源利用率、服务运行状况等,从而及时发现问题并进行调整和优化。

修改配置文件

# 移动到该目录下
cd /opt/elk
# 下载文件
wget https://artifacts.elastic.co/downloads/beats/metricbeat/metricbeat-8.11.3-linux-x86_64.tar.gz
# 解压文件
tar -zxvf  metricbeat-8.8.1-linux-x86_64.tar.gz
# 修改文件名
mv  metricbeat-8.11.3-linux-x86_64.tar.gz metricbeat

修改配置文件

vim metricbeat.yml

添加如下内容:

metricbeat.config.modules:
  path: ${path.config}/modules.d/*.yml
  reload.enabled: false
setup.template.settings:
  index.number_of_shards: 3
  index.codec: best_compression
setup.kibana:
output.elasticsearch:
  hosts: ["192.168.150.190:9200","192.168.150.189:9200","192.168.150.190:9200"]   	# 只需要改这里就可以了,把集群的ip以及对应的端口添加上就可以了。
processors:
  - add_host_metadata: ~
  - add_cloud_metadata: ~
  - add_docker_metadata: ~
  - add_kubernetes_metadata: ~


image-20231213152658629

启动

在配置完成后,我们通过如下命令启动即可。

./metricbeat -e

image-20231213152848628

在ELasticsearch中可以看到,系统的一些指标数据已经写入进去了:
下面看到的是系统的架构。

image-20231213153020671

Module

Metricbeat Module的用法和我们之前的filebeat的用法差不多

#查看列表
./metricbeat modules list 

image-20231213153232746

同样的,Metricbeat有两个与模块相关的目录,从目录就可以知道了,hh

image-20231213153400668

这里我们进入modules.d目录,可以看到模块的配置文件。

这里查看system的配资文件,如下;

image-20231213153501476

nginx开启状态查询

在nginx中,需要开启状态查询,才能查询到指标数据。

./configure --prefix=/usr/local/nginx --with-http_stub_status_module 编译安装的是需要有这样一项才可以。

nginx已经在上一节中安装部署好了,这里我们看nginx的信息,可以看到已经开启了状态查询。

[root@elk_master sbin]# ./nginx -V
nginx version: nginx/1.25.0
built by gcc 8.5.0 20210514 (Red Hat 8.5.0-21) (GCC)
built with OpenSSL 1.1.1k  FIPS 25 Mar 2021
TLS SNI support enabled
configure arguments: --prefix=/usr/local/ydhnginx --user=yandonghao --with-http_ssl_module --with-http_v2_module --with-threads --with-http_stub_status_module --with-stream

接下来,我们需要修改nginx的配置文件。

image-20231213154314891

配置文件修改完成后,我们需要重新启动nginx。

然后导浏览器中进行访问。

image-20231213154431401

配置Nginx module

Metricbeat启动nginx模块

./metricbeat modules enable nginx

修改配置文件

vim modules.d/nginx.yml

具体配置如下:

image-20231213160506002

启动

./metricbeat -e

查看是否配置成功

我们能看到,我们的nginx数据已经成功的采集到我们的系统中了

image-20231213161012495

可以看到,nginx的指标数据已经写入到了Elasticsearch。

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

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

相关文章

【机器学习】梯度下降法:从底层手写实现线性回归

【机器学习】Building-Linear-Regression-from-Scratch 线性回归 Linear Regression0. 数据的导入与相关预处理0.工具函数1. 批量梯度下降法 Batch Gradient Descent2. 小批量梯度下降法 Mini Batch Gradient Descent(在批量方面进行了改进)3. 自适应梯度…

什么同源策略?

同源 同源指的是URL有相同的协议、主机名和端口号。 同源策略 同源策略指的是浏览器提供的安全功能,非同源的RUL之间不能进行资源交互 跨域 两个非同源之间要进行资源交互就是跨域。 浏览器对跨域请求的拦截 浏览器是允许跨域请求的,但是请求返回…

spring-kakfa依赖管理之org/springframework/kafka/listener/CommonErrorHandler错误

问题: 整个项目使用spring-boot2.6.8版本,使用gradle构建,在common模块指定了implementation org.springframework.kafka:spring-kafka:2.6.8’这个工程也都能运行(这正常发送kafka消息和接收消息),但是执行…

nodejs+vue+微信小程序+python+PHP邮件过滤系统的设计与实现-计算机毕业设计推荐

邮件过滤系统根据权限类型进行分类,主要可分为用户和管理员二大模块。 管理员模块主要根据管理员对整个系统的管理进行设计,提高了管理的效率和规范[11]。邮件过滤系统综合网络空间开发设计要求。该系统主要设计并完成了管理过程中的用户登录、个人信息修…

持续集成交付CICD:基于 GitLabCI 与 JenkinsCD 实现后端项目发布

目录 一、实验 1. GitLabCI环境设置 2.优化GitLabCI共享库代码 3.JenkinsCD 发布后端项目 4.再次优化GitLabCI共享库代码 5.JenkinsCD 再次发布后端项目 一、实验 1. GitLabCI环境设置 (1)GitLab给后端项目添加CI配置路径 (2&#xf…

万兆网络之屏蔽线序接法(下)

我们直接干吧 1.剥去网线外被,这个相信大家都会的,剪掉尼龙线 剥去的长度用水晶头和护套量度,多留一点长度用于撸直 为了插进去很紧,我用的是超五类的护套,只能顶到条纹底端就很费劲了 然后十字骨架留一小段&#xf…

【JAVA-Day69】抛出异常的精髓:深度解析 throw、throws 关键字,优雅处理异常问题

抛出异常的精髓:深度解析 throw、throws 关键字,优雅处理异常问题 🚀 抛出异常的精髓:深度解析 throw、throws 关键字,优雅处理异常问题 🚀一、什么是抛出异常 😊二、如何抛出异常 &#x1f914…

IDEA中,如何将maven项目变为SpringBoot项目?

第一步&#xff1a;新建Maven工程 这很简单不做过多赘述。 第二步&#xff1a;修改pom.xml文件 分别加入springboot父依赖&#xff0c;web依赖&#xff0c;test测试依赖&#xff0c;maven打包依赖。 <?xml version"1.0" encoding"UTF-8"?> <…

Android Stuido报错处理

仅用作报错记录。防止以后出项问题不知如何解决。 报错1 Dependency‘androidx.annotation:xx requires libraries and applications … 需要修改CompileSDKVersion更改为报错中提示的版本 打开项目build.gradle文件&#xff0c;将compileSdk和targetSdk修改为报错中提示的版…

Word写大论文常见问题(持续更新)

脚注横线未定格 解决方案&#xff1a;“视图”-“草图”&#xff0c;“引用”-“显示备注”-选择“脚注分隔符”&#xff0c;把横线前的空格删掉。 2.PPT做的图插入word中清晰度太低 解决方案&#xff1a;PPT-图形-“另存为图片”-“可缩放矢量图格式”-粘贴到word中。

FPGA简易加减法计算器设计

题目要求&#xff1a; &#xff08;1&#xff09;设计10以内的加减法计算器。 &#xff08;2&#xff09;1个按键用于指定加法或减法&#xff0c;一个用于指定加数或被加数&#xff0c;还有两个分别控制加数或被加数的增加或减少。 &#xff08;3&#xff09;设置的结果和计算的…

饥荒Mod 开发(十四):制作屏幕弹窗

饥荒Mod 开发(十三)&#xff1a;木牌传送 在上一个文章里面制作了一个传送选择页面&#xff0c;是一个全屏的窗口&#xff0c;那饥荒中如何制作一个全屏的窗口&#xff0c;下面介绍一下如何从零开始制作一个全屏窗口 制作屏幕窗口 饥荒中的全屏窗口都有一个基类 “Screen”,我…

JVM基础入门

JVM 基础入门 JVM 基础 聊一聊 Java 从编码到执行到底是一个怎么样的过程&#xff1f; 假设我们有一个文件 x.Java&#xff0c;你执行 javac&#xff0c;它就会变成 x.class。 这个 class 怎么执行的&#xff1f; 当我们调用 Java 命令的时候&#xff0c;class 会被 load 到…

Kafka相关知识

一、kafka架构 Kafka基础知识 Kafka是最初由Linkedin公司开发&#xff0c;是一个分布式、分区的、多副本的、多生产者、多订阅者&#xff0c;基于zookeeper协 调的分布式日志系统(也可以当做MQ系统)&#xff0c;常见可以用于webynginx日志、访问日志&#xff0c;消息服务等等&…

pycharm依赖管理(不要用pip freeze)

在使用python虚拟环境时&#xff0c;可以使用requirements.txt来管理当前项目的依赖。 注意&#xff0c;不要用 pip freeze > requirements.txt 这个命令&#xff0c;因为它会引入很多无关的包。 可以使用 pipreqs ./ --encodingutf-8 ./ 表示当前项目的目录&#xff0…

QT for Android安卓编译环境搭建+首次编译3个大坑

1、安装 编译环境能否搭建成功&#xff0c;主要是看各个依赖软件的版本是否匹配。依赖的软件有3个&#xff1a;JDK、安卓SDK、安卓NDK。 我的qt版本是5.14.1&#xff0c;我亲测以下版本可以成功让编译安卓&#xff1a; QT5.14 JDK1.8.0 安卓SDK26.1 安卓NDK20.1 在QT-&g…

为什么在Android中需要Context?

介绍 在Android开发中&#xff0c;Context是一个非常重要的概念&#xff0c;但是很多开发者可能并不清楚它的真正含义以及为什么需要使用它。本文将详细介绍Context的概念&#xff0c;并解释为什么在Android应用中需要使用它。 Context的来源 Context的概念来源于Android框架…

【算法Hot100系列】三数之和

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

第十三章总结

一.泛型 1.定义泛型类 泛型机制语法&#xff1a; 类名<T> 其中&#xff0c;T是泛型的名称&#xff0c;代表某一种类型。 【例13.6】创建带泛型的图书类 代码&#xff1a; 结果&#xff1a; 2.泛型的常规用法 (1)定义泛型类时声明多个变量 class MyClass<T1,T2…

python提取图片型pdf中的文字(提取pdf扫描件文字)

前言 文字型pdf提取&#xff0c;python的库一大堆&#xff0c;但是图片型pdf和pdf扫描件提取&#xff0c;还是有些难度的&#xff0c;我们需要用到OCR&#xff08;光学字符识别&#xff09;功能。 一、准备 1、安装OCR&#xff08;光学字符识别&#xff09;支持库 首先要安…