tencent cloud

文档反馈

TKE 环境自动接入 Java 应用 (推荐)

最后更新时间:2024-06-19 16:31:30
    对于部署在容器服务 TKE 上的 Java 应用,APM 提供自动接入方案,可以在应用部署到 TKE 之后实现探针自动注入,方便应用快速接入。
    TKE 环境自动接入的 Java 应用将被自动注入腾讯云增强版 OpenTelemetry Java 探针(TencentCloud-OTel Java Agent),腾讯云增强版 OpenTelemetry Java 探针基于开源社区的 OpenTelemetry-java-instrumentation 进行二次开发,遵循 Apache License 2.0 协议,在探针包中对 OpenTelemetry License 进行了引用。在开源探针的基础上,腾讯云增强版 OpenTelemetry Java 探针在埋点密度、高阶诊断、性能保护、企业级能力等方面做了重要的增强。

    前提条件

    请参考 增强版 OpenTelemetry Java 探针支持的 Java 版本和框架,确保 Java 版本和应用服务器在探针支持的范围内。对于自动埋点支持的依赖库和框架,在接入成功后即可完成数据上报,不需要修改代码。同时,腾讯云增强版 OpenTelemetry Java 探针遵循了 OpenTelemetry 协议标准,如果自动埋点不满足您的场景,或者需要增加业务层埋点,请使用 OpenTelemetry API 进行自定义埋点

    步骤1:安装 Operator

    在 TKE 集群安装 Operator,推荐在 APM 控制台一键安装 Operator,详情请参考 安装 tencent-opentelemetry-operator

    步骤2:在工作负载添加 annotation

    1. 登录 容器服务 控制台。
    2. 点击集群,进入对应的 TKE 集群。
    3. 工作负载中找到需要接入 APM 的应用,点击更多,点击编辑 yaml
    4. 应用所在的 Pod annotation 中如下内容,点击完成,即可以完成接入。
    cloud.tencent.com/inject-java: "true"
    cloud.tencent.com/otel-service-name: my-app # 应用名,多个使用相同应用名接入的进程,在APM中会表现为相同应用下的多个实例。
    # 应用名最长63个字符,只能包含小写字母、数字及分隔符("-"),且必须以小写字母开头,数字或小写字母结尾。
    请注意,此内容需要添加到 spec.template.metadata.annotations 中,作用于 Pod 的 annotation,而不是工作负载的 annotation,可以参考如下代码片段:
    apiVersion: apps/v1
    kind: Deployment
    metadata:
    labels:
    k8s-app: my-app
    name: my-app
    namespace: default
    spec:
    selector:
    matchLabels:
    k8s-app: my-app
    template:
    metadata:
    labels:
    k8s-app: my-app
    annotations:
    cloud.tencent.com/inject-java: "true" # 添加到此处
    cloud.tencent.com/otel-service-name: my-app
    spec:
    containers:
    image: my-app:0.1
    name: my-app

    接入验证

    对工作负载添加 annotation 后,基于不同的发布策略,触发应用 Pod 的重启。新启动的 Pod 会自动注入探针,并连接到 APM 服务端上报监控数据,上报的业务系统为 Operator 的默认业务系统。在有正常流量的情况下,应用性能监控 > 应用监控 > 应用列表 中将展示接入的应用,应用性能监控 > 应用监控 > 应用详情 > 实例监控 中将展示接入的应用实例。由于可观测数据的处理存在一定延时,如果接入后在控制台没有查询到应用或实例,请等待30秒左右。

    自定义埋点

    当自动埋点不满足您的场景或者需要增加业务层埋点时,请参考 自定义埋点,使用 OpenTelemetry API 添加自定义埋点。

    更多接入配置项(可选)

    在工作负载级别,可以添加更多的 annotation 对接入行为进行调整:
    配置项
    描述
    cloud.tencent.com/apm-token
    指定 APM 业务系统的 Token。若不添加此项配置项,则使用 Operator的配置(对应 Operator 的 env.APM_TOKEN 字段)。
    cloud.tencent.com/java-instr-version
    指定 Java 探针版本。若不添加此项配置项,则使用 Operator 的配置(对应 Operator 的 env.JAVA_INSTR_VERSION 字段)。取值为 latest(默认)或具体版本号,具体的版本号列表请参考 探针(Agent)版本信息,非必要情况下不推荐填写此字段。
    
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持