metricbeat对接kafka

article/2025/10/8 0:51:10

在监控系统中经常用到kafka来处理数据,上层平台会从kafka直接取数据进行分析,今天分享下metricbeat监控的数据如何输出到kafka中,并对各配置项进行详细说明。
metricbeat环境搭建点这里
kafka环境搭建点这里
-在metricbeat配置文件中配置output为kafka

output.kafka:# initial brokers for reading cluster metadatahosts: ["kafka1:9092", "kafka2:9092", "kafka3:9092"]# message topic selection + partitioningtopic: '%{[type]}'partition.round_robin:reachable_only: falserequired_acks: 1compression: gzipmax_message_bytes: 1000000

配置说明
  Username:连接kafka的用户名(如果kafka有设置)
  Password:连接kafka的密码
  Topic:kafka中的topic设置
  Key:发送消息时可以指定 key,producer根据此key和partition策略来选择存入哪个partition(可用于hash计算消息发布到哪个分区)
  Partition:kafka的分发策略,有random(随机),round_robin(轮询),hash(哈希),默认是hash
Random.group_events:分发消息时对每个partition发送event的数量,默认为1(partition主要是实现负载均衡,让消息均匀的发送到多个partition中,设置为1则表示对一个partition发送一个event后开始对下一个partition发送event)
  Round_robin.group_events:同上
  Hash.hash:fields的列表,用于计算partition的hash值
Hash.random如果没有hash则采用随机分发的方式到partition
  Client_id:theconfigurable ClientID used for logging, debugging, and auditing purposes. Thedefault is “beats”.
  Worker:Thenumber of concurrent load-balanced Kafka output workers.
  Metadata:kafka元数据更新设置(Topic/Partion与broker的映射关系:每一个Topic的每一个Partion,得知道其对应的broker列表是什么,其中leader是谁,follower是谁)
  Refresh_frequency:刷新频率,默认10分钟
  Retry.max:尝试更新次数,默认3
  Retry.backoff:每次尝试更新之间的间隔,默认250ms
  Max_retries:消息发布失败后重新尝试的次数,默认3(beat->kafka)
  bulk_max_size:单个kafka请求里面的最大事件数,默认2048
The maximum number of events to bulk in a singleKafka request. The default is 2048
  timeout:等待kafka broker响应的时间,默认30s
  broker_timeout:kafka broker等待请求的最大时长,默认10s
  channel_buffer_size:每个kafka broker在输出管道中的消息缓存数,默认256
Per Kafka broker number of messages buffered inoutput pipeline. The default is 256.
  keep_alive:网络连接的保活时间,默认为0,不开启保活机制
  compression:输出压缩码,可选项有none,snappy,gzip,默认为gzip
(kafka支持的压缩,数据会先被压缩,然后被生产者发送,并且在服务端也是保持压缩状态,只有在最终的消费者端才会被解压缩)。
  max_message_bytes:允许的最大json消息大小,默认为1000000,超出的会被丢弃,应该小于broker的  message.max.bytes(broker能接收消息的最大字节数)
  required_acks:kafka的响应返回值,0位无等待响应返回,继续发送下一条消息;1表示等待本地提交(leader broker已经成功写入,但follower未写入),-1表示等待所有副本的提交,默认为1
flush_interval:在producer api调用时,等待新事件的时间秒数
The number of seconds to wait for new eventsbetween two producer API calls.
ssl:ssl的配置项,如对kafka连接的root CA等,具体配置,参考点这里

-选择配置:

vi /etc/metricbeat/metricbeat.yml
output.kafka:#Array of hosts to connect to.hosts: ["192.168.1.100:9092"]#message topictopic: "test2topic"

然后重启metricbeat服务即可。
在kafka中查看topic中保存的消息:

{"@timestamp":"2017-02-20T02:48:31.499Z","beat":{"hostname":"centos-78","name":"centos-78","version":"5.2.0"},"metricset":{"module":"system","name":"process","rtt":72121},"system":{"process":{"cmdline":"pickup-l -t unix -u","cpu":{"start_time":"2017-02-20T02:42:40.000Z","total":{"pct":0.000000}},"fd":{"limit":{"hard":4096,"soft":4096},"open":12},"memory":{"rss":{"bytes":4059136,"pct":0.001400},"share":3035136,"size":91222016},"name":"pickup","pgid":2139,"pid":4847,"ppid":2139,"state":"sleeping","username":"postfix

小笨驴在吃草的时候创建了微信公众号,为方便更多觅食的“小笨驴”,为大家准备了大量的免费基础教学资料以及技术解决方案,还会定时发布一些好的技术文章,当然也会扯扯蛋、谈谈人生、呵呵,希望我们这群乐于分享技术的“小笨驴”团队越来越大!


这里写图片描述


http://chatgpt.dhexx.cn/article/OKd3qwSM.shtml

相关文章

Beats:通过 Metricbeat 实现外部对 Elastic Stack 的监控

自 Elastic 7.5 发布开始,通过外部监控 Elastic Stack 已经全面实施。 可以通过 Metricbeat 模块监视 Elasticsearch,Kibana,Logstash,APM 服务器和 Beats。 使用外部收集,用户现在可以收集和发送其 Elastic Stack 的…

Metricbeat 的使用

目标 统计并展示系统的信息 cpu, 内存等 (当然metricbeat能收集的信息种类还很多) 前提 版本: 5.x已经安装了ELK (elasticsearch, logstash (可选), kibana)安装了x-pack (配置了对应的security)(可选&a…

Metricbeat 8.4.0 linux 安装(Metricbeat-part1)

Metricbeat是一款轻量型指标采集器,用于从系统和服务收集指标。Metricbeat 能够以一种轻量型的方式,输送各种系统和服务统计数据,从 CPU 到内存,从 Redis 到 Nginx,不一而足。将 Metricbeat 部署到您的所有 Linux、Win…

Metricbeat部署指南

官网下载metricbeat,https://www.elastic.co/downloads/beats/metricbeat。 解压tar包,tar -zxvf metricbeat-7.0.0-linux-x86_64.tar.gz。 进入目录,cd metricbeat-7.0.0-linux-x86_64。 编辑metricbeat配置文件metricbeat.yml&#xff1…

metricbeat的基本使用

文章目录 概述metricbeat安装metricbeat启动案例举例1:收集系统运行的指标数据至es举例2:收集es运行的指标数据至es 概述 定期收集操作系统或应用服务的指标数据存储到Elasticsearch中,进行实时分析 metricbeat安装 去下载页下载&#xff…

Metricbeat安装与初级使用

metricbeat作用: 将 Metricbeat 部署到您所有的 Linux、Windows 和 Mac 主机,并将它连接到 Elasticsearch 就大功告成啦:您可以获取系统级的 CPU 使用率、内存、文件系统、磁盘 IO 和网络 IO 统计数据,以及获得如同系统上 top 命令…

Metricbeat和Filebeat的安装及配置

Beats的安装及配置 一、Metricbeat的安装配置 环境准备 下载与es同版本的metricbeat,这里为 metricbeat-7.11.1-linux-x86_64.tar.gz 这里使用root用户进行配置及启动metricbeat 已启动对应的ES服务及Kibana服务 metricbeat的安装 这里在/路径下建立beats文件…

windows安装wget

1、下载地址:http://downloads.sourceforge.net/gnuwin32/wget-1.11.4-1-setup.exe 2、双击下载的exe,同意协议,更改安装安装目录。 其余默认安装,继续下一步,安装完成 3、设置系统环境变量 添加path变量:…

手动编译源代码安装wget

从wget的源代码入手,来完成wget在Ubuntu上的安装,如果你的机器上已经默认安装了wget,请采用apt-get remove命令先卸载掉。 解决configure: error: –with-ssl was given, but GNUTLS/SSL is not available.;解决error: ./stdio.h…

win10安装wget,从此可以更快的下载文件 and windows10 下 zip命令行参数详解

1.win10安装wget 1.1安装下载 GNU Wget 1.21.3 for Windows 依次如下: 2、将下载好的wget.exe放到 C:/windows/system32文件夹下 也可以自行放置文件,添加到系统路径即可 第三步:配置系统环境变量(如下)电脑-属性…

Mac安装wget流程及异常解决

目录 1.终端输入wget检查自己是否已经安装过wget,没有安装如下图 2. 安装brew 1)点击brew官网:官网网址 2)将命令粘贴到终端,回车执行 3)输入sudo密码。 4)系统开始自动安装brew,等待晚装完成&#xf…

使用rpm 安装wget

步骤: 下载wget的rpm包:http://mirrors.163.com/centos/7/os/x86_64/Packages/ 使用浏览器搜索功能查找关键字 ,这个网站搜索wget 运行: rpm -ivh wget-1.14-15.el7_4.1.x86_64.rpm

centos7离线安装wget

gcc安装 CentOS下离线安装gcc环境,图文详细,方法全面_lgx211的技术博客_51CTO博客 m4安装 下载: http://mirrors.kernel.org/gnu/m4/m4-1.4.13.tar.gz 拷贝到centos系统上,并解压: tar -xzvf m4-1.4.13.tar.gz到解…

mac 如何安装 wget

1.安装 Homebrew 在安装 wget 之前需要安装一个适用于 mac 的包管理器 Homebrew,打开 mac 终端执行如下命令进行安装: /usr/bin/ruby -e "$(curl -fsSL https://cdn.jsdelivr.net/gh/ineo6/homebrew-install/install)"安装成功后的界面如下所…

CentOS8下安装wget、wget2

目录 一、yum 安装二、下载包安装 wget1.安装 gmp(1)下载(2)解压(3)编译安装 2.安装 nettle(1)下载(2)解压(3)编译安装 3.安装 gnutls…

cygwin安装wget

1. 安装make 下载make包https://gnu-make.soft32.com/free-download/ 将make解压放到 E:\cygwin64\home\Administrator 2. 在cygwin中进入/home/Administrator/make-3.81路径 依次执行以下命令: ./configure ./build.sh 在make-3.81下就会生成make.exe文件 3.…

yum安装wget命令

wget 是一个从网络上自动下载文件的自由工具,支持通过 HTTP、HTTPS、FTP 三个最常见的TCP/IP下载,并可以使用 HTTP 代理。"wget" 这个名称来源于 “World Wide Web” 与 “get” 的结合。 今天在虚拟机中准备安装一个软件,使用wge…

Centos7安装wget

官网 https://www.gnu.org/software/wget/ 环境 CentOS7 yum 安装 sudo yum install wget 这个报错,查资料是说,网络不通 ping 了下,返回 Name or service not known ,从错误看应该是没有配置DNS 配置DNS参考https://www.cnblogs…

Centos 7 安装 wget

文章目录 1. wget命令详解:2.查看帮助手册3.使用 wget 下载单个文件4.使用 wget -O 下载并以不同的文件名保存5.使用 wget -c 断点续传6.使用 wget -b 后台下载 1. wget命令详解: wget是Linux中的一个下载文件的工具,wget是在Linux下开发的开放源代码的软件&#x…

win10安装wget

安装下载 点击下载 依次如下: 1. 2、将下载好的wget.exe放到 C:/windows/system32文件夹下 3.3、在cmd中输入wget --version 如下则成功: 测试下载图片 wget http://q1.xiongmaoya.com/2021/08/09/26045/1.jpg