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.yaml以监控存放数据的端口,本例中设置为19090,增加job_name及其下的targets,可参考open telemetry的例子设置
本例采用某DEMO应用,对/hello接口进行埋点,该GET接口的参数为使用者的名字name,并在网页上输出'hello ' + name
本例选择使用open telemetry中metrics instrument value observer,该instrument持续监控特定数据并进行存储。在本例中,我们选择让其监控使用者名字的长度,即每次该接口被访问,参数name的长度就会被记录为metrics。
通过9090端口即可访问到Prometheus的GUI,输入query incoming_messages即可查看特定时间段下的该metrics
通过http://localhost:9090/api/v1/query?query=incoming_messages 即可访问