88 lines
2.4 KiB
YAML
88 lines
2.4 KiB
YAML
|
|
apiVersion: opentelemetry.io/v1beta1
|
|||
|
|
kind: OpenTelemetryCollector
|
|||
|
|
metadata:
|
|||
|
|
name: otel-agent
|
|||
|
|
namespace: opentelemetry-operator-system
|
|||
|
|
spec:
|
|||
|
|
mode: daemonset
|
|||
|
|
hostNetwork: true # 建议开启,以便更准确获取 Host 指标
|
|||
|
|
config:
|
|||
|
|
receivers:
|
|||
|
|
# 1. 采集 Pod 和 容器 的资源使用情况 (CPU/Mem)
|
|||
|
|
kubeletstats:
|
|||
|
|
collection_interval: 20s
|
|||
|
|
auth_type: "serviceAccount"
|
|||
|
|
endpoint: "${env:K8S_NODE_NAME}:10250"
|
|||
|
|
insecure_skip_verify: true
|
|||
|
|
metric_groups:
|
|||
|
|
- node
|
|||
|
|
- pod
|
|||
|
|
- container
|
|||
|
|
|
|||
|
|
# 2. 采集宿主机物理指标
|
|||
|
|
hostmetrics:
|
|||
|
|
collection_interval: 20s
|
|||
|
|
scrapers:
|
|||
|
|
cpu:
|
|||
|
|
memory:
|
|||
|
|
load:
|
|||
|
|
filesystem:
|
|||
|
|
network:
|
|||
|
|
|
|||
|
|
# 3. (可选) 采集日志
|
|||
|
|
# filelog:
|
|||
|
|
# include: [/var/log/pods/*/*/*.log]
|
|||
|
|
# ...
|
|||
|
|
|
|||
|
|
processors:
|
|||
|
|
batch:
|
|||
|
|
send_batch_size: 500
|
|||
|
|
timeout: 5s
|
|||
|
|
memory_limiter:
|
|||
|
|
check_interval: 1s
|
|||
|
|
limit_mib: 400
|
|||
|
|
spike_limit_mib: 100
|
|||
|
|
|
|||
|
|
# 资源检测:自动识别云厂商(腾讯云)信息、主机名等
|
|||
|
|
resourcedetection:
|
|||
|
|
detectors: [system] # 如果在腾讯云CVM上,可以尝试加入 'tencentcloud' 但 system 通常足够
|
|||
|
|
timeout: 2s
|
|||
|
|
override: false
|
|||
|
|
|
|||
|
|
# 关键:给指标打上 K8s 标签 (Pod Name, Namespace, Node Name)
|
|||
|
|
k8sattributes:
|
|||
|
|
passthrough: false
|
|||
|
|
extract:
|
|||
|
|
metadata:
|
|||
|
|
- k8s.pod.name
|
|||
|
|
- k8s.pod.uid
|
|||
|
|
- k8s.deployment.name
|
|||
|
|
- k8s.namespace.name
|
|||
|
|
- k8s.node.name
|
|||
|
|
pod_association:
|
|||
|
|
- sources:
|
|||
|
|
- from: resource_attribute
|
|||
|
|
name: k8s.pod.uid
|
|||
|
|
- sources:
|
|||
|
|
- from: resource_attribute
|
|||
|
|
name: k8s.pod.ip
|
|||
|
|
- sources:
|
|||
|
|
- from: connection
|
|||
|
|
|
|||
|
|
exporters:
|
|||
|
|
# 发送给集群内的 Gateway Service
|
|||
|
|
otlp:
|
|||
|
|
endpoint: "otel-gateway-collector.opentelemetry-operator-system.svc.cluster.local:4317"
|
|||
|
|
tls:
|
|||
|
|
insecure: true
|
|||
|
|
|
|||
|
|
service:
|
|||
|
|
pipelines:
|
|||
|
|
metrics:
|
|||
|
|
receivers: [kubeletstats, hostmetrics]
|
|||
|
|
processors: [resourcedetection, k8sattributes, memory_limiter, batch]
|
|||
|
|
exporters: [otlp]
|
|||
|
|
|
|||
|
|
# traces: # 如果应用配置了 sidecar 或其他方式发送 trace 到本地 agent
|
|||
|
|
# receivers: [otlp]
|
|||
|
|
# exporters: [otlp]
|