华为云 ASM
采集华为云的 ASM 的指标、链路追踪数据
配置¶
准备工作¶
应用服务网格(Application Service Mesh,简称ASM)是华为云基于开源 Istio 推出的服务网格平台,它深度、无缝对接了华为云的企业级Kubernetes集群服务CCE。
使用 ASM 前提,需要购买了 CCE 集群, 同时需要在 CCE 集群上安装 DataKit
链路采集¶
开启 OpenTelemetry 采集器¶
在 的 ENV 模块下调整 ENV_DEFAULT_ENABLED_INPUTS 参数,追加值 opentelemetry ,如下:
- name: ENV_DEFAULT_ENABLED_INPUTS
value: dk,cpu,disk,diskio,mem,swap,system,hostobject,net,host_processes,container,opentelemetry
修改 istio 采样率¶
为了方便测试,首先修改一下 istio的采样率
调整 otel endpoint¶
# kubectl edit -n monitoring cm otel-collector-conf
...
exporters:
apm:
address: "100.125.0.78:8923"
project_id: f5f4c067d68b4b3aad86e173b18367bf
cluster_id: 5f642ce9-4aca-11ee-9dbd-0255ac10024d
otlp: # 新增otlp输出
endpoint: "http://datakit-service.datakit:4317"
tls:
insecure: true
compression: none # 不开启gzip
...
traces/apm:
receivers: [ zipkin ]
processors: [ memory_limiter, batch ]
exporters: [ otlp ] #输出器修改为otlp
指标采集¶
以下均是调整 Datakit 配置文件 datakit.yaml
- 开启
Prometheus采集器
DataKit开启 Prometheus 数据采集,可以参考Prometheus,configmap如下:
prom.conf: |
[[inputs.prom]]
urls = ["http://istiod.istio-system:15014/metrics"] ##istiod地址
uds_path = ""
ignore_req_err = false
source = "prom"
measurement_prefix = ""
measurement_name = "istio_prom"
- 挂载配置文件
- Deploy DataKit