Какие системы логирования и мониторинга вы использовали?

Ответ

Для сбора, хранения и анализа логов применяются следующие стек-решения и инструменты:

  • ELK/Elastic Stack (Elasticsearch, Logstash, Kibana) — стандартный стек для агрегации, полнотекстового поиска и визуализации. Logstash парсит и обогащает логи, Elasticsearch хранит, Kibana предоставляет дашборды.
  • Grafana + Loki — легковесная альтернатива, особенно эффективна в микросервисных средах, где Loki индексирует только метаданные, а Grafana используется для запросов и графиков.
  • Graylog — open-source система с мощными возможностями фильтрации, парсинга и алертинга.
  • Splunk — коммерческое решение с мощным языком запросов SPL и аналитикой в реальном времени.

Пример конфигурации Logstash для парсинга JSON-логов:

input {
  file {
    path => "/var/log/app/*.json"
    codec => json
  }
}
filter {
  # Дополнительная обработка при необходимости
}
output {
  elasticsearch {
    hosts => ["http://localhost:9200"]
    index => "app-logs-%{+YYYY.MM.dd}"
  }
}

Облачные сервисы: Для проектов в облаке часто используются нативные сервисы, такие как AWS CloudWatch Logs, Google Cloud Logging (ранее Stackdriver) и Azure Monitor, которые легко интегрируются с другими облачными ресурсами.

Ответ 18+ 🔞

Да ты посмотри, какая хуйня развелась для логов! Прямо как в зоопарке — выбирай на вкус, все хотят твои строчки текста собрать, проиндексировать и красиво показать.

Ну, классика жанра, само собой, ELK-стек, он же Elastic Stack. Три богатыря, блядь: Logstash, который всё засасывает и парсит, Elasticsearch, который это всё складирует в свою ненасытную утробу, и Kibana — этакая мартышлюшка с графиками, которая рисует тебе красивые картинки из этой кучи данных. Стандарт де-факто, хотя и прожорливый иногда, сука.

А если тебе на микросервисах, где каждый контейнер пукает логами, и денег на Elasticsearch жалко? Тогда, чувак, смотри в сторону Grafana + Loki. Принцип у них хитрожопый: сам лог они не индексируют, только метаданные (типа «от кого» и «когда»). А когда надо что-то найти — они просто по меткам файлы находят и там уже grep'ом ищут. Гениально и дёшево, ёпта!

Есть ещё Graylog — open-source монстр с кучей встроенных плюшек для фильтрации и алертинга. И, конечно, жирный коммерческий кабан Splunk с его собственным языком запросов SPL. Мощно, но стоит, блядь, как крыло от боинга.

Вот, смотри, как Logstash'у скормить JSON-логи, чтоб он не подавился:

input {
  file {
    path => "/var/log/app/*.json"
    codec => json
  }
}
filter {
  # Тут можешь его ещё поколдовать, если хочешь
}
output {
  elasticsearch {
    hosts => ["http://localhost:9200"]
    index => "app-logs-%{+YYYY.MM.dd}"
  }
}

Ну и если ты, ленивая жопа, всё в облаках держишь, то там свои сервисы-няньки есть. В AWS — CloudWatch Logs, в Google — Cloud Logging, в Azure — Monitor. Они сами всё с потрохами из твоих сервисов вытянут, тебе только заплатить останется. Удобно, блядь, но привязывает намертво.