![]() |
Модераторы: powerfox, ZeeLax |
![]() ![]() ![]() |
|
zett86 |
|
||||
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 23.9.2013 Репутация: нет Всего: нет |
Привет, ребята.
Чем парсить в rsyslog? Вот кусок конфига и суть: Нужно настроить сервер логирования для разработчиков. У них там свой определенный формат логов, которые нужно красиво залить в базу MySQL. И вот создаю темплейт:
Создаю фильтр local4.* и привязываю к нему темплейт. Логи приходят в таком формате:
где ^ - разделитель. Вот как-то нуна распарсить строку с разделителем и засунуть под темплейт. Кто-то что-то подобное делал? ![]() Это сообщение отредактировал(а) zett86 - 27.9.2013, 16:14 |
||||
|
|||||
krypt3r |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 359 Регистрация: 9.6.2009 Репутация: 1 Всего: 16 |
perl?
|
|||
|
||||
zett86 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 23.9.2013 Репутация: нет Всего: нет |
Вариант. Как?
То есть как подключить перловый скрипт к сислогу? И как примерно написать скрипт? Как распарсить понимаю.. а вот как принять из сислога (сислог -?> перл -?> сислог) строку и как вернуть в сислог? ![]() |
|||
|
||||
krypt3r |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 359 Регистрация: 9.6.2009 Репутация: 1 Всего: 16 |
Будучи близко не знакомым с rsyslog, я предложил простейшее решение парсить приходящие логи перловым скриптом
![]() |
|||
|
||||
zett86 |
|
||||||||
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 23.9.2013 Репутация: нет Всего: нет |
1. Может как-то еще можно это реализовать базовыми средствами? Может можно как-то регекспами в темплейтах?
По сути надо как-то распарсить %msg% в шаблоне. Кто-то с таким сталкивался? ![]() 2. Или как это можно решить с помощью внешнего скрипта на perl? ![]() Вот так я пытаюсь вызвать свой скрипт из rsyslog'a:
Сам скрипт пока простой:
Я просто пытаюсь им создать лог-файл если его нет и выписать туда полученные параметры. Но, увы... ни файла ни параметров...... Если запустить скрипт руками, то файл создается и параметры там есть:
То есть проблемы с вызовом...:
P.S. ![]() Это сообщение отредактировал(а) zett86 - 26.9.2013, 10:48 |
||||||||
|
|||||||||
zett86 |
|
||||||||
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 23.9.2013 Репутация: нет Всего: нет |
Короч решилось через парсинг на уровне шаблона в rsyslog.conf.
Могу рассказать как, если кому интересно.. ![]() В общем получаем строку
Ее нужно распарсить по разделителю '^' Сделать это можно на уровне шаблона rsyslog'a так.. Создаем шаблон:
(таблица тут кастомная..) Создаем событие:
И так эта регулярка парсит строку по разделителю '^'.. Давайте посмотрим что оно значит.. ![]()
Но есть ограничение связанное с номером совпадения, максимум можно находить 9 совпадений.. Мне такое не подходит, так как прийдется парсить строки и на 10 и на 14 и больше подстрок... Так что скорей всего еще буду переделывать скриптами, так удобнее менеджить проекты.. так что вопрос о скриптах остается пока в силе.. ![]() Это сообщение отредактировал(а) zett86 - 27.9.2013, 11:45 |
||||||||
|
|||||||||
zett86 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 23.9.2013 Репутация: нет Всего: нет |
Ну что, никто никогда скрипты к RSysLog'у не потключал?..
![]() |
|||
|
||||
vitalyisaev2 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 7.9.2010 Репутация: нет Всего: нет |
Может cron'ом их запустить?
Либо написать небольшой event-based демон с асинхронным вводом-выводом, который будет мониторить изменение логов и делать всё, что тебе надо ![]() |
|||
|
||||
zett86 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 23.9.2013 Репутация: нет Всего: нет |
cron не вариант ) ну а мониторить что?.. нуна хватать логи перед записью, парсить и складывать в мускуль..
![]() |
|||
|
||||
zett86 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 23.9.2013 Репутация: нет Всего: нет |
Вопрос все еще открыт..
![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Linux/UNIX: Администрирование" | |
|
Этот форум предназначен для решения вопросов по администрации *n?x-систем, в частности по настройке сложных сетей и обслуживанию серверного оборудования.
За интересные статьи, находки, решения, программы и просто реальную помощь будут ставиться + в репу). В данный момент этот раздел модерируют nerezus, nickless, powerfox, pythonwin, Imple и ZeeLax. Если вы хотите помочь нам, пишите в ПМ и мы обсудим. Спасибо. И use UNIX or die; С уважением, nerezus, nickless, powerfox, pythonwin, Imple, ZeeLax. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Администрирование *NIX систем | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |