prometheus监控数据远程写入Kafka集群
文章目录
- 前言
- 一、环境简介
- 1.1 环境简介
- 1.2 部署清单
- 1.3 组件版本
- 二、部署步骤
- 2.1 prometheus部署
- 2.2 kafka集群部署
- 2.3 prometheus-kafka-adapter部署
- 三、数据验证
- 四、总结
前言
根据项目要求,需将prometheus监控数据存储到kafka中。前面为了图方便就搭建了单机版的kafka进行验证,但是kafka中一直没有数据,后来部署了kafka集群,才解决了这个问题。
将prometheus监控数据写入到kafka中,大多数都是使用prometheus-kafka-adapter插件,当然如果条件允许,也可以自己开发。
一、环境简介
1.1 环境简介
#1 系统版本
[root@es2][/opt]
$cat /etc/redhat-release
CentOS Linux release 7.7.1908 (Core)#2 可通外网
[root@es2][/usr/local/prometheus]
$ping -c 3 www.baidu.com
PING www.a.shifen.com (220.181.38.150) 56(84) bytes of data.
64 bytes from 220.181.38.150 (220.181.38.150): icmp_seq=1 ttl=51 time=6.65 ms
64 bytes from 220.181.38.150 (220.181.38.150): icmp_seq=2 ttl=51 time=6.48 ms
64 bytes from 220.181.38.150 (220.181.38.150): icmp_seq=3 ttl=51 time=5.95 ms--- www.a.shifen.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 5.950/6.363/6.652/0.306 ms
1.2 部署清单
| 序号 | IP | 主机名 | 部署服务 |
|---|---|---|---|
| 1 | 192.168.56.108 | es2 | prometheus |
| 2 | 192.168.56.116 | cydocker | docker,prometheus-kafka-adapter |
| 3 | kafka集群Ip192.168.56.101 | cnode1 | zk,kafka |
1.3 组件版本
| prometheus | 2.29.1 |
|---|---|
| docker | 20.10.14 |
| prometheus-kafka-adapter | 1.7.0 |
| kafka | 2.12-3.6.0 |
二、部署步骤
2.1 prometheus部署
#1 解压缩
[root@node1 package]# tar -zxvf prometheus-2.29.1.linux-amd64.tar.gz #2 移动并命名
[root@node1 package]# mv prometheus-2.29.1.linux-amd64 /usr/local/prometheus#3 创建数据存储路径
[root@es2][/usr/local/prometheus]
$ mkdir -p /data/prometheus#4 修改prometheus.yml文件
[root@es2][/usr/local/prometheus]
$vim prometheus.yml- job_name: "prometheus"# metrics_path defaults to '/metrics'# scheme defaults to 'http'.static_configs:- targets: ["localhost:9090"]# 远程写到prometheus-kafka-adaptor
remote_write:- url: "http://192.168.56.116:10401/receive" #这里换成部署prometheus-kafka-adaptor服务的节点IP#5 开启服务(只为测试用,正式环境请注册service)
/usr/local/prometheus/prometheus \--config.file=/usr/local/prometheus/prometheus.yml \--storage.tsdb.path=/data/prometheus \--storage.tsdb.retention.time=365d \--web.listen-address=0.0.0.0:9090 \--web.enable-admin-api \--web.enable-lifecycle
2.2 kafka集群部署
请参考我写的上一篇博客《kafka集群部署搭建【详细版】》,这里不错重复赘述,但是需要先创建好topic。
[root@cnode1][/opt/kafka_2.12-3.6.0/bin]
$ ./kafka-topics.sh --create --topic test1 --bootstrap-server cnode1:9092 --partitions 1 --replication-factor 3
2.3 prometheus-kafka-adapter部署
docker部署这里不做赘述,可以直接看其他人博客
#1 拉取镜像
[root@cydocker][~]
$ docker pull telefonica/prometheus-kafka-adapter:1.7.0#2 编写启动脚本
[root@cydocker][~/adapoter]
$ cat adapoter.sh
#!/usr/bin/env bash
docker run -d --name prometheus-kafka-adapter --restart=always -m 2g \
-e KAFKA_BROKER_LIST=192.168.56.101:9092 \
-e KAFKA_TOPIC=test1 \
-e PORT=10401 \
-e SERIALIZATION_FORMAT=json \
-e GIN_MODE=release \
-e LOG_LEVEL=debug \
-p 10401:10401 \
telefonica/prometheus-kafka-adapter:1.7.0#3 查看运行状态
[root@cydocker][~/adapoter]
$ docker ps |grep kafka
8d47b0210004 telefonica/prometheus-kafka-adapter:1.7.0 "/bin/sh -c /prometh…" 4 days ago Up 35 minutes 0.0.0.0:10401->10401/tcp, :::10401->10401/tcp prometheus-kafka-adapter
三、数据验证
登陆到kafka节点进行验证,结果如下:
[root@cnode1][/opt/kafka_2.12-3.6.0/bin]
$ ./kafka-console-consumer.sh --bootstrap-server cnode1:9092 --topic test1{"labels":{"__name__":"prometheus_tsdb_reloads_total","instance":"127.0.0.1:9090","job":"prometheus"},"name":"prometheus_tsdb_reloads_total","timestamp":"2024-11-14T04:39:38Z","value":"7"}
{"labels":{"__name__":"prometheus_tsdb_retention_limit_bytes","instance":"127.0.0.1:9090","job":"prometheus"},"name":"prometheus_tsdb_retention_limit_bytes","timestamp":"2024-11-14T04:39:38Z","value":"0"}
{"labels":{"__name__":"prometheus_tsdb_size_retentions_total","instance":"127.0.0.1:9090","job":"prometheus"},"name":"prometheus_tsdb_size_retentions_total","timestamp":"2024-11-14T04:39:38Z","value":"0"}
{"labels":{"__name__":"prometheus_tsdb_storage_blocks_bytes","instance":"127.0.0.1:9090","job":"prometheus"},"name":"prometheus_tsdb_storage_blocks_bytes","timestamp":"2024-11-14T04:39:38Z","value":"1239229"}
{"labels":{"__name__":"prometheus_tsdb_symbol_table_size_bytes","instance":"127.0.0.1:9090","job":"prometheus"},"name":"prometheus_tsdb_symbol_table_size_bytes","timestamp":"2024-11-14T04:39:38Z","value":"392"}
{"labels":{"__name__":"prometheus_tsdb_time_retentions_total","instance":"127.0.0.1:9090","job":"prometheus"},"name":"prometheus_tsdb_time_retentions_total","timestamp":"2024-11-14T04:39:38Z","value":"0"}
{"labels":{"__name__":"prometheus_tsdb_tombstone_cleanup_seconds_bucket","instance":"127.0.0.1:9090","job":"prometheus","le":"0.005"},"name":"prometheus_tsdb_tombstone_cleanup_seconds_bucket","timestamp":"2024-11-14T04:39:38Z","value":"0"}
{"labels":{"__name__":"prometheus_tsdb_tombstone_cleanup_seconds_bucket","instance":"127.0.0.1:9090","job":"prometheus","le":"0.01"},"name":"prometheus_tsdb_tombstone_cleanup_seconds_bucket","timestamp":"2024-11-14T04:39:38Z","value":"0"}
{"labels":{"__name__":"prometheus_tsdb_tombstone_cleanup_seconds_bucket","instance":"127.0.0.1:9090","job":"prometheus","le":"0.025"},"name":"prometheus_tsdb_tombstone_cleanup_seconds_bucket","timestamp":"2024-11-14T04:39:38Z","value":"0"}
四、总结
至此,prometheus监控数据推送到kafka集群验证完毕,大家如果有什么疑问,请及时和我沟通交流。
相关文章:
prometheus监控数据远程写入Kafka集群
文章目录 前言一、环境简介1.1 环境简介1.2 部署清单1.3 组件版本 二、部署步骤2.1 prometheus部署2.2 kafka集群部署2.3 prometheus-kafka-adapter部署 三、数据验证四、总结 前言 根据项目要求,需将prometheus监控数据存储到kafka中。前面为了图方便就搭建了单机…...
Excel使用-弹窗“此工作簿包含到一个或多个可能不安全的外部源的链接”的发生与处理
文章目录 前言一、探讨问题发生原因1.引入外部公式2.引入外部数据验证二、问题现象排查及解决1.排查公式2.排查数据验证3.特殊处理方式总结前言 作为一种常用的办公软件,Excel被大家所熟知。尽管使用了多年,有时候在使用Excel时候也会发生一些不太常见的现象,需要用心核查下…...
C++小白实习日记——Day 2 TSCNS怎么读取当前时间
和老板问了一下,今天就可以自己上手了: 用TSCNS写了一个cpp,运行出来老板说让我去看看另一个项目是怎么做的 用TSCNS和std库获取当前时间 #include <iostream> #include <iomanip> #include "tscns.h"using namespace std;TSCN…...
【Pythonr入门第二讲】你好,世界
"Hello, World!" 是一种传统的编程入门示例,通常是程序员学习一门新编程语言时编写的第一个程序。这个程序的目标非常简单:在屏幕上输出 "Hello, World!" 这个字符串。尽管它非常简单,但具有重要的象征意义和实际价值。 …...
3D Streaming 在线互动展示系统:NVIDIA RTX 4090 加速实时渲染行业数字化转型
随着科技的飞速发展,实时渲染正逐步成为游戏与实时交互领域的重要驱动力。与离线渲染不同,实时渲染需要极高的计算性能,对硬件设备尤其是GPU的性能要求极高。随着 RTX 4090 显卡的问世,其强大的算力和创新技术,为实时渲…...
Oracle 单机及 RAC 环境 db_files 参数修改
Oracle 数据库中 DB_FILES 定义了数据库中数据文件的个数,默认值为200,如果创建数据库文件时超过DB_FILES 定义的值就会报 ORA-00059 错误。 下面分别演示单机及 RAC 环境下修改 db_files 参数的操作步骤。 一、单机环境 1.查询当前参数值 SQL> sh…...
消息中间件分类
消息中间件(Message Middleware)是一种在分布式系统中实现跨平台、跨应用通信的软件架构。它基于消息传递机制,允许不同系统、不同编程语言的应用之间进行异步通信。 常见的消息中间件类型包括: 1. JMS(Java Message S…...
讯飞、阿里云、腾讯云:Android 语音合成服务对比选择
在 移动端 接入语音合成方面,讯飞和腾讯云等都是优秀的选择,但各有其特点和优势。咱们的需求是需要支持普通话/英语/法语三种语言,以下是对各个平台的详细比较: 一、讯飞语音合成介绍 与语音听写相反,语音合成是将一段…...
SpringBoot开发——整合AJ-Captcha实现安全高效的滑动验证码
文章目录 一、什么是AJ-Captcha二、项目配置1、Maven依赖配置2、滑动验证码的基本原理3、 后端实现3.1 生成滑动验证码图片代码解释3.2 校验滑块位置代码解释4、前端部分代码解释5、Redis 缓存滑动验证码信息5.1 Redis配置5.2使用Redis缓存验证码数据5.3 校验时从Redis获取总结…...
Spring Security 核心组件
Spring Security 是一个功能全面的安全框架,用于处理基于 Spring 应用程序的身份验证和授权。 它提供了开箱即用的支持,采用行业标准的做法和机制来保护你的应用。 无论你是开发简单的 Web 应用还是复杂的微服务架构,理解 Spring Security …...
聚焦 AUTO TECH 2025华南展:探索新能源汽车发展新趋势
随着“新四化”浪潮的推进,汽车行业正经历前所未有的变革。中国新能源汽车正逐渐走向世界。国内汽车制造巨头如比亚迪、吉利、奇瑞、长安等,已经将出口提升至核心战略地位。中国新能源汽车的发展,不仅推动了全球汽车产业的电动化转型…...
Python-简单病毒程序合集(一)
前言:简单又有趣的Python恶搞代码,往往能给我们枯燥无味的生活带来一点乐趣,激发我们对编程的最原始的热爱。那么话不多说,我们直接开始今天的编程之路。 编程思路:本次我们将会用到os,paltform,threading,ctypes,sys,…...
[STM32]从零开始的STM32 HAL库环境搭建
一、前言 之前在搭建STM32的标准库环境时就告诉过大家,开发STM32的方式主要有三种。一种是最原始但是效率最高的寄存器开发,另一种是效率仅次于寄存器难度相对较低的标准库开发,最后一种是最为简单但是程序效率最低的HAL库开发。如果对于初学…...
Docker部署Kafka SASL_SSL认证,并集成到Spring Boot
1,创建证书和密钥 需要openssl环境,如果是Window下,下载openssl Win32/Win64 OpenSSL Installer for Windows - Shining Light Productions 还需要keytool环境,此环境是在jdk环境下 本案例所使用的账号密码均为: ka…...
Pr:音频过渡
Adobe Premiere Pro 自带一组共三个音频过渡 Audio Transitions效果。 对音频剪辑之间应用交叉淡化 Crossfade过渡,操作方式类似于应用视频过渡效果。 对于交叉淡化,要保证前剪辑的出点之后及后剪辑的入点之前有足够的预留内容(也称“手柄”&…...
HarmonyOs鸿蒙开发实战(17)=>沉浸式效果第二种方案一组件安全区方案
1.沉浸式效果的目的 开发应用沉浸式效果主要指通过调整状态栏、应用界面和导航条的显示效果来减少状态栏导航条等系统界面的突兀感,从而使用户获得最佳的UI体验。 2.组件安全区方案介绍 应用在默认情况下窗口背景绘制范围是全屏,但UI元素被限制在安全区内…...
从 const 到 mutable:C++ 中的优雅妥协与设计智慧
在C编程中,const 关键字被广泛应用于确保数据的不变性,它提供了一种强大的机制来防止意外修改,从而增强了代码的可靠性和可维护性。然而,在某些特定场景下,完全的不变性可能会限制设计的灵活性,这时 mutabl…...
CC工具箱使用指南:【CAD导出界址点Excel】
一、简介 群友定制工具。 面图层导出界址点Excel表之前已经做过好几个,这个工具则是将CAD导出Excel。 CAD数据如下: 工具将如上截图中的边界线导出界址点Excel,并记录下面内的文字。 二、工具参数介绍 点击【定制工具】组里的【CAD导出界…...
制作图片马常用的五种方法总结
目录 1. 以文本方式2. Windows的cmd方式3. PhotoShop方式4. 16进制5. Linux的cat方式 图片马:就是在图片中隐藏一句话木马。利用.htaccess等解析图片为PHP或者asp文件。达到执行图片内代码目的。 1. 以文本方式 用文本方式(这里用notepad。如果用记事本的方式打开…...
深入解析MySQL中的事务处理
一、引言 事务是数据库管理系统执行过程中的一个逻辑单位,它由一系列操作组成,这些操作要么全部执行,要么全部不执行。事务在保证数据的一致性、隔离性、持久性方面发挥着重要作用。MySQL作为一个广泛使用的数据库管理系统,对事务…...
告别‘unbox’失败:Truffle项目初始化保姆级教程,从MetaCoin到自定义合约
告别‘unbox’失败:Truffle项目初始化保姆级教程,从MetaCoin到自定义合约 当你第一次接触Truffle框架时,那种兴奋感可能很快就会被truffle unbox metacoin命令失败的红字提示浇灭。别担心,这几乎是每个区块链开发者的必经之路。本…...
LeaguePrank终极指南:安全打造个性化英雄联盟游戏体验
LeaguePrank终极指南:安全打造个性化英雄联盟游戏体验 【免费下载链接】LeaguePrank 项目地址: https://gitcode.com/gh_mirrors/le/LeaguePrank LeaguePrank是一款基于英雄联盟LCU API开发的个性化定制工具,让玩家能够在不违反游戏规则的前提下…...
告别混乱:我是如何用Hugo + GitHub Actions实现博客自动化构建与发布的
告别混乱:我是如何用Hugo GitHub Actions实现博客自动化构建与发布的 去年我的博客还处于"石器时代"——每次写完文章都要手动执行hugo build,再把public文件夹里的文件拖到服务器。直到某天连续三次忘记更新CNAME文件导致域名解析失败&#…...
BilibiliDown:突破B站视频下载限制的革新性工具
BilibiliDown:突破B站视频下载限制的革新性工具 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader 😳 项目地址: https://gitcode.com/gh_mirrors/bi/Bili…...
告别串口!STM32F105RCT6的ITM调试秘籍:从零配置到华为/高通项目级日志封装
STM32F105RCT6 ITM调试实战:企业级日志系统设计与性能优化 在嵌入式开发领域,调试效率直接影响项目进度和质量。传统串口调试方式虽然简单易用,但在处理复杂企业级项目时往往显得力不从心。本文将深入探讨基于STM32F105RCT6的ITM调试技术&…...
Electron应用自动更新全解析:如何用electron-updater搭建私有更新服务器(附Vue2示例)
Electron应用私有化自动更新体系构建指南 当你的Electron应用从开发阶段进入生产环境,如何确保用户始终使用最新版本?本文将带你从零构建一套企业级私有更新体系,涵盖服务端部署策略、客户端配置优化以及用户体验设计三大核心模块。 1. 更新服…...
从黑盒到白盒:基于GB28181/RTSP全栈源码交付的AI视频平台OEM与低代码集成实战
引言:掌握核心代码,重塑交付价值链 对于系统集成商(SI)和独立软件开发商(ISV)而言,依赖厂商的“黑盒”产品无异于将命运交予他人。功能定制周期长、接口开放受限、Logo无法替换、私有协议无法打…...
Ubuntu20.04安全重启后WiFi图标消失?MT7922网卡驱动修复全攻略
Ubuntu 20.04安全重启后MT7922网卡驱动失效的深度修复指南 问题现象与初步诊断 当你使用REISUB组合键对Ubuntu 20.04进行安全重启后,可能会发现桌面右上角的WiFi图标神秘消失。这不是简单的界面显示问题,而是MT7922无线网卡驱动未能正常加载导致的深层…...
QDKTAI实战面试题50问之31-40
一、Deepseek R1及类似推理模型的应用场景与局限 (一)核心结论 Deepseek R1不适合大部分工程级场景,仅适用于特定创意类或辅助类场景,核心原因是其设计特性与工程落地需求存在冲突。 (二)关键局限&#…...
解锁Online3DViewer:浏览器端3D模型可视化的核心价值与实践指南
解锁Online3DViewer:浏览器端3D模型可视化的核心价值与实践指南 【免费下载链接】Online3DViewer A solution to visualize and explore 3D models in your browser. 项目地址: https://gitcode.com/gh_mirrors/on/Online3DViewer 在数字化设计与开发领域&am…...
