1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
# OpenTelemetry Collector — local.
#
# Mirrors the production collector config generated by the deployment agent
# (observability-resources.pulumi.ts). Requires the `-contrib` distribution:
# `prometheus_remote_write` is not in the core `otel/opentelemetry-collector`
# image.
#
# Metrics are PUSHED to Mimir (remote write). This replaces the old pull model,
# where the collector exposed a `prometheus` scrape endpoint on :8889 and
# Prometheus scraped it. Mimir does not scrape.
#
# Every exporter carries X-Scope-OrgID because Loki, Tempo and Mimir all run
# with multitenancy enabled locally, exactly as they do in production. In
# production this value is the application id; locally it is the fixed tenant
# `local`.
receivers:
otlp:
protocols:
grpc:
endpoint: 0.0.0.0:4317
http:
endpoint: 0.0.0.0:4318
# Local-only: gives a developer something on the dashboards before their own
# service emits anything. Production does not scrape host metrics.
host_metrics:
collection_interval: 15s
scrapers:
cpu:
memory:
disk:
filesystem:
network:
processors:
batch:
timeout: 5s
send_batch_size: 1024
memory_limiter:
check_interval: 2s
limit_percentage: 80
spike_limit_percentage: 20
exporters:
otlp_http/loki:
logs_endpoint: http://loki:3100/otlp/v1/logs
headers:
X-Scope-OrgID: local
tls:
insecure: true
otlp_grpc/tempo:
endpoint: tempo:4317
headers:
X-Scope-OrgID: local
tls:
insecure: true
prometheus_remote_write/mimir:
endpoint: http://mimir:9090/api/v1/push
headers:
X-Scope-OrgID: local
tls:
insecure: true
extensions:
health_check:
endpoint: 0.0.0.0:13133
service:
extensions:
telemetry:
logs:
level: warn
pipelines:
logs:
receivers:
processors:
exporters:
traces:
receivers:
processors:
exporters:
metrics:
receivers:
processors:
exporters: