Files
monitoring-stack/kubernetes/promtail/configmap.yaml
2026-02-27 01:18:34 +00:00

86 lines
2.4 KiB
YAML

apiVersion: v1
kind: ConfigMap
metadata:
name: promtail-config
namespace: monitoring
data:
promtail.yaml: |
server:
http_listen_port: 3101
grpc_listen_port: 0
positions:
filename: /run/promtail/positions.yaml
clients:
- url: http://loki.monitoring.svc.cluster.local:3100/loki/api/v1/push
tenant_id: talos-cluster
scrape_configs:
# Container logs from /var/log/pods
- job_name: kubernetes-pods
kubernetes_sd_configs:
- role: pod
pipeline_stages:
- cri: {}
relabel_configs:
# Only scrape pods with promtail.io/scrape annotation (or all by default)
- source_labels:
- __meta_kubernetes_pod_annotation_promtail_io_scrape
action: drop
regex: false
# Use pod name as instance
- source_labels:
- __meta_kubernetes_pod_name
target_label: instance
# Namespace label
- source_labels:
- __meta_kubernetes_namespace
target_label: namespace
# Pod name label
- source_labels:
- __meta_kubernetes_pod_name
target_label: pod
# Container name label
- source_labels:
- __meta_kubernetes_pod_container_name
target_label: container
# Node name label
- source_labels:
- __meta_kubernetes_pod_node_name
target_label: node
# App label (from pod labels)
- source_labels:
- __meta_kubernetes_pod_label_app
target_label: app
# App.kubernetes.io/name label
- source_labels:
- __meta_kubernetes_pod_label_app_kubernetes_io_name
target_label: app
regex: (.+)
action: replace
# Set path to container log file
- source_labels:
- __meta_kubernetes_pod_uid
- __meta_kubernetes_pod_container_name
target_label: __path__
separator: /
replacement: /var/log/pods/*$1/*.log
# Talos system logs (if mounted)
- job_name: talos-system
static_configs:
- targets:
- localhost
labels:
job: talos-system
__path__: /var/log/containers/*.log