TGViewer
IT-волна IT-волна @it_chuyana · 664 subscribers
Post #240 276
#loki

👋 Привет! А как вы читаете логи?

Умение зайти на хост и отфильтровать логи через grep — обязанность любого уважающего себя инженера. Но если инфраструктура подросла, появились важные сервисы, — пора задуматься о централизованном логировании.

Если инфраструктура относительно небольшая, и вы, как и я, любите Grafana — отличным вариантом станет использование Loki.

📦 Как работает Loki: сбор и визуализация логов

1. Архитектура:

- Логи с серверов и приложений собирает агент Promtail.
- Promtail отправляет логи в Loki (обычно по порту 3100).
- Визуализация логов и построение графиков происходит в Grafana, которая интегрируется с Loki.

2. Как это работает:

- Promtail читает указанные лог-файлы и отправляет данные в Loki.
- Grafana подключается к Loki как к источнику данных — и вы можете просматривать логи, строить графики и делать алерты.

3. Плюсы такого подхода:

✅ Централизованный сбор логов.
✅ Гибрид между ELK и Prometheus: минимальное потребление ресурсов, легко масштабируется.
✅ Работает как с метриками, так и с сырыми логами, что удобно при отладке или расследованиях.

📌 Советы:

- Не забывайте настраивать лейблы — без них не получится нормально фильтровать логи в Grafana.
- Настраивайте отдельные scrape_configs для разных типов логов: системные, приложенческие, nginx, базы и т.д.
- Не открывайте Grafana без авторизации — логи могут содержать чувствительные данные.

👨‍💻 Личный опыт:
Нужны логи с подов в Kubernetes? Легко! Добавьте в ваш promtail следующую задачу:

  - job_name: kubernetes-pods
static_configs:
- targets: ["localhost"]
labels:
node: "k3s_node"
__path__: /var/log/containers/*.log
level: info
pipeline_stages:
- cri: {}
relabel_configs:
- source_labels: ['__path__']
regex: '/var/log/containers/(?P<pod_name>[^_]+)_(?P<namespace>[^_]+)_(?P<container_name>[^-]+)-.+\.log'
target_label: 'pod'
replacement: '$1'
- source_labels: ['__path__']
regex: '/var/log/containers/(?P<pod_name>[^_]+)_(?P<namespace>[^_]+)_(?P<container_name>[^-]+)-.+\.log'
target_label: 'namespace'
replacement: '$2'
- source_labels: ['__path__']
regex: '/var/log/containers/(?P<pod_name>[^_]+)_(?P<namespace>[^_]+)_(?P<container_name>[^-]+)-.+\.log'
target_label: 'container'
replacement: '$3'
- action: replace
replacement: 'kubernetes-pods'
target_label: '__job__'


Теперь вы сможете легко отлавливать логи всех подов в вашем кластере!

Кстати, если хотите узнать как это все красиво визуализировать в Graphana, дайте знать в комментариях.
  • 👍 5
  • 💯 1
More from @it_chuyana
  1. Sep 10, 2026IT-волна pinned «Привет! На этой неделе у меня день рождения 🎂. Я не большой поклонник до…
  2. Sep 9, 2026Привет! На этой неделе у меня день рождения 🎂. Я не большой поклонник долгих застолий, за…
  3. Sep 3, 2026Сегодня последний шанс успеть на наш кемп! 🏕 Не откладывайте, заходите скорее: https://de…
  4. Aug 25, 2026А так наш Кемп выглядит в сентябре. ☺️🏕️ Кстати, прогноз пока обещает хорошую погоду. 🌤️…
  5. Aug 21, 2026А вот такая вот черника 🫐 на месте нашего ДебагКемпа. Серьезно, видео было снято ровно го…
  6. Aug 20, 2026https://t.me/designvoices/17 Записали подкаст на тему дизайна 🎧, кто любит слушать — welc…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →