Я всегда искал простой способ визуализации данных нашего журнала, например, из Solr. В то время я имел в виду комбинацию gnuplot и некоторых шелл-скриптов, но эта сессия из Люценовой революции изменила мою идею. (Смотрите здесь все видео с Люценовой революции.)
Я подумал: «Эй, вот оно! Просто поместите журналы в Solr! » Поэтому я написал что-то, что просто читает файлы журнала, и назвал его Sogger. Без шардинга, без очередей сообщений … но он должен работать на реальных системах без каких-либо изменений в вашей системе (но, вероятно, sogger).
Я надеюсь, что Sogger не отстой, но он не поставляется с какой-либо гарантией, поэтому используйте его с осторожностью! И: Это только доказательство концепции — ничто не сравнимо с парнями из loggly.com
Чтобы получить ваши журналы засорены:
- Загрузите код ‘Sogger’ через:
hg clone http://timefinder.hg.sourceforge.net/hgroot/timefinder/sogger sogger-code
- Скачайте Solr из сундука.
Sogger не обязательно нужна версия магистрали, но я еще не тестировал ее для других
- скомпилируйте solr и Sogger с муравьем
- cd solr-код / solr / пример /
- скопируйте solrconfig.xml, schema.xml из Sogger в solr / conf
- скопируйте файлы * .vm из Sogger в файлы по адресу solr / conf / speed /
- start solr
java -jar start.jar - начать кормить ваши логи
cd sogger-code/ java -jar dist/Sogger.jar url=http://localhost:8983/solr logFile=data/solr.2010-10-25.log.gz
-
- Для поиска в ваших журналах выполните:
HTTP: // локальный: 8983 / Solr / просмотр д = твиттер
Теперь вы должны увидеть что-то вроде этого
У Sogger есть несколько преимуществ по сравнению с простым «grep-ing» или сценариями с вашими журналами solr:
- полнотекстовый поиск. почти в реальном времени: ~ 1мин
- производительность. Я надеюсь, что выполнение каждой минуты не делает Solr намного медленнее
- фильтрация по уровню журнала: быстрый поиск предупреждений и исключений
- фильтрация через веб-приложение: если у вас есть несколько приложений или ядер solr, которые входят в один и тот же файл, фильтрация с помощью solr очень проста (с помощью grep тоже, но вам придется перетирать весь журнал…)
- с открытым исходным кодом: вы можете изменить метод кормления, который я использовал, и позаботиться о ваших особых потребностях. Скажите, если вам нужна помощь!
- новые строки журнала будут обнаружены и зафиксированы ala tail -f
- помимо текстовых файлов sogger принимает и обнаруживает сжатые (zip, gzip / gz) файлы ala zgrep. Таким образом, вам не нужно менять обработчики журналов или предварительно обрабатывать файлы.
делать это:
- сделать формат журнала настраиваемым в файле свойств:
line1 = регулярное выражение
pattern1 line2 = регулярное выражение pattern2 - читать и контролировать несколько файлов журнала
- сделать плагин Solr через специальный UpdateHandler?
- было бы неплохо построить график xy (или диаграмму) по скорости для некоторых фасетов или фасетных запросов. Нечто подобное я делал раньше с калиткой.
- Я не люблю скорость … хотя этого достаточно для этого … но мы должны использовать калитку !?
От http://karussell.wordpress.com/2010/10/27/feeding-solr-with-its-own-logs/