From 6321ffe6bf7f7097c5b2db26fed9d331edb3e292 Mon Sep 17 00:00:00 2001 From: TomM Date: Wed, 9 Jul 2025 15:41:05 -0600 Subject: [PATCH] add logs support to cloud --- .../base/resources/deployment.yaml | 2 +- .../grafana-alloy/base/resources/rbac.yaml | 9 ++- .../cloud/config/grafana-alloy.river | 81 +++++++++++-------- 3 files changed, 55 insertions(+), 37 deletions(-) diff --git a/kubernetes/grafana-alloy/base/resources/deployment.yaml b/kubernetes/grafana-alloy/base/resources/deployment.yaml index ca2aafee..e2e9e647 100644 --- a/kubernetes/grafana-alloy/base/resources/deployment.yaml +++ b/kubernetes/grafana-alloy/base/resources/deployment.yaml @@ -16,7 +16,7 @@ spec: app.k8s.io/name: grafana-alloy spec: restartPolicy: Always - serviceAccountName: grafana-alloy + serviceAccountName: grafana-alloy-sa containers: - name: grafana-alloy image: grafana/alloy:v1.9.1 diff --git a/kubernetes/grafana-alloy/base/resources/rbac.yaml b/kubernetes/grafana-alloy/base/resources/rbac.yaml index 7bc8489e..914198bb 100644 --- a/kubernetes/grafana-alloy/base/resources/rbac.yaml +++ b/kubernetes/grafana-alloy/base/resources/rbac.yaml @@ -2,16 +2,17 @@ apiVersion: v1 kind: ServiceAccount metadata: - name: grafana-alloy + name: grafana-alloy-sa --- apiVersion: rbac.authorization.k8s.io/v1 -kind: RoleBinding +kind: ClusterRoleBinding metadata: - name: grafana-alloy + name: grafana-alloy-crb roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: view subjects: - kind: ServiceAccount - name: grafana-alloy + name: grafana-alloy-sa + diff --git a/kubernetes/grafana-alloy/cloud/config/grafana-alloy.river b/kubernetes/grafana-alloy/cloud/config/grafana-alloy.river index beac37b9..88f44ffe 100644 --- a/kubernetes/grafana-alloy/cloud/config/grafana-alloy.river +++ b/kubernetes/grafana-alloy/cloud/config/grafana-alloy.river @@ -1,29 +1,4 @@ -// Traces -otelcol.receiver.otlp "default" { - grpc { - endpoint = "0.0.0.0:4317" - } - - http { - endpoint = "0.0.0.0:4318" - } - - output { - traces = [otelcol.processor.batch.default.input] - } -} - -otelcol.processor.batch "default" { - output { - metrics = [] - logs = [] - traces = [ - grafana_cloud.stack.receivers.traces, - ] - } -} - -// Metrics +// Discovery discovery.kubernetes "application_pods" { selectors { label = "app.k8s.io/name=quickpizza" @@ -34,12 +9,6 @@ discovery.kubernetes "application_pods" { own_namespace = true } } -prometheus.scrape "default" { - forward_to = [ - grafana_cloud.stack.receivers.metrics, - ] - targets = discovery.relabel.relabel_targets.output -} discovery.relabel "relabel_targets" { rule { @@ -63,6 +32,54 @@ discovery.relabel "relabel_targets" { targets = discovery.kubernetes.application_pods.targets } +// Metrics +prometheus.scrape "default" { + forward_to = [ + grafana_cloud.stack.receivers.metrics, + ] + targets = discovery.relabel.relabel_targets.output +} + +// Logs +loki.source.kubernetes "pods" { + targets = discovery.kubernetes.application_pods.targets + forward_to = [ + grafana_cloud.stack.receivers.logs, + ] +} + +loki.source.kubernetes_events "k8s_event_logs" { + forward_to = [ + grafana_cloud.stack.receivers.logs, + ] +} + +// Traces +otelcol.receiver.otlp "default" { + grpc { + endpoint = "0.0.0.0:4317" + } + + http { + endpoint = "0.0.0.0:4318" + } + + output { + traces = [otelcol.processor.batch.default.input] + } +} + +otelcol.processor.batch "default" { + output { + metrics = [] + logs = [] + traces = [ + grafana_cloud.stack.receivers.traces, + ] + } +} + +// Profiles pyroscope.scrape "scrape_profiles" { forward_to = [ grafana_cloud.stack.receivers.profiles,