LINUX.ORG.RU
ФорумAdmin

Централизованный сервер логов

 , , , ,


1

5

Поискал я сабж, из опенсорсных вариантов вижу только Graylog и Logstash (оба на Java, оба огромные). Хотелось бы что-то попроще, полегче.

Насколько я понял, GELF – это довольно устоявшийся стандарт для передачи логов по сети. Так что хочу, чтобы у лог-сервера была поддержка GELF для приёма новых записей, redis для хранения и ещё какой-нибудь простенький веб-интерфейс, чтобы легко можно было посмотреть, что как. Ничего подобного не нашёл. Я один такое хочу?

★★★★★

Последнее исправление: CYB3R (всего исправлений: 1)

Не надо использовать Redis для хранения. Он для этого не предназначен.

А по теме - syslog'ом собирать всё в едином месте, а там уже анализировать чем угодно.

shell-script ★★★★★
()

Объем логов какой?

Сколько серверов?

Как долго собираешься хранить?

Откуда эти логи берешь (syslog, systemd-journal, docker?)

Как ты собираешься работать с сохраненными логами?

Насколько я понял, GELF – это довольно устоявшийся стандарт для передачи логов по сети

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

adn ★★★★
()
Последнее исправление: adn (всего исправлений: 1)
Ответ на: комментарий от adn

Логировать хочу не каждый сервер по отдельности, а кучу мелких сервисов. Например, у меня есть сервис для отправки коротких сообщений, хочу при каждой отправке логировать со статусом INFO «отправитель отправил сообщение получателю», если произошла ошибка при отправке, логировать текст ошибки со статусом ERROR. Если ошибка не критическая и сообщение отправилось со второй попытки, логировать предупреждение со статусом WARNING.

CYB3R ★★★★★
() автор топика
Ответ на: комментарий от CYB3R

А дальше что будешь делать с этой информацией? Просто такие вещи строятся от конечного пользователя. Например если на ошибки надо реагировать, то это одно и тебе нужно точно знать какой сервер и какой сервис (то же с разбором полетов), а если тебе данные нужны для аналитики с хитрыми запросами, то совершенно другое.

Если количество сообщений небольшое (меньше тысячи в секунду), то можешь забирать логи из docker socket’а или systemd-journal (ты не написал как запускаешь сервисы) - там будет вся нужная тебе метаинформация (хост, название сервиса/имя контейнера, errorlevel)

Забирать эту информацию проще всего через vector, но если не понравится, то есть fluentbit или fluentd.

Как базу для хранения проще всего использовать loki (или складывать в какой-нибудь clickhouse если нужны именно метрики)

Доступ к loki через grafana или консольный logcli.

Если хочется большей гибкости со сложным поиском, то вместо loki придется поднимать elastic c мордой в виде kibana или graylog.

adn ★★★★
()
Ответ на: комментарий от adn

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

CYB3R ★★★★★
() автор топика