Интересный инструмент для тех случаев, когда нужно быстро проанализировать логи на нескольких Linux-серверах, но разворачивать полноценную систему централизованного логирования избыточно.
Nerdlog — это терминальный UI-интерфейс, который подключается к удалённым машинам по SSH, выполняет обработку логов непосредственно на них, а затем объединяет результаты в одном окне.
По умолчанию Nerdlog умеет работать с:
— /var/log/messages и /var/log/syslog;
— ротируемыми логами;
— выводом journalctl;
— произвольными текстовыми логами;
— базовым форматом логов Apache.
Можно одновременно искать события на нескольких серверах, ограничивать запрос временным диапазоном и фильтровать строки с помощью выражений в awk-формате. Результаты от разных узлов объединяются в общую таблицу.
Главная особенность интерфейса — интерактивная временная гистограмма, напоминающая Kibana или Graylog. На ней виден всплеск ошибок. Есть история запросов, постраничная загрузка, Vim-подобное управление и возможность скопировать текущий запрос в виде команды, чтобы передать его коллеге.
При этом полные файлы на рабочую машину не скачиваются. Фильтрация и построение гистограммы выполняются на удалённых узлах, а по сети передаются только найденные сообщения и агрегированные данные.
Результаты дополнительно сжимаются. Количество загружаемых строк можно ограничить — по умолчанию это до 250 сообщений с каждого потока.
Клиент работает на Linux, macOS, FreeBSD и Windows, но получать логи с Windows-хостов пока нельзя. Nerdlog написан на Go, а готовые бинарники доступны в GitHub Releases.
📌 GitHub
📌 Готовые сборки
📌 Документация и ограничения
MemOps🤨