Назад | Перейти на главную страницу

Как обрабатывать журналы и отладочную информацию, создаваемую приложениями, запущенными на спотовых экземплярах

Я использую спотовые инстансы Amazon для сканирования большого количества данных. Большинство из них работают до тех пор, пока Amazon не прекратит их, как только текущая цена превысит нашу максимальную ставку.

Мне нужно отслеживать и в основном архивировать журналы, созданные в этих спотовых экземплярах. Эти журналы очень важны для отладки и аналитики. У нас есть журналы приложений, системные журналы, такие как syslog, безопасный журнал. Ниже приведены варианты, о которых я мог подумать:

Кроме того, я думаю, что возможность запускать команды Linux, такие как grep, awk, для этих архивных файлов также важна. Что люди используют в такой ситуации?

P.S. Мы уже используем splunk, но я не буду архивировать логи в splunk.

Как вы уже писали, у вас может быть возможность использовать Chkwa / Flume.

Я считаю, что это лучший и наиболее эффективный способ обработки и хранения журналов, но я мог бы предложить использовать для этого же logstash.

Logstash довольно эффективен и поддерживает множество внутренних форматов сообщений. Logstash также предоставляет интерфейс, в котором вы можете использовать регулярное выражение и проверять результаты.

Хотя для интерфейса я бы предложил использовать graylog2, который имеет большую функциональность по сравнению с интерфейсом logstash.

Хотя, если у вас уже есть splunk, я не понимаю, почему вы не хотите хранить там данные. Может быть, из-за лицензионного сбора? Я не уверен в их структуре комиссионных, но знаю, что это много :)

Я использовал два подхода:

  • Отправьте свои журналы в другое место с помощью Syslog. В AWS мы используем VPC с VPN-подключением к частной стойке в локальном центре обработки данных. Все наши экземпляры работают Системный журнал-NG и отправляют свои журналы на сервер в нашем центре обработки данных. Данные хранятся в MongoDB.

  • Использовать logrotate для архивации журналов на S3. Это не так в реальном времени, как использование системного журнала, но его проще настраивать и поддерживать, особенно если вы генерируете много данных. Недавно объявленный AWS Конвейер данных также может быть хорошим дополнением к этому решению, поскольку вы можете использовать его для автоматической обработки журналов с помощью заданий Elastic Map Reduce.