OpenTelemetry Go Auto Instrumentation

414
下载
opentelemetry-go-auto-instrumentation 是阿里巴巴开源的基于OpenTelemetry规范的Golang应用无侵入编译时注入监控方案,可以在用户完全不修改业务代码的情况下对用户的Golang应用进行监控。

使用本项目收集指标数据并上报至Prometheus


示例地址

https://github.com/alibaba/opentelemetry-go-auto-instrumentation/blob/main/example/metrics/otlp-exporter/README.md

运行示例

混合编译二进制文件

参考文档进行混合编译,得到目标二进制文件。

启动OpenTelemetry Collector以及Prometheus

通过以下命令,在示例目录下,启动OpenTelemetry Collector以及Prometheus

Terminal window
docker compose up --force-recreate --remove-orphans --detach

运行应用

按照OpenTelemetry官方文档设置OpenTelemetry的上报端点等环境变量,并且启动应用:

Terminal window
OTEL_EXPORTER_OTLP_ENDPOINT="http://127.0.0.1:4318" OTEL_EXPORTER_OTLP_INSECURE=true OTEL_SERVICE_NAME=metrics ./metrics

启动应用后,请求以下接口,以产生指标数据:

Terminal window
# For Golang GC metrics
curl localhost:9000/gc-metrics
# For Golang Memory metrics
curl localhost:9000/mem-metrics

查看指标

前往Prometheus UI(http://localhost:9090)以查询指标:


observability.cn Authors 2024 | Documentation Distributed under CC-BY-4.0
Copyright © 2017-2024, Alibaba. All rights reserved. Alibaba has registered trademarks and uses trademarks.
浙ICP备2021005855号-32