@@ -16,44 +16,68 @@ data:
1616
1717 clients:
1818 - url: http://loki:3100/loki/api/v1/push
19+ batchwait: 1s
20+ batchsize: 1048576
21+ timeout: 10s
1922
2023 scrape_configs:
2124 - job_name: kubernetes-pods
2225 kubernetes_sd_configs:
2326 - role: pod
2427 pipeline_stages:
2528 - cri: {}
29+ - json:
30+ expressions:
31+ level: level
32+ message: message
33+ time: time
34+ - labels:
35+ level:
36+ - output:
37+ source: message
2638 relabel_configs:
27- - source_labels:
28- - __meta_kubernetes_pod_node_name
29- target_label: __host__
30- - action: labelmap
31- regex: __meta_kubernetes_pod_label_(.+)
32- - action: replace
33- replacement: $1
34- separator: /
35- source_labels:
36- - __meta_kubernetes_namespace
37- - __meta_kubernetes_pod_name
38- target_label: job
39- - action: replace
40- source_labels:
41- - __meta_kubernetes_namespace
39+ # Keep only pods with app or app.kubernetes.io/name label
40+ - source_labels: [__meta_kubernetes_pod_label_app_kubernetes_io_name]
41+ action: keep
42+ regex: .+
43+ # Standardize labels
44+ - source_labels: [__meta_kubernetes_namespace]
4245 target_label: namespace
43- - action: replace
44- source_labels:
45- - __meta_kubernetes_pod_name
46+ - source_labels: [__meta_kubernetes_pod_name]
4647 target_label: pod
47- - action: replace
48- source_labels:
49- - __meta_kubernetes_pod_container_name
48+ - source_labels: [__meta_kubernetes_pod_container_name]
5049 target_label: container
51- - replacement: /var/log/pods/*$1/*.log
52- separator: /
53- source_labels:
54- - __meta_kubernetes_pod_uid
55- - __meta_kubernetes_pod_container_name
50+ - source_labels: [__meta_kubernetes_pod_label_app_kubernetes_io_name]
51+ target_label: app
52+ # Set the log path
53+ - source_labels: [__meta_kubernetes_pod_uid, __meta_kubernetes_pod_container_name]
5654 target_label: __path__
55+ replacement: /var/log/pods/*$1/*.log
56+ separator: /
57+ # Add additional metadata
58+ - source_labels: [__meta_kubernetes_pod_node_name]
59+ target_label: node
60+ - source_labels: [__meta_kubernetes_namespace]
61+ target_label: namespace
62+ - action: labelmap
63+ regex: __meta_kubernetes_pod_label_(.+)
64+ # Set the job name to the application name if available, otherwise use pod name
65+ - source_labels: [__meta_kubernetes_pod_label_app_kubernetes_io_name]
66+ target_label: job
67+ replacement: ${1}
68+ action: replace
69+ - source_labels: [__meta_kubernetes_pod_name]
70+ target_label: job
71+ action: replace
72+ regex: (.*)
73+ replacement: $1
74+ target_label: job
75+ action: replace
76+ regex: (.*?)-[a-z0-9]+-[a-z0-9]+$
77+ replacement: $1
78+ # Drop __tmp labels
79+ - action: labeldrop
80+ regex: __tmp_.*
5781
5882 ---
5983apiVersion : apps/v1
0 commit comments