LINUX.ORG.RU
 

Распределённый логгер


0

1

Ищу распределённую систему сбора логов.

Что от неё надо:

1. Возможность интеграции с различным самописанным софтом на разных языках (php/python/shell).

2. Кастомный (или достаточно гибкий) формат содержимого. Т.е. кроме стандартных hostname, date, level, message, я хочу, например, имя процесса, pid, группа, тэг, еще какой-нить признак.

3. Сбор логов с кучи машин (десятки) на одну-две центральные.

4. Возможность в реальном времени смотреть на логи

5. Возможность фильтровать логи по различным тэгам (домены, тэги и прочие специальные признаки, описанные выше).

6. Фильтр по регекспам по телу сообщения

Сейчас используются кастомные лог-файлы, базы данных, сброс данных по мылу (когда в сообщениях трейсы и дампы исходных данных) и прочая каша. Хочется это всё как-то систематизировать.

В свое время на том же ЛОРе, вроде бы, проскакивала новость о подобной системе, вроде бы даже на erlang'е, но что-то никак не могу найти.

Единственно, что смог найти - log.io, но он мне не подходит - там простые сообщения собираются в одну кучу, без тэгов. А мне нужны гибкие фильтры.

СКАЖИ СВОЕМУ КОМПЬЮТЕРУ, ЧТОБЫ ЗАПЕР ДВЕРЬ

любительская автоматизация; устройство с открытой прошивкой
исходные тексты всех программ, открытые библиотеки
http://www.unicontrollers.com/products/unc01x

[#] Ответ на: комментарий от AngryElf 31.01.2012 20:25:25  
zolden

зацени как я умею гуглить

Features

  • syslog-ng has a much larger scope than merely transporting syslog messages and storing them to plain text log files:
  • the ability to format log messages using UNIX shell-like variable expansion;
  • the use of this shell-like variable expansion when naming files, thus covering thousands of destination files with a single statement;
  • the ability to send log messages to local applications;
  • ability to message flow-control in network transport;
  • logging directly into a database (since syslog-ng OSE 2.1);
  • rewrite portions of the syslog message with set and substitute primitives (since syslog-ng OSE 3.0);
  • classify incoming log messages and at the same time extract structured information from the unstructured syslog message (since syslog-ng OSE 3.0);
  • generic name-value support: each message is just a set of name-value pairs, which can be used to store extra information (since syslog-ng OSE 3.0);
  • the ability to process structured message formats transmitted over syslog, like extract columns from CSV formatted lines (since syslog-ng OSE 3.0);
  • the ability to correlate multiple incoming messages to form a more complex, correlated event (since syslog-ng OSE 3.2);

в общем я думаю что ты ещё не докурил документацию по syslog-ng

** ()
[#]  
demmsnt
>>-----Цитата---->>

Кастомный (или достаточно гибкий) формат содержимого. Т.е. кроме стандартных hostname, date, level, message, я хочу, например, имя процесса, pid, группа, тэг, еще какой-нить признак.

<<-----Цитата----<<

Для этого это ВСЕ должен отдать логгер. А еще это куча КУЧА данных.

На Хабре был похожий логгер поищи. Там у них КучДБ вешался еще как помню.

* ()
[#] Ответ на: комментарий от demmsnt 31.01.2012 21:17:18  
>>-----Цитата---->>

На Хабре был похожий логгер поищи. Там у них КучДБ вешался еще как помню.

<<-----Цитата----<<

У меня кауч треснет от логов. Да и с полнотекстовым поиском там напряженка.

***** ()
[#] Ответ на: комментарий от AngryElf 31.01.2012 22:40:28  

Можно в качестве бэкенда к Syslog-NG юзать какой-нибудь MySQL с Archive стороджем, который жмёт всё в gzip, оттуда правда удалять нельзя, но можно плодить таблицы и и ротировать. А для полнотекстового поиска юзать Sphinx, он очень и очень быстр. У меня архив почты в 1.5млн штук, гигов 7 текста индексирует быстро.

** ()
[#] Ответ на: комментарий от AngryElf 31.01.2012 23:12:31  

В мускуле есть сторадж энджин CSV, как раз текстовые файлы :) Но наверное да, оверхед будет приличный от наличия СУБД. А полнотекстовый индекс 200млн записей боюсь будет идти довольно долго.

** ()
[#]  

rsylog умеет большую часть перечисленного (не пишу что всё, потому что не помню его ман и не пользовался всеми возможностями), но как минимум, работа по сети (в т.ч. и шифрованная передача логов), сброс данных в СУБД, настраиваемый формат логов и тд и тп — это всё из коробки.

* ()