注入自动仪表化
使用 OpenTelemetry Operator 实现自动仪表化。
OpenTelemetry Operator 是一个 Kubernetes Operator 的实现。
该 Operator 管理
要在现有集群中安装 Operator,请确保已安装 cert-manager 并运行
kubectl apply -f https://github.com/open-telemetry/opentelemetry-operator/releases/latest/download/opentelemetry-operator.yaml
一旦 opentelemetry-operator Deployment 准备就绪,创建一个 OpenTelemetry Collector (otelcol) 实例,例如
$ kubectl apply -f - <<EOF
apiVersion: opentelemetry.io/v1beta1
kind: OpenTelemetryCollector
metadata:
name: simplest
spec:
config:
receivers:
otlp:
protocols:
grpc:
endpoint: 0.0.0.0:4317
http:
endpoint: 0.0.0.0:4318
processors:
memory_limiter:
check_interval: 1s
limit_percentage: 75
spike_limit_percentage: 15
exporters:
# NOTE: Prior to v0.86.0 use `logging` instead of `debug`.
debug: {}
service:
pipelines:
traces:
receivers: [otlp]
processors: [memory_limiter]
exporters: [debug]
EOF
默认情况下,opentelemetry-operator 使用 opentelemetry-collector 镜像。当使用 Helm chart 安装 Operator 时,会使用 opentelemetry-collector-k8s 镜像。如果您需要这些发布版本中未包含的组件,您可能需要 构建自己的 Collector。
有关更多配置选项以及如何设置使用 OpenTelemetry 仪表化库对工作负载进行自动仪表化注入,请参阅 Kubernetes 的 OpenTelemetry Operator。
使用 OpenTelemetry Operator 实现自动仪表化。
为您的 OpenTelemetry Collector 配置 Horizontal Pod Autoscaling
一个工具,用于将 PrometheusReceiver 的目标分发到所有已部署的 Collector 实例
包含一系列关于排查 OpenTelemetry Kubernetes Operator 各方面问题的技巧。例如,当 Target Allocator 无法发现 scrape targets 时该怎么办。