В информатике , мониторинг событий является процесс сбора, анализа и сигнализации вхождений событий для абонентов , таких как операционная система , процессы , активные базы данных правил, а также человеческих операторов. Эти события могут происходить из произвольных источников как в программном, так и в аппаратном обеспечении, таких как операционные системы, системы управления базами данных , прикладное программное обеспечение и процессоры . Мониторинг событий может использовать базу данных временных рядов .
Основные понятия
Мониторинг событий использует логическую шину для передачи событий событий от источников к подписчикам , где источники событий сигнализируют о возникновении событий всем подписчикам событий, а подписчики событий получают события событий. Шина событий может быть распределена по набору физических узлов, таких как автономные компьютерные системы. Типичные примеры шин событий можно найти в графических системах, таких как X Window System , Microsoft Windows, а также в инструментах разработки, таких как SDT.
Сбор событий - это процесс сбора событий в отфильтрованном журнале событий для анализа. В отфильтрованном журнале событий регистрируются события, которые могут быть полезны в будущем; это означает, что вхождения событий можно удалить из отфильтрованного журнала событий, если они будут бесполезны в будущем. Анализ журнала событий - это процесс анализа отфильтрованного журнала событий для агрегирования событий или принятия решения о том, следует ли сигнализировать о возникновении события. Сигнализация событий - это процесс сигнализации возникновения событий по шине событий.
То, что контролируется, обозначается как контролируемый объект ; например, объектом мониторинга могут быть приложение, операционная система, база данных, оборудование и т. д. Контролируемый объект должен быть должным образом обусловлен датчиками событий , чтобы обеспечить мониторинг событий, то есть объект должен быть оснащен датчиками событий, чтобы быть контролируемым объектом. Датчики событий - это датчики, которые сигнализируют о возникновении события всякий раз, когда оно происходит. Каждый раз, когда что-то отслеживается, нужно управлять эффектом зонда .
Контролируемые объекты и зондовый эффект
Как обсуждал Gait [1], когда за объектом наблюдают, его поведение изменяется. В частности, в любой параллельной системе, в которой процессы могут выполняться параллельно , это создает особую проблему. Причина в том, что всякий раз, когда в систему вводятся датчики, процессы могут выполняться в другом порядке. Это может вызвать проблему, если, например, мы пытаемся локализовать сбой и, отслеживая систему, изменяем ее поведение таким образом, чтобы сбой не приводил к сбою; По сути, неисправность может быть замаскирована путем мониторинга системы. Эффект зонда - это различие в поведении контролируемого объекта и его неинструментированного аналога.
Согласно Шютцу [2], мы можем избежать, компенсировать или игнорировать эффект зонда. В критически важной системе реального времени, в которой своевременность (т. Е. Способность системы уложиться во временные ограничения, такие как крайние сроки) важна, избегание является единственным вариантом. Если мы, например, инструментируем систему для тестирования, а затем удаляем инструменты перед поставкой, это делает недействительными результаты большинства тестов, основанных на всей системе. В менее критичных системах реального времени (например, системах на основе мультимедиа) компенсация может быть приемлемой, например, для тестирования производительности . В непараллельных системах игнорирование допустимо, поскольку поведение в отношении порядка выполнения остается неизменным.
Анализ журнала событий
Анализ журнала событий известен как композиция событий в активных базах данных , распознавание хроник в искусственном интеллекте и как логическая оценка в реальном времени в системах реального времени. По сути, анализ журнала событий используется для сопоставления с образцом , фильтрации возникновения событий и агрегирования появлений событий в составные экземпляры событий. Обычно стратегии динамического программирования из алгоритмов используются для сохранения результатов предыдущего анализа для будущего использования, поскольку, например, один и тот же шаблон может совпадать с одними и теми же вхождениями событий в нескольких последовательных обработках анализа. В отличие от обработки общих правил (используемых для утверждения новых фактов из других фактов, см. Механизм вывода ), которая обычно основана на методах обратного отслеживания , алгоритмы анализа журнала событий обычно жадны ; например, когда говорят, что произошло совмещение, этот факт никогда не отменяется, как это может быть сделано в алгоритме, основанном на отслеживании с возвратом.
Было предложено несколько механизмов для анализа журнала событий: конечные автоматы , сети Петри , процедурные (основанные на императивном языке программирования или на объектно-ориентированных языках программирования), модификация алгоритма поиска строк Бойера – Мура и простые временные сети .