feat(alloy): Push logs to loki
This commit is contained in:
parent
a4b460ad43
commit
11df835631
1 changed files with 98 additions and 0 deletions
|
|
@ -41,6 +41,10 @@ data:
|
||||||
role = "pod"
|
role = "pod"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
discovery.kubernetes "pod_logs" {
|
||||||
|
role = "pod"
|
||||||
|
}
|
||||||
|
|
||||||
discovery.relabel "kubernetes_apiservers" {
|
discovery.relabel "kubernetes_apiservers" {
|
||||||
targets = discovery.kubernetes.kubernetes_apiservers.targets
|
targets = discovery.kubernetes.kubernetes_apiservers.targets
|
||||||
|
|
||||||
|
|
@ -401,6 +405,59 @@ data:
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
discovery.relabel "pod_logs" {
|
||||||
|
targets = discovery.kubernetes.pod_logs.targets
|
||||||
|
|
||||||
|
rule {
|
||||||
|
source_labels = ["__meta_kubernetes_pod_node_name"]
|
||||||
|
action = "replace"
|
||||||
|
target_label = "__host__"
|
||||||
|
}
|
||||||
|
|
||||||
|
rule {
|
||||||
|
regex = "__meta_kubernetes_pod_label_(.+)"
|
||||||
|
action = "labelmap"
|
||||||
|
}
|
||||||
|
|
||||||
|
rule {
|
||||||
|
source_labels = ["__meta_kubernetes_namespace", "__meta_kubernetes_pod_name"]
|
||||||
|
action = "replace"
|
||||||
|
separator = "/"
|
||||||
|
target_label = "job"
|
||||||
|
replacement = "$1"
|
||||||
|
}
|
||||||
|
|
||||||
|
rule {
|
||||||
|
source_labels = ["__meta_kubernetes_namespace"]
|
||||||
|
action = "replace"
|
||||||
|
target_label = "namespace"
|
||||||
|
}
|
||||||
|
|
||||||
|
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_pod_uid", "__meta_kubernetes_pod_container_name"]
|
||||||
|
action = "replace"
|
||||||
|
separator = "/"
|
||||||
|
target_label = "__path__"
|
||||||
|
replacement = "/var/log/pods/*$1/*.log"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
local.file_match "pod_logs" {
|
||||||
|
path_targets = discovery.relabel.pod_logs.output
|
||||||
|
}
|
||||||
|
|
||||||
prometheus.scrape "prometheus" {
|
prometheus.scrape "prometheus" {
|
||||||
targets = [{
|
targets = [{
|
||||||
__address__ = "localhost:9090",
|
__address__ = "localhost:9090",
|
||||||
|
|
@ -510,6 +567,47 @@ data:
|
||||||
scrape_timeout = "30s"
|
scrape_timeout = "30s"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
loki.process "pod_logs" {
|
||||||
|
forward_to = [loki.write.default.receiver]
|
||||||
|
|
||||||
|
stage.static_labels {
|
||||||
|
values = {
|
||||||
|
cluster = "k8s-peterg",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
stage.template {
|
||||||
|
source = "merged_cluster-namespace-container_string"
|
||||||
|
template = "k8s-peterg;{{`{{.namespace}};{{.container}}`}}"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
loki.source.file "pod_logs" {
|
||||||
|
targets = local.file_match.pod_logs.targets
|
||||||
|
forward_to = [loki.process.pod_logs.receiver]
|
||||||
|
legacy_positions_file = "/tmp/positions.yaml"
|
||||||
|
}
|
||||||
|
|
||||||
|
local.file_match "auditlogs" {
|
||||||
|
path_targets = [{
|
||||||
|
__address__ = "localhost",
|
||||||
|
__path__ = "/var/log/audit/kube/kube-apiserver.log",
|
||||||
|
host = env("HOSTNAME"),
|
||||||
|
logtype = "audit",
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
|
||||||
|
loki.source.file "auditlogs" {
|
||||||
|
targets = local.file_match.auditlogs.targets
|
||||||
|
forward_to = [loki.write.default.receiver]
|
||||||
|
}
|
||||||
|
|
||||||
|
loki.write "default" {
|
||||||
|
tenant_id = "wheatley"
|
||||||
|
endpoint {
|
||||||
|
url = "https://loki.peterg.nl/loki/api/v1/push"
|
||||||
|
}
|
||||||
|
|
||||||
prometheus.remote_write "default" {
|
prometheus.remote_write "default" {
|
||||||
external_labels = {
|
external_labels = {
|
||||||
cluster = "k8s-peterg",
|
cluster = "k8s-peterg",
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue