官网
https://opentelemetry.io/
- 环境查看
系统环境
# cat /etc/redhat-release
Rocky Linux release 9.3 (Blue Onyx)
# uname -a
Linux Rocky9Opentelemetry003078 5.14.0-362.18.1.el9_3.0.1.x86_64 #1 SMP PREEMPT_DYNAMIC Sun Feb 11 13:49:23 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
软件环境
# go version
go version go1.24.1 linux/amd64
# docker version
Client: Docker Engine - CommunityVersion: 25.0.3API version: 1.44Go version: go1.21.6Git commit: 4debf41Built: Tue Feb 6 21:14:42 2024OS/Arch: linux/amd64Context: defaultServer: Docker Engine - CommunityEngine:Version: 25.0.3API version: 1.44 (minimum version 1.24)Go version: go1.21.6Git commit: f417435Built: Tue Feb 6 21:13:06 2024OS/Arch: linux/amd64Experimental: falsecontainerd:Version: 1.6.28GitCommit: ae07eda36dd25f8a1b98dfbf587313b99c0190bbrunc:Version: 1.1.12GitCommit: v1.1.12-0-g51d5e94docker-init:Version: 0.19.0GitCommit: de40ad0
# docker-compose version
Docker Compose version v2.23.3
-
简介
OpenTelemetry 也被称为 OTel,是一个供应商中立的、开源的可观测性框架, 可用于插桩、生成、采集和导出链路、 指标和日志等遥测数据。
OpenTelemetry 作为一个行业标准,得到了 40 多个可观测供应商的支持, 被许多代码库、服务和应用集成,被众多最终用户采用。
-
安装
安装前提条件
- Docker或其他容器工具
- Go 1.20或更高版本
安装Go参考https://www.cnblogs.com/minseo/p/18778878 - GOBIN
设置GOBIN及go语言的可执行bin目录
# export GOBIN=${GOBIN:-$(go env GOPATH)/bin}
# echo $GOBIN
/root/go/bin
安装
下载镜像
# docker pull otel/opentelemetry-collector-contrib:0.122.0
安装遥测实用程序
# go install github.com/open-telemetry/opentelemetry-collector-contrib/cmd/telemetrygen@latest
该实用程序可以模拟客户端生成轨迹,指标和日志。
启动收集器
在端口4317(用于OTLP GRPC),4318(对于OTLP HTTP)和55679(ZPAGES)上
# docker run \-p 4317:4317 \-p 4318:4318 \-p 55679:55679 \otel/opentelemetry-collector-contrib:0.121.0 \2>&1 | tee collector-output.txt
在单独的终端窗口生成一些示例跟踪
# $GOBIN/telemetrygen traces --otlp-insecure --traces 3
在实用程序生成的输出中,您应该看到确认生成轨迹的确认:
在运行收集器容器的终端窗口中,您应该看到跟踪摄入活动类似于以下示例中显示的内容:
打开http://ip:55679/debug/tracez
然后选择表中的样本之一,以查看您刚刚生成的痕迹