Прямо сейчас у меня есть события, пересылаемые сборщику, на котором я затем запускаю сценарий, чтобы вытащить их из журналов событий сборщика в виде xml, а затем вставить их в базу данных.
Есть ли какая-либо утилита, которая знает собственный протокол пересылки событий Windows, который может принимать входящие переадресованные события и вставлять их непосредственно в БД? Я удивлен, что еще не видел продуктов, которые это делают.
Я смотрел на API, но не похоже, что он предоставляет способ изменить источник данных на что-то вроде базы данных sql вместо журнала событий Windows.
Использовать LogParser для извлечения данных из журналов событий Windows (среди множества источников) и их репликации в базу данных. Если запускаться по расписанию, он может обновлять базу данных любыми новыми событиями.
Производительность такой конструкции нельзя было бы хорошо масштабировать. Однако он может работать в малых / средних средах.
Сборщик событий Windows предназначен именно для этого - масштабного масштабирования. Один сервер-сборщик может собирать данные с сотен или тысяч компьютеров по 10 или даже 100 ГБ в день.
На сопоставимом оборудовании подход подписки по запросу на сервере SQL не может приблизиться к производительности сборщика событий Windows. И подход с принудительной подпиской на сервере SQL - даже с минимальными индексами будет сглаживаться, как хитрый койот, задолго до достижения чего-либо, что может сделать сборщик событий Windows.
И вы не захотите конкурировать со вставками, поэтому в больших средах может потребоваться база данных отчетов для запросов, особенно если у вас много связанных таблиц или ковровая бомбардировка их индексами. Таким образом, при масштабировании решение не сможет конкурировать ни по производительности, ни по стоимости.
Существует значительное несоответствие импеданса в производительности между сборщиком событий и сервером SQL. Вот почему Event Collector так хорошо подходит в качестве посредника трансформации. Приложения / сценарии преобразования, которые читают журнал переадресованных событий, недороги и просты в создании, поэтому их устранение не имеет коммерческого обоснования (зеленого цвета). Серверу SQL потребуется только одна база данных - база данных отчетов не требуется, и он может иметь небольшую емкость, поскольку преобразование может выполняться большими пакетами с минимальным влиянием на сервер базы данных.
Вы могли бы сделать это с syslog-ng, у которого есть клиентское программное обеспечение для машин Windows.
А syslog-ng
сервер может хранить свои журналы в базе данных, как реляционные, так и нереляционный.