使用Aliyun OpenTelemetry Golang Agent上报监控数据

古琦

一、代码仓库:

https://github.com/alibaba/opentelemetry-go-auto-instrumentation

二、编译Golang Agent

编译前请确保本地Go版本在1.21或者以上

cd opentelemetry-go-auto-instrumentation
make clean && make build

编译完成后产生一个二进制otelbuild

三、使用Golang Agent 编译Go项目

可以使用项目中提供的Demo进行编译

cd example/demo
../../otelbuild

执行完成后可以查看到编译好的二进制文件demo

四、运行Demo上报监控数据

启动mysql&redis

docker run -d -p 3306:3306 -p 33060:33060 -e MYSQL_USER=test -e MYSQL_PASSWORD=test -e MYSQL_DATABASE=test -e MYSQL_ALLOW_EMPTY_PASSWORD=yes registry.cn-hangzhou.aliyuncs.com/private-mesh/hellob:mysql-8036
docker run -d -p 6379:6379 registry.cn-hangzhou.aliyuncs.com/private-mesh/hellob:redis-latest

启动jaeger,用于收集Trace数据

docker run --rm --name jaeger \
-e COLLECTOR_ZIPKIN_HOST_PORT=:9411 \
-p 6831:6831/udp \
-p 6832:6832/udp \
-p 5778:5778 \
-p 16686:16686 \
-p 4317:4317 \
-p 4318:4318 \
-p 14250:14250 \
-p 14268:14268 \
-p 14269:14269 \
-p 9411:9411 \
registry.cn-hangzhou.aliyuncs.com/private-mesh/hellob:jaeger

启动应用

OTEL_EXPORTER_ENDPOINT="localhost:4318" OTEL_EXPORTER_INSECURE=true OTEL_SERVICE_NAME=demo ./demo

五、查看Trace数据


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