Терминальное приложение Nerdlog позволяет удобно просматривать логи с одного или сразу нескольких серверов Linux и FreeBSD. Поддерживает как обычные текстовые лог-файлы (например, /var/log/messages
или /var/log/syslog
), так и вывод journalctl
.
Визуально отображает активность в виде интерактивной псевдографической таймлайн-гистограммы, аналогично таким инструментам, как Graylog, Kibana или Splunk.
Ключевые особенности:
- Без центрального сервера: Nerdlog подключается по ssh к каждому хосту напрямую.
- Минимум передаваемых данных: фильтрация и анализ логов выполняется на удаленных хостах, клиенту передаётся только результат для отображения: данные для гистограммы и последние логи из выбранного периода, с возможностью постраничной подгрузки. Данные от всех хостов объединяются и отображаются в одном интерфейсе.
- Без установки на серверах: для фильтрации и анализа логов используется только стандартный набор GNU-утилит, присутствующих в большинстве современных Linux-дистрибутивов по умолчанию (
bash
,gawk
,tail
,head
и др.) - Данные с удаленных хостов передаются в сжатом виде для экономии трафика.
- Фокус на производительность: работает быстро даже с большими лог-файлами (более 1 GB) и с большим количеством серверов (регулярно использовался на кластере из 20+ хостов).
Первоначальный прототип был разработан еще в 2022г. как альтернатива Graylog, подробнее об истории возникновения можно прочитать на Хабре.
Программа написана на Go и распространяется на условиях BSD-2-Clause license.
>>> GitHub проекта