我有一个要求,即 Azure AKS 集群中有一些容器工作负载,我需要使用 OpenTelemetry 来收集指标、日志和跟踪等数据。我还有 Grafana 作为可视化工具,Prometheus 作为数据源。我需要使用 OpenTelemetry 收集器运算符从容器工作负载中获取数据,并使用导出器、接收器和处理器将数据推送到 Prometheus,并使用 Grafana 可视化数据。(参考:https://github.com/open-telemetry/opentelemetry-operator/tree/main/cmd/otel-allocator)
以下是 OpenTelemetry 收集器的 Kubernetes 清单:
apiVersion: opentelemetry.io/v1alpha1
kind: OpenTelemetryCollector
metadata:
name: otel-collector
namespace: otel
spec:
config: |
exporters:
prometheus:
enable_open_metrics: true
endpoint: '0.0.0.0:9464'
resource_to_telemetry_conversion:
enabled: true
processors:
batch:
send_batch_size: 10000
timeout: 10s
receivers:
otlp:
protocols:
grpc:
endpoint: '0.0.0.0:4317'
http:
cors:
allowed_origins:
- http://*
- https://*
endpoint: '0.0.0.0:4318'
service:
pipelines:
metrics:
receivers: [otlp]
exporters: [prometheus]
processors: [batch]
部署收集器后,将创建一个 pod 作为操作员的一部分。一旦我尝试获取收集器 pod 的日志,我就会得到以下内容:
2023-10-17T22:26:08.517Z 信息 [电子邮件保护]/telemetry.go:84 设置自己的遥测... 2023-10-17T22:26:08.517Z 信息
[电子邮件保护]/telemetry.go:201 提供 Prometheus 指标
{"address": ":8888", "level": "Basic"} 2023-10-17T22:26:08.518Z 信息 [电子邮件保护]/service.go:138 正在启动 otelcol... {"Version": "0.86.0", "NumCPU": 2} 2023-10-17T22:26:08.518Z 信息扩展/extensions.go:31
正在启动扩展... 2023-10-17T22:26:08.518Z 警告 [电子邮件保护]/warning.go:40 使用 0.0.0.0 地址会将此服务器暴露给每个网络接口,这可能会促进拒绝服务攻击
{"kind": "exporter", "data_type": "metrics", "name": "prometheus", "documentation": "https://github.com/open-telemetry/opentelemetry-collector/blob/main/docs/security-best-practices.md#safeguards-against-denial-of-service-attacks"} 2023-10-17T22:26:08.518Z 警告 [电子邮件保护]/warning.go:40 使用 0.0.0.0 地址会将此服务器暴露给每个网络接口,这可能会促进拒绝服务攻击
{"kind": "receiver", "name": "otlp", "data_type": "metrics", "documentation": "https://github.com/open-telemetry/opentelemetry-collector/blob/main/docs/security-best-practices.md#safeguards-against-denial-of-service-attacks"} 2023-10-17T22:26:08.518Z info
[电子邮件保护]/otlp.go:83 正在启动 GRPC 服务器 {"kind": "receiver", "name": "otlp", "data_type": "metrics", "endpoint": "0.0.0.0:4317"} 2023-10-17T22:26:08.518Z 警告 [电子邮件保护]/warning.go:40 使用 0.0.0.0 地址会将此服务器暴露给每个网络接口,这可能会促进拒绝服务攻击
{"kind": "receiver", "name": "otlp", "data_type": "metrics", "documentation": "https://github.com/open-telemetry/opentelemetry-collector/blob/main/docs/security-best-practices.md#safeguards-against-denial-of-service-attacks"} 2023-10-17T22:26:08.518Z info
[电子邮件保护]/otlp.go:101 正在启动 HTTP 服务器
{"kind": "receiver", "name": "otlp", "data_type": "metrics", "endpoint": "0.0.0.0:4318"} 2023-10-17T22:26:08.518Z 信息 [电子邮件保护]/service.go:161 一切就绪。开始运行并处理数据。
然而,当我查看 Grafana 时,什么都没有出现。
我认为应该列出诸如、、等度量数据otelcol_process_cpu_seconds
。我这里遗漏了什么otelcol_process_memory_rss
吗?有人可以提供一下说明吗?otelcol_exporter_sent_spans