Про мониторинг ============== // vim: encoding=utf-8 // vim: ft=asciidoc // 2007-09-03T01:03:58 Набор соображений на тему, что хочется от мониторинга. Во-первых, мониторинг - это не только система сбора информации, но и система её анализа. Преобразование данных от сенсоров в адекватное описание происходящего в системе является весьма нетривиальной задачей. Идея *функционального* мониторинга здесь представляется очень интересной, но есть серьёзные основания считать, что события не всегда выражаются в виде чистых функций от показаний датчиков. Пояснить лучше на примере системы из реальной жизни, с которым сетевой мониторинг *должен уметь справляться* без дополнительных ухищрений. Рассмотрим локальную сеть на неуправляемых свитчах. Она обладает древовидной структурой и только листья доступны для сбора информации. Доступность устройства, подключенного к этой сети означает работоспособность всего пути от корня (системы сбора) до устройства. Недоступность же означает выключенное устройство или сбой *где-то* по пути к устройству. Таким образом, изменение состояния с доступного на недоступное порождает *набор гипотез* о случившемся в системе. Действия нормальной системы мониторинга в такой ситуации заключаются в проверке гипотез и оповещении о наиболее вероятных из них. Трудность задачи определяется тем, что большинство событий (выключение отдельных устройств) интереса не представляют, а полная и надёжная проверка может отнять много времени (чтобы убедиться в неработоспособности корневого устройства нужно проверить всех). При этом администратора нужно оповестить как можно быстрее. Кроме того, за время дополнительной проверки информация может устаревать (фактически, действуют правила, схожие с принципом неопределённости Гейзенберга). Таким образом, при обнаружении сбоя требуется целенаправленное проведение дополнительных проверок, что делает необходимым тесное взаимодействие системы анализа событий и системы сбора информации. Кроме того, если система достаточно большая, то разумно проверять подключенные устройства так, чтобы все устройства при этом были задействованы равномерно (это обеспечит более свежие данные и упростит проверку гипотез). Следовательно, система мониторинга должна обладать *планировщиком* запросов и целенаправленно собирать данные. Пассивный анализ на большой системе даст значительно менее качественные результаты. Разумеется, если всё оборудование доступно для мониторинга (например, сеть на управляемых свитчах), то ситуация упрощается, но там по прежнему остаются зависимые события и необходима быстрая проверка гипотез. Кроме того, возможны и более сложные ситуации, когда управляемый свитч не отвечает, но пропускает сквозь себя пакеты. Из представленных выше соображений следуют следующие выводы: * важны не столько функции от сенсоров, сколько зависимости между ними; * оповещать нужно о наиболее вероятных сбоях, а не об изменениях показаний конкретных сенсоров; * требуется тесная интеграция системы анализа и системы сбора данных (активный мониторинг); * необходимо разработать математические модели для эффективного планирования запросов с целью повысить точность проверки гипотез о возможных сбоях.