Prometheus的remotewrite for java

news2025/3/3 5:15:26

 1、增加参数重启prometheus

 修改 prometheus启动参数

- "--enable-feature=remote-write-receiver"

重启 prometheus

2、下载案例

GitHub - bprasen/remotewrite

3、迁移

将案例中的代码复制到springboot/springcloud中 

pom中增加

<!-- prometheus remote write 依赖 -->
<!-- https://mvnrepository.com/artifact/com.google.protobuf/protobuf-java -->
<dependency>
    <groupId>com.google.protobuf</groupId>
    <artifactId>protobuf-java</artifactId>
    <version>3.11.1</version>
</dependency>

<!-- https://mvnrepository.com/artifact/com.google.protobuf/protobuf-java-util -->
<dependency>
    <groupId>com.google.protobuf</groupId>
    <artifactId>protobuf-java-util</artifactId>
    <version>3.11.1</version>
</dependency>

<!-- https://mvnrepository.com/artifact/org.xerial.snappy/snappy-java -->
<dependency>
    <groupId>org.xerial.snappy</groupId>
    <artifactId>snappy-java</artifactId>
    <version>1.1.8.4</version>
</dependency>
<dependency>
    <groupId>org.json</groupId>
    <artifactId>json</artifactId>
    <version>20200518</version>
</dependency>
<dependency>
    <groupId>com.github.wnameless</groupId>
    <artifactId>json-flattener</artifactId>
    <version>0.2.2</version>
</dependency>

4、测试

import com.itl.iap.kafka.datacollect.provider.GCKafkaCollectProviderApplication;
import com.itl.iap.kafka.datacollect.provider.prometheus.MetricPoint;
import lombok.extern.slf4j.Slf4j;
import org.assertj.core.util.Lists;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.ActiveProfiles;
import org.springframework.test.context.ContextConfiguration;
import com.itl.iap.kafka.datacollect.provider.prometheus.MetricPoint;
import com.itl.iap.kafka.datacollect.provider.prometheus.PrometheusService;
import com.itl.iap.kafka.datacollect.provider.prometheus.TasksConfig;

import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

@ActiveProfiles("dev")
@SpringBootTest
@ContextConfiguration(classes = GCKafkaCollectProviderApplication.class)
@Slf4j
public class PrometheusTest {

    @Autowired
    private PrometheusService prometheusService;

    @Test
    public void reportTest() throws IOException {
        Map<String, String> tags = new HashMap<>();
        tags.put("a", "b1");
        tags.put("c", "d1");
        MetricPoint mp = new MetricPoint();
        TasksConfig.Item conf = new TasksConfig.Item();
        conf.setLabels(tags);
        conf.setMetric("metric_testAB");
        mp.setTime(System.currentTimeMillis() - 60*1000);
        mp.setValue(56);
        mp.setConf(conf);

        Map<String, String> tags2 = new HashMap<>();
        tags2.put("aa", "bb1");
        tags2.put("cc", "dd1");
        MetricPoint mp2 = new MetricPoint();
        TasksConfig.Item conf2 = new TasksConfig.Item();
        conf2.setLabels(tags2);
        conf2.setMetric("metric_testAB");
        mp2.setValue(150);
        mp.setTime(System.currentTimeMillis());
        mp2.setConf(conf2);
        prometheusService.remoteWrite(Lists.newArrayList(mp, mp2));
    }
}

参考

prometheus remote write for springboot 远程写入<一>-pudn.com

GitHub - bprasen/remotewrite

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Windows OpenGL 图像阴影

目录 一.OpenGL 图像阴影 1.原始图片2.效果演示 二.OpenGL 图像阴影源码下载三.猜你喜欢 零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenGL ES 基础 零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenGL ES 特效 零基础 OpenGL ES 学习…

【机器学习项目实战10例】(一):利用线性回归实现股票预测分析

💥 项目专栏:【机器学习项目实战10例】 文章目录 一、利用线性回归实现股票预测分析二、加载股票数据三、将数据进行标准化四、形成训练数据五、加载数据集六、构建线性回归模型七、精度测试八、网格搜索九、绘制结果一、利用线性回归实现股票预测分析 股价预测其实是一个较…

PyTorch深度强化学习中蒙特卡洛策略梯度法在短走廊环境(CartPole-v0)中的实战(超详细 附源码)

需要源码请点赞关注收藏后评论区留下QQ~~~ 一、策略梯度法 策略梯度法&#xff08;PG&#xff09;利用策略函数来选择动作&#xff0c;同时使用值函数来辅助策略函数参数的更新&#xff0c;根据策略类型的不同&#xff0c;可以分为随机策略梯度和确定性策略梯度 策略梯度法与…

1990-2021年全国各省城市化水平数据

1990-2021年全国各省城市化水平数据 1、包括&#xff1a;全国31省 2、时间&#xff1a;1990-2021年 3、指标包括&#xff1a;城镇常住人口数(万人)、常住人口数(万人)、城市化水平 4、指标衡量&#xff1a;城市化率本地区城镇人口/总人口 5、指标解释&#xff1a; 城市化…

C++ 语法基础课5 —— 字符串

文章目录1. 字符与整数的联系 —— ASCII码1.1 练习 — 统计数字和字母个数2. 字符数组(记得多\0)2.1 字符数组的输入输出2.2 字符数组的常用操作2.3 遍历字符数组中的字符3. 标准库类型 string3.1 定义和初始化3.2 string 上的操作3.2.1 string的读写3.2.2 使用getline读取一整…

操作系统之启动过程

本文参考MOOC哈工大操作系统课程&#xff0c;需要有一定的汇编基础 打开电源后&#xff0c;计算机做了什么 此时需要先运行的代码是BIOS x86 PC开机后CPU处于实模式&#xff0c;寻址方式为CS:IP&#xff08;CS左移4位IP&#xff09;开机时&#xff0c;初始化的CS0xFFFF&…

_linux 进程间通信(命名管道)

文章目录1. 创建一个命名管道2. 用命名管道实现server&client通信2.0 log.hpp打印日志信息2.1 comm.hpp(server.cc和client.cc共有文件)2.2 server.cc读取数据2.3 client.cc发送数据2.4 结果展示3. 还可以多个进程接收1. 创建一个命名管道 命名管道可以从命令行上创建&…

微服务介绍微服务环境搭建

一、微服务介绍 从互联网早起到现在&#xff0c;系统架构大体经历了下面几个过程: 单体应用架构--->垂直应用架构--->分布 式架构--->SOA架构--->微服务架构&#xff0c;当然还有悄然兴起的Service Mesh(服务网格化)。 微服务架构 微服务架构在某种程度上是面向…

机械原理复习试题及答案

机械原理 一、填空题&#xff1a; 1.机构具有确定运动的条件是机构的自由度数等于 。 2.同一构件上各点的速度多边形必 于对应点位置组成的多边形。 3.在转子平衡问题中&#xff0c;偏心质量产生的惯性力可以用 相对地表示。 4.机械系统的等效力学模型是具有 &#xff0c;其上作…

Word文档中经常会遇到字体间距突然变得很大,怎么处理?

Word文档中经常会遇到字体间距突然变得很大&#xff0c;怎么处理&#xff1f; 目录 Word文档中经常会遇到字体间距突然变得很大&#xff0c;怎么处理&#xff1f; 1、如下图字体间距突然变大。 可能原因一&#xff1a; 1、选中该段文字&#xff0c;鼠标右键选择【段落 】 …

【882. 细分图中的可到达节点】

来源&#xff1a;力扣&#xff08;LeetCode&#xff09; 描述&#xff1a; 给你一个无向图&#xff08;原始图&#xff09;&#xff0c;图中有 n 个节点&#xff0c;编号从 0 到 n - 1 。你决定将图中的每条边 细分 为一条节点链&#xff0c;每条边之间的新节点数各不相同。 图…

进程替换与复制

目录进程替换基础知识什么是进程替换进程替换函数函数使用execlexeclpexecleexecvexecvpexecve进程替换基础知识 什么是进程替换 进程替换&#xff1a;把当前进程换为其他进程执行。&#xff08;其他进程&#xff1a;创建新进程&#xff0c;生成可执行程序&#xff0c;装在进…

Android 13 Wi-Fi状态机流程及Log分析

本文基于Android 13源码解读,对Wi-Fi状态机调用流程进行梳理,并结合Log进行分析,便于大家理解Wi-Fi模块调用流程。 梳理出Wi-Fi状态机共有如下几种状态: mConnectableState mConnectingOrConnectedState mL2ConnectingState mL2ConnectedState mL3ProvisioningState …

【机器学习项目实战10例目录】项目详解 + 数据集 + 完整源码

前言 大家好&#xff0c;我是阿光。 本专栏整理了《机器学习项目实战10例》&#xff0c;内包含了各种不同的入门级机器学习项目&#xff0c;包含项目原理以及源码&#xff0c;每一个项目实例都附带有完整的代码数据集。 正在更新中~ ✨ &#x1f6a8; 我的项目环境&#xff…

《计算机体系结构量化研究方法第6版》1.4 技术趋势

引入 1、以下五种技术是现代计算机实现所不可或缺的。 &#xff08;1&#xff09;集成电路逻辑技术。晶体管密度每年大约增加35%&#xff0c;相当于每4年翻两番。晶片大小的增长速度比较难以预测&#xff0c;也慢一些&#xff0c;增速为每年10%~ 20%。两者综合起来&#xff0c…

【Linux】CentOS 7安装 MySQL

1. 更改Centos YUM 源 1&#xff09; 备份 yum 源配置文件 &#xff08;在根目录下执行&#xff09; mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak2&#xff09;将官方的 yum 源换成阿里的yum源 wget -O /etc/yum.repos.d/CentOS-Base.repo…

Day12--渲染二级和三级分类列表

1.动态渲染右侧的二级分类列表 我的操作&#xff1a; 1》在cate.vue中&#xff1a; 2》效果图&#xff1a; *********************************** *********************************** *********************************** 2.循环渲染右侧二级分类列表的 UI 结构&#xff1…

RabbitMQ快速入门

中间件&消息队列 中间件概述 中间件&#xff08;Middleware&#xff09;是处于操作系统和应用程序之间的软件&#xff0c;也有人认为它应该属于操作系统中的一部分。人们在使用中间件时&#xff0c;往往是一组中间件集成在一起&#xff0c;构成一个平台&#xff08;包括开…

你不能错过的【Python爬虫】测试3(爬取所有内容 + 完整源代码 + 架构 + 结果)

目录 一、主要工具包 以及 版本二、架构展示三、各部分code3.1 yjs.py (重要)3.2 items.py3.3 middlewares.py3.4 pipelines.py3.5 settings.py3.6 start.py四、结果展示一、主要工具包 以及 版本 scrapy:2.7.1版本(这里主要用到的工具包) 二、架构展示 三、各部分code 3…

MySQL体系-日志与MVCC(源码层面)

MySQL 本身具备生产binlog日志的功能&#xff0c;在InnoDB存储引擎中&#xff0c;为了持久性有了redo log,为了原子性和隔离性有了undo log&#xff0c;最终通过redo log undo log 保证了一致性&#xff1b; 我先画一个InnoDB操作流程&#xff0c;先简单的了解下它们的工作机制…