Skip to content

Instantly share code, notes, and snippets.

@monodot
Created November 3, 2023 13:09
Show Gist options
  • Save monodot/42d2d6e672244bf261fe63a3da097030 to your computer and use it in GitHub Desktop.
Save monodot/42d2d6e672244bf261fe63a3da097030 to your computer and use it in GitHub Desktop.
Example values.yaml for Grafana Agent to scrape Pod logs from Kubernetes and ship to Loki
agent:
mounts:
varlog: true
configMap:
content: |
logging {
level = "info"
format = "logfmt"
}
discovery.kubernetes "k8s" {
role = "pod"
}
discovery.relabel "k8s" {
targets = discovery.kubernetes.k8s.targets
rule {
source_labels = ["__meta_kubernetes_pod_name"]
action = "replace"
target_label = "pod"
}
rule {
source_labels = ["__meta_kubernetes_pod_container_name"]
action = "replace"
target_label = "container"
}
rule {
source_labels = ["__meta_kubernetes_namespace", "__meta_kubernetes_pod_label_name"]
target_label = "job"
separator = "/"
}
rule {
source_labels = ["__meta_kubernetes_pod_uid", "__meta_kubernetes_pod_container_name"]
target_label = "__path__"
separator = "/"
replacement = "/var/log/pods/*$1/*.log"
}
}
local.file_match "pods" {
path_targets = discovery.relabel.k8s.output
}
loki.source.file "pods" {
targets = local.file_match.pods.targets
forward_to = [loki.write.endpoint.receiver]
}
loki.write "endpoint" {
endpoint {
url = "http://loki-gateway:80/loki/api/v1/push"
tenant_id = "cloud"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment