Beacon¶
Beacon 是基于 OpenTelemetry 的自动探针,支持在不修改应用源代码的情况下,为受支持的框架和依赖库采集遥测数据。通过配置启动参数、预加载模块或包装命令,您可以将应用接入观测云,查看调用链路,并按语言能力开启 Profile 和 Security。
工作方式¶
Trace、Metric 和 Log 通过 DataKit OpenTelemetry 采集器接收;Profile 使用独立的 DataKit Profile 采集器。实际采集范围取决于语言版本和已启用的组件,安装探针不代表所有信号都会自动产生。
选择语言¶
各语言的零代码接入方式和可选能力如下,具体安装步骤见对应语言页面。
| 语言 | 零代码接入方式 | Profile | Security |
|---|---|---|---|
| Java | JVM -javaagent 加载单个 Agent JAR |
实验性 JFR,JDK 11 及以上 | 可选 |
| Python | 在原启动命令前添加 beacon |
pprof 上传 | 标准 GIL 的 CPython 3.11–3.14 |
| Node.js | NODE_OPTIONS 预加载 |
wall、heap Profile | Node.js 22.22.3+ 或 24.11.1+,使用 ESM 预加载 |
| .NET | beacon-dotnet run 启动应用 |
暂无受支持的用户配置 | 暂无已发布能力 |
| PHP | 原生 Hook 与 Composer 自动加载 | 暂无受支持的用户配置 | 暂无已发布能力 |
Profile 和 Security 默认关闭,按需启用。Profile 配置位于各语言接入页面中;Security 的运行时范围及启用方式见 Security。
快速开始¶
- 安装 DataKit,并按公共配置开启 OpenTelemetry 采集器。
- 选择上表中的应用语言,安装对应版本的 Beacon 探针。
- 配置服务名、OTLP 协议和 DataKit 接收地址,通过探针启动应用。
- 访问应用接口产生真实请求,在观测云「应用性能监测 > 链路」中按服务名验证数据。
- 如需分析代码热点,继续在对应语言页面开启 Profile,并在「应用性能监测 > Profiling」中查看数据。
接入说明
零代码接入无需修改应用源代码,但需要安装探针、配置运行环境并重启应用。自动插桩只覆盖受支持的框架和依赖库,业务内部操作可按需使用 OpenTelemetry API 补充。避免对同一进程同时加载多个自动探针,以免重复采集。
相关文档¶
- 公共配置:DataKit 接收端、服务标识和 OTLP 参数。
- Security:通过 OTLP Logs 上报安全发现和运行时 SBOM。
- 故障排查:检查探针加载、网络、协议和数据导出。
- Beacon 开源项目:各语言发布记录与源代码。