@@ -11,6 +11,7 @@ grafana_cloud.stack "receivers" {
1111 token = env("GRAFANA_CLOUD_TOKEN")
1212}
1313
14+ // discover containers running QuickPizza
1415discovery.docker "application_containers" {
1516 host = "unix:///var/run/docker.sock"
1617 filter {
@@ -19,6 +20,7 @@ discovery.docker "application_containers" {
1920 }
2021}
2122
23+ // set expected labels
2224discovery.relabel "application_containers" {
2325 rule {
2426 target_label = "job"
@@ -40,6 +42,11 @@ discovery.relabel "application_containers" {
4042 target_label = "service_namespace"
4143 replacement = "quickpizza"
4244 }
45+ // the `namespace` label is for visualizing Profiles in Application Observability
46+ rule {
47+ target_label = "namespace"
48+ replacement = "quickpizza"
49+ }
4350 rule {
4451 target_label = "service_name"
4552 source_labels = [
@@ -50,11 +57,12 @@ discovery.relabel "application_containers" {
5057 }
5158 targets = discovery.docker.application_containers.targets
5259}
60+
5361// Metrics
5462prometheus.scrape "application_containers" {
5563 scrape_interval = "10s"
56- forward_to = [grafana_cloud.stack.receivers.metrics]
5764 targets = discovery.relabel.application_containers.output
65+ forward_to = [grafana_cloud.stack.receivers.metrics]
5866}
5967// Logs
6068loki.source.docker "application_containers" {
@@ -63,13 +71,12 @@ loki.source.docker "application_containers" {
6371 forward_to = [grafana_cloud.stack.receivers.logs]
6472}
6573
66- // Profiling
67- pyroscope.receive_http "default" {
68- http {
69- listen_address = "0.0.0.0"
70- listen_port = 9999
71- }
72- forward_to = [grafana_cloud.stack.receivers.profiles]
74+ // Profiling Pull Mode
75+ pyroscope.scrape "application_containers" {
76+ // https://grafana.com/docs/pyroscope/latest/configure-client/grafana-alloy/go_pull/
77+ scrape_interval = "30s"
78+ targets = discovery.relabel.application_containers.output
79+ forward_to = [grafana_cloud.stack.receivers.profiles]
7380}
7481
7582// Traces
0 commit comments