Система мониторинга MongoDB (MMS)



    Несколько часов назад ко мне в почту упало письмо с уведомлением о новом сервисе от компании 10gen, спонсоров MongoDB. Этот облачный сервис позволяет мониторить ваши сервера и слать алерты, если что-то пойдет не так.

    Как настоящий фанат MongoDB, я тут же побежал пробовать сервис. Для его использования потребуется установить агент. Для агента нужен python и pymongo. Первый у меня уже был в системе, второй пришлось установить.

    # менеджер пакетов, вроде easy_install
    sudo apt-get install python-pip

    # сам драйвер
    sudo pip install pymongo


    Питон рекомендуется использовать версии 2.6+, иначе потребуется доустановить библиотеки определенных версий. С моей версией 2.7 всё завелось и так.

    Далее качаем архив с агентом по ссылке из админки. Это уже настроенная версия, туда уже встроены ключи API. Распаковываем, запускаем агент.

    nohup python agent.py > /var/log/mms-agent/agent.log 2>&1 &


    Теперь нам надо добавить хосты для мониторинга. Идем в админку и на вкладке Hosts нажимаем плюсик.



    Этот момент меня несколько удивил, потому что обычно хосты задаются в конфиге самого агента. Ну да ладно, указываем хост, порт и данные юзера (если используется аутентификация). Всё. Через некоторое время (была озвучена цифра в 6 минут) можно будет наслаждаться вот такими картинками :-)



    Красная линия на графиках — это я сервер перезагружал. Количество собираемых параметров довольно велико. Сейчас на графиках присутствуют:
    • Счетчики операций (query, insert, update, command, ...)
    • Ассерты
    • Потребляемая память
    • Использование индексов (попадания, промахи)
    • Процент времени под write lock
    • Время сброса кэшей на диск
    • Соединения
    • Очереди запросов
    • Курсоры
    • Передача данных по сети
    • Page faults
    • Использование журнала (лог транзакций)
    • CPU time
    • iostat
    • I/O time (для последних трех надо будет поставить munin-node)


    Неплохо для бесплатного сервиса, не так ли? :-)
    Поделиться публикацией

    Похожие публикации

    Комментарии 12

      0
      В копилку, как раз проект на моем любимом Mongo делаю :)
        0
        Как-раз вчера попробовали MMS в своем проекте. Что примечательно, клиент был установлен только на PRIMARY сервер из Replica Set, но мониторит сразу все сервера набора реплик.
          0
          Ну разумеется. Про это и в документации написано. Достаточно поставить его только на один сервер из репликасета, он получит затем конфиг и подцепит остальные хосты.

          Жалко, я кластер свой разобрал. Хочется проверить, он конфиг только для отдельного сета получает или для всего кластера сразу? :-)
            0
            Это будет следующий эксперимент :)
            0
            В питоне не силён
            при запуске пишет
            python: can't open file 'agent.py': [Errno 2] No such file or directory
            куда устанавлил pip скрипт agent.py?
              0
              Ubuntu 11.04, Python 2.7.1+
                +2
                pip устанавливает pymongo, это драйвер БД. Сам агент надо скачать по ссылке из админки и распаковать. Там и будет agent.py
                  +1
                  Ясно, спасибо, разучился читать, видимо.
            0
            Было бы замечательно иметь оффлайновую версию приложения, чтобы статистика с серверов не уходила за пределы серверов компании.
              0
              Так напиши свой сервер. Агент то опенсорсный :-)
                +1
                Можно использовать Munin
                0
                Вот именно о такой системе я и мечтал в Q&A habrahabr.ru/qa/10967/ только для MySQL. :)

                Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                Самое читаемое