• Prometheus的remotewrite for java


     1、增加参数重启prometheus

     修改 prometheus启动参数

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

    重启 prometheus

    2、下载案例

    GitHub - bprasen/remotewrite

    3、迁移

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

    pom中增加

    
    
    
        com.google.protobuf
        protobuf-java
        3.11.1
    
    
    
    
        com.google.protobuf
        protobuf-java-util
        3.11.1
    
    
    
    
        org.xerial.snappy
        snappy-java
        1.1.8.4
    
    
        org.json
        json
        20200518
    
    
        com.github.wnameless
        json-flattener
        0.2.2
    
    

    4、测试

    1. import com.itl.iap.kafka.datacollect.provider.GCKafkaCollectProviderApplication;
    2. import com.itl.iap.kafka.datacollect.provider.prometheus.MetricPoint;
    3. import lombok.extern.slf4j.Slf4j;
    4. import org.assertj.core.util.Lists;
    5. import org.junit.jupiter.api.Test;
    6. import org.springframework.beans.factory.annotation.Autowired;
    7. import org.springframework.boot.test.context.SpringBootTest;
    8. import org.springframework.test.context.ActiveProfiles;
    9. import org.springframework.test.context.ContextConfiguration;
    10. import com.itl.iap.kafka.datacollect.provider.prometheus.MetricPoint;
    11. import com.itl.iap.kafka.datacollect.provider.prometheus.PrometheusService;
    12. import com.itl.iap.kafka.datacollect.provider.prometheus.TasksConfig;
    13. import java.io.IOException;
    14. import java.util.HashMap;
    15. import java.util.Map;
    16. @ActiveProfiles("dev")
    17. @SpringBootTest
    18. @ContextConfiguration(classes = GCKafkaCollectProviderApplication.class)
    19. @Slf4j
    20. public class PrometheusTest {
    21. @Autowired
    22. private PrometheusService prometheusService;
    23. @Test
    24. public void reportTest() throws IOException {
    25. Map tags = new HashMap<>();
    26. tags.put("a", "b1");
    27. tags.put("c", "d1");
    28. MetricPoint mp = new MetricPoint();
    29. TasksConfig.Item conf = new TasksConfig.Item();
    30. conf.setLabels(tags);
    31. conf.setMetric("metric_testAB");
    32. mp.setTime(System.currentTimeMillis() - 60*1000);
    33. mp.setValue(56);
    34. mp.setConf(conf);
    35. Map tags2 = new HashMap<>();
    36. tags2.put("aa", "bb1");
    37. tags2.put("cc", "dd1");
    38. MetricPoint mp2 = new MetricPoint();
    39. TasksConfig.Item conf2 = new TasksConfig.Item();
    40. conf2.setLabels(tags2);
    41. conf2.setMetric("metric_testAB");
    42. mp2.setValue(150);
    43. mp.setTime(System.currentTimeMillis());
    44. mp2.setConf(conf2);
    45. prometheusService.remoteWrite(Lists.newArrayList(mp, mp2));
    46. }
    47. }

    参考

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

    GitHub - bprasen/remotewrite

  • 相关阅读:
    ubuntu20.04.6安装Intel AX211网卡驱动 2024.8
    Python学习之Python代码如何打包成应用
    929903-87-7,Ac-Arg-Leu-Arg-MCA
    Linux系统中利用C语言控制LED的方法
    无监督学习的集成方法:相似性矩阵的聚类
    互联网大厂女工抑郁症自救指南
    数据网格和视图入门
    Redis原理:IntSet
    Android 获取设备内存和外存
    CSS读书笔记
  • 原文地址:https://blog.csdn.net/xiaohanshasha/article/details/128050526