Promtail в Kubernetes

Тема дорожной карты · Loki

Запуск Promtail в Kubernetes — стандартный способ сбора логов со всех подов и узлов кластера с последующей передачей их в Grafana Loki для централизованной агрегации. Promtail обычно развёртывается как DaemonSet, чтобы на каждом узле запускался один под Promtail, отслеживающий файлы логов контейнеров, которые kubelet записывает в /var/log/pods/ и /var/log/containers/. Под Promtail требует монтирования хост-путей к этим директориям, а также доступа на чтение к Kubernetes API через ServiceAccount, ClusterRole и ClusterRoleBinding, чтобы использовать kubernetes_sd_configs для обнаружения запущенных подов и обогащения потоков логов метками: namespace, pod, app и container. Правила перемаркировки в разделе scrape_configs файла promtail-config.yaml отображают аннотации и метки Kubernetes на метки потоков Loki, обеспечивая детальный контроль над тем, какие метаданные индексируются. Helm-чарт Grafana Loki включает преднастроенный DaemonSet Promtail, превращая нативную для Kubernetes агрегацию логов с Loki в операцию helm install.

Как это работает

Promtail в Kubernetes: канонический log shipper для Loki. Tail-ит файлы + container stdout, добавляет labels (из service discovery — K8s pods, file paths, syslog), парсит log lines через pipeline stages (regex, json, labels, output, timestamp, template), шипит в Loki HTTP API. В Kubernetes работает как DaemonSet — логи каждой ноды идут в Loki. Promtail сменяется Grafana Alloy (merged OTel-style агент) — новые деплои могут предпочесть Alloy.

Когда применять

В K8s деплойте Promtail (или Alloy) как DaemonSet + kubernetes_sd для discovery. Labels в scrape_configs — low-cardinality. Pipeline stages json/regex для extract structured полей ДО shipping — экономит query-time работу. Pin версию агента + тестируйте pipeline changes на sample логах.

Типичные ошибки

Ловушки Promtail в Kubernetes: extract high-cardinality labels в pipeline (убивает Loki); не capture pod restarts через positions file (логи теряются на рестарте); деплой Promtail без resource limits (OOM на log spikes); regex stage когда json работает (медленнее).

Связанные понятия

Полезные ресурсы