openprom - XLab-Tongji/AIOpsConceptualModeling GitHub Wiki

12.19.2020 Li Detao

本页介绍了从零开始的使用Prometheus监控open telemetry数据的配置教程

简述

主要思想

将OTel定义的metrics通过OTel提供的exporter转换为Prometheus的格式,再通过Prometheus提供的http exporter把该数据暴露出来

依赖

  • maven代码块:
    <dependency> <groupId>io.opentelemetry</groupId> <artifactId>opentelemetry-api</artifactId> <version>0.13.1</version> </dependency> <dependency> <groupId>io.opentelemetry</groupId> <artifactId>opentelemetry-sdk</artifactId> <version>0.13.1</version> </dependency> <dependency> <groupId>io.opentelemetry</groupId> <artifactId>opentelemetry-exporter-prometheus</artifactId> <version>0.13.1</version> </dependency> <dependency> <groupId>io.prometheus</groupId> <artifactId>simpleclient</artifactId> <version>0.9.0</version> </dependency> <dependency> <groupId>io.prometheus</groupId> <artifactId>simpleclient_httpserver</artifactId> <version>0.9.0</version> </dependency>

实战

以open telemetry提供的方法为例

配置应用

配置Prometheus

修改prometheus.yaml以监控存放数据的端口,本例中设置为19090,增加job_name及其下的targets,可参考open telemetry的例子设置

后端埋点

本例采用某DEMO应用,对/hello接口进行埋点,该GET接口的参数为使用者的名字name,并在网页上输出'hello ' + name
本例选择使用open telemetry中metrics instrument value observer,该instrument持续监控特定数据并进行存储。在本例中,我们选择让其监控使用者名字的长度,即每次该接口被访问,参数name的长度就会被记录为metrics。

数据读取

Prometheus

通过9090端口即可访问到Prometheus的GUI,输入query incoming_messages即可查看特定时间段下的该metrics

Postman

通过http://localhost:9090/api/v1/query?query=incoming_messages 即可访问

⚠️ **GitHub.com Fallback** ⚠️