Alexy780
Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Под задачу сбора логов Kerio Winroute Firewall 6 через syslog в mySQL пробовал использовать Kiwi Syslog Server. Штука мощная, полно настроек. Но. На 2-3 миллионах записей в час изрядно грузит процессор и не успевает вставлять записи в реальном времени (отставание доходило до 30 минут и более). На мой взгляд, причина задержек сохранения данных - в том, что Kiwi Syslog Server использует для работы с БД ODBC Connector. И не использует BULK INSERT-синтаксис при вставке данных. Что ж, установил Syslog Message Collector (скачал по ссылке в шапке топика), процессор он грузит несколько меньше, чем Kiwi Syslog Server, но не использует ODBC и вполне успевает в реальном времени вставлять данные в базу (на 6 млн. записей в час). Дальнейшая обработка событий в базе, может быть кому-то будет интересно, происходит так. Таблица message, в которую syslog вставляет данные, использует Engine=BLACKHOLE (т.к. сам сырой лог мне хранить не нужно), и на эту таблицу повешен триггер BEFORE INSERT, который парсит сообщение syslog и создаёт нужные записи в нужных таблицах. |