13
Олег Бунин 14.4.10 Мониторинг как высоконагруженный проект Александр Быков

Bykov monitoring mailru

  • Upload
    rit2010

  • View
    1.088

  • Download
    7

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Bykov monitoring mailru

Олег Бунин

14.4.10

Мониторинг как высоконагруженный проект

Александр Быков

Page 2: Bykov monitoring mailru

Зачем нужен мониторинг ?• Контроль работоспособности системы;

• Контроль ключевых рабочих параметров;

• Своевременное обнаружение неполадок;

• Локализация неполадок;

• История событий и анализ инцидентов;

• Предупреждение и профилактика отказов.

Page 3: Bykov monitoring mailru

Исходные данные• Больше тысячи серверов, десятки проверок на каждом;

• Используемые протоколы: PING, HTTP, SNMP, SMTP, POP3, OPORT;

• Несколько датацетров, сложная сетевая инфраструктура;

• Высокая связанность проектов между собой;

• Морально устаревшая система мониторинга.

Page 4: Bykov monitoring mailru

Старая система• Медленный опрос (большой цикл по всему конфигу);

• Медленная база (все результы проверок в СУБД);

• Неэффективный формат истории в СУБД;

• Большое количество конфигурационных файлов;

• Небогатый интерфейс.

Page 5: Bykov monitoring mailru

Требования времени• Моментальное обнаружение сетевых проблем (до 20 секунд);

• Быстрый опрос основных сервисов (до 60 секунд);

• Высокая производительность (должно умещаться в сервер);

• Децентрализованность и работа при потере связности;

• Интеграция с системой управления конфигурацией;

• Удобный и быстрый интерфейс (группировки и фильтры);

• История с расширенным поиском, графики.

Page 6: Bykov monitoring mailru

Nagios не предлагать• fork() на проверку это очень дорого;

• Минимальный интервал проверок 60 секунд;

• Сложные и громоздкие конфиг-файлы;

• Невозможность нормального мониторинга по SNMP;

• Централизация мониторинга на одной машине;

• Медленный и неудобный интерфейс;

• Невозможность интеграции из-за отсутствия СУБД.

Page 7: Bykov monitoring mailru

Собираем велосипед

Page 8: Bykov monitoring mailru

Оптимизация СУБД• Оставляем совместимость по базе со старой системой;

• Список проверок и сервера переносим в базу;

• В базе храним только негативные статусы;

• Положительные статусы храним в memcached;

• В историю пишем запись по окончании проблемы;

• Из разных баз собираем информацию интерфейсом.

Page 9: Bykov monitoring mailru

AnyEvent и сотоварищиXS-модули:

• AnyEvent::FastPing;

• AnyEvent::HTTP;

• AnyEvent::Socket (SMTP, POP3, OPORT, MRIM ...);

Проблемы:

• Необходимость rate limit;

• Большой объем трафика создаваемый HTTP.

Page 10: Bykov monitoring mailru

Особенности протокола SNMPПлюсы:

• Возможность мониторинга сетевого оборудования;

• Доступно множество рабочих параметров;

• Расширяемость через agent и embeded perl;

Минусы:

• Необходимость последовательного сканирования;

• Небогатые возможности проверок;

• Проблемы реализации клиентов (блокирйющий exec).

Page 11: Bykov monitoring mailru

Клиент SNMP::Multi

• Родной XS-модуль для пакета net-snmp;

• Лимит на кол-во одновременных сессий из-за select;

• Приходится экономить и делать последовательный опрос;

• Зависающие запросы на большом количестве сессий;

• Нормальной замены нет.

Page 12: Bykov monitoring mailru

Немного про SNMP-inform

• Уведомление с подтверждением о доставке;

• Теоретически мгновенное уведомление о проблемах;

• Но опять проблемы с реализацией:

- в сервер жестко зашито число повторных отправок

- из-за этого иногда не доставляются

Page 13: Bykov monitoring mailru

Вопросы ?

[email protected]