如果您使用一个主账号管控生产数据和测试数据,可以参考以下操作,将生产和测试数据隔离,便于区分生产数据和测试数据的监控指标变化。
OpenTelemetry是CNCF的一个可观测性项目,旨在提供可观测性领域的标准化方案,解决观测数据的数据模型、采集、处理、导出等的标准化问题,提供与三方vendor无关的服务。
如果您的应用已经接入了OpenTelemetry的SDK,APMPlus服务端可以接收OpenTelemetry上报的数据。接入APMPlus后,您将获得RED指标生成能力、Trace多维检索、单链路检索、拓扑生成等多项能力。
如果您的业务场景通过namesapce就可以区分环境,请参见以下步骤接入服务。
安装APMPlus OpenTelemetry Collector。
kubectl apply -f "http://apmplus-dl-{region}.ivolces.com/server_warehouse/generate_assets/download/apmplus-opentelemetry-k8s/apmplus-opentelemetry-operator-v0.0.17.yaml?appkey={appkey}&network={network}&promReplicas=1&namespaceAsEnv=true"
您可以通过修改url中promReplicas的值来扩展prom副本数。
说明
完整安装命令请到接入中心查看,详情请参见如何使用接入中心?。
在服务的k8s deployment配置中增加指定annotation。
instrumentation.apmplus.volcengine.com/inject-java: 'true'
示例代码:
apiVersion: apps/v1 kind: Deployment metadata: name: simple-java labels: app: simple-java spec: replicas: 1 selector: matchLabels: app: simple-java template: metadata: labels: app: simple-java annotations: instrumentation.apmplus.volcengine.com/inject-java: 'true' spec: containers: - name: simple-java image: java_demo_simple imagePullPolicy: Always env: - name: CONTAINER_RUNTIME value: "k8s"
重新启动应用。
如果您的业务场景无法通过namespace区分环境,请参见以下步骤在annotation手动逐个添加env。
安装APMPlus OpenTelemetry Collector。
kubectl apply -f "http://apmplus-dl-{region}.ivolces.com/server_warehouse/generate_assets/download/apmplus-opentelemetry-k8s/apmplus-opentelemetry-operator-v0.0.17.yaml?appkey={appkey}&network={network}&promReplicas=1"
您可以通过修改url中promReplicas的值来扩展prom副本数。
说明
完整安装命令请到接入中心查看,详情请参见如何使用接入中心?。
在服务的k8s deployment配置中增加指定annotation。
instrumentation.apmplus.volcengine.com/inject-java: 'true'
示例代码:
apiVersion: apps/v1 kind: Deployment metadata: name: simple-java labels: app: simple-java spec: replicas: 1 selector: matchLabels: app: simple-java template: metadata: labels: app: simple-java annotations: instrumentation.apmplus.volcengine.com/inject-java: 'true' apmplus.volcengine.com/env:'test' spec: containers: - name: simple-java image: java_demo_simple imagePullPolicy: Always env: - name: CONTAINER_RUNTIME value: "k8s"
注意
通过annotation指定env需要逐个手动添加。
重新启动应用。