Мониторинг услуг на базе серверов

Тема в разделе "Администрирование серверов", создана пользователем Горбушка, 6 июл 2014.

Модераторы: mefish, stooper
  1. Горбушка

    Горбушка Ищу её...

    Регистр.:
    2 май 2008
    Сообщения:
    3.175
    Симпатии:
    2.195
    Столкнулся со следующей задачей, которую пока решить не получается...

    Хостинг-компания имеет множество серверов, часть из которых в кластерах (отдельно обработчики, хранилища и база), часть отдельные (всё на 1 машине), а часть облачные (полноценное облако с авто-переездом с машины на машину и т.д.)...

    Так вот, требуется всё это добро поставить на мониторинг, но не просто серверов, а именно услуг. Объясню:

    У нас есть услуга "Хостинг сайтов", эта услуга размещена на кластере, в составе которого 2 обработчика, 2 хранилища и 2 базы. Кластер работает в режиме мастер-мастер.
    Так вот, мне нужно мониторить не сами сервера, а услугу. То есть, если упал сервер базы данных - да, окрасить его в красный, а услугу в жёлтый. И инженеры понимают, что умер один из дублируемых узлов, критичность средняя, делают рассылку оповещения об ограничении и продолжают, к примеру, плановые работы, а к этому вернуться потом. А вот если упали оба сервера базы - то мы красим услугу уже в красный цвет и инженеры бросают все дела и бегут поднимать сервера баз данных, ибо услуга не оказывается. В идеале красить даже не услугу "Хостинг", а "MySQL", т.к. сайты на голом html продолжат работу...

    К сожалению, из таких мониторингов знаю только HP BSM, но это дорогое и бесполезное ПО, сложное в обучении сотрудников и т.д. Кроме того, развернуть его в пределах хостинг-компании почти не реально ввиду количество серверов под мониторинг.

    Увы, ни в nagios, ни в zabbix такого функционала не знаю... Сейчас мониторинг идёт на базе The dude, который свою задачу выполняет на ура, но красит сразу весь кластер, если падает хотя бы 1 сервер. А падение сервиса определяется по его падении на 1 из серверов... Что мягко говоря не устраивает...

    Почему нужно мониторить именно услугу? Честно говоря, уже надоела паника и перебежки в попытках понять что случилось, что не работает и т.д. По текущему состоянию мониторинга крайне сложно поставить приоритет проблеме и решить - направлять ли инженеров на устранение срочно или же это может и подождать...

    Согласитесь, если отвалился один из серверов баз данных, а есть дублирующий, бросать на половину сваренную оптику не есть хорошо или отбирать инженера у клиента, которого он консультировал или помогал поднять сервер... А вот если сдохло всё хранилище в ДЦ - то VDS прыщавого подростка с сервером Minecraft спокойно может подождать - коровки на ферме у них за полчаса не передохнут...
     
  2. SimWhite

    SimWhite Постоялец

    Регистр.:
    4 ноя 2012
    Сообщения:
    64
    Симпатии:
    13
    Насколько понял из задачи, неоходимо мониторить сервисы с привязкой зависимостей? Посмотрите в сторону Перейти по ссылке.

    Сам использую в проде, если есть вопросы, отвечу на какие смогу :)
     
    Последнее редактирование: 30 июл 2014
    Горбушка нравится это.
  3. Горбушка

    Горбушка Ищу её...

    Регистр.:
    2 май 2008
    Сообщения:
    3.175
    Симпатии:
    2.195
    Да, верно, нужны зависимости. И мониторинг больше нужен не самих серверов, а этих самых зависимостей.
    Т.е. сдох сервер - это нормально, сдох диск - это тоже нормально. А вот сдох полностью сторадж - это труба-пичаль.

    Увы, к сожалению, поздно предложили... Сделали кастомное решение на базе пары bash-скриптов и веб-обработчика с кроном...
     
  4. rawsik

    rawsik Писатель

    Регистр.:
    3 авг 2014
    Сообщения:
    2
    Симпатии:
    2
    Крайне не согласен с тем, что zabbix не умеет делать такие вещи, наоборот, в нём можно указать огромное количество метрик и событий, которые мы хотим мониторить и условия срабатываний тригерров.

    Нужно мониторить сервис, - пожалуйста, выставляем проверку доступности БД ( ответ на порт, выбор тестовых данных). Если БД не отвечает, то это событие имеет disaster приоритет.
    Отдельно сервера с БД? Составляем ещё одно событие на проверку, и в случае её срабатывание выставляем warning. Чтобы не было лишний событий можно привязаться условиями в trigger'ах на отказ основного сервиса.

    Zabbix более чем подойдёт, правда разобраться в его логике и фишках несколько тяжеловато бывает.
     
    Горбушка нравится это.
  5. Горбушка

    Горбушка Ищу её...

    Регистр.:
    2 май 2008
    Сообщения:
    3.175
    Симпатии:
    2.195
    Прочитайте задачу чуть внимательнее... Задача привязываться не к сервису, а услуге...
    К примеру, есть у нас услу "MySQL" и стоит у неё 4 сервера - 2 кластера мастер-мастер...
    Так вот, на падение 1 мастера мне всё равно. Мониторинг должен краснеть только при падении обоих серверов в рамках кластера.

    Грубо говоря, надо создать кучу папок, и каждой задать правила смены цвета в зависимости от цвета того, что в ней валяется...
     
  6. rawsik

    rawsik Писатель

    Регистр.:
    3 авг 2014
    Сообщения:
    2
    Симпатии:
    2
    под сервисом имел в виду услугу) та, что предоставляется конечному пользователю, а не та что на сервере))

    если обращаемся по разным IP адресам к MySQL, то ставим условие в триггере, чтобы краснеем только при "когда лежат оба MySQL", когда не отвечает на порты по обоим серверам. ( пример -
    {db1.zabbix.com:net.tcp.service[mysql].last(0)}=0&{db2.zabbix.com:net.tcp.service[mysql].last(0)}=0)
    если обращаемся к MySQL через балансировщик вроде HAProxy и т.п., то мониторим "внешний" IP адрес.

    это под описанный кэйс подпадает.

    т.е. создаются события, по которым мониторим и в случае наступления ожидаемого уровня, идёт оповещение по выбранным каналам. Эти события можно вывести на дашборд заббикса.
     
    Горбушка нравится это.
  7. Горбушка

    Горбушка Ищу её...

    Регистр.:
    2 май 2008
    Сообщения:
    3.175
    Симпатии:
    2.195
    Во! Вот это уже круто!
    А можешь дать ссылочку на мануалы, написанные нормальным языком? Для обучения с нуля до написания таких кейсов =)
     
  8. Tedjasudu

    Tedjasudu Создатель

    Регистр.:
    8 июл 2013
    Сообщения:
    12
    Симпатии:
    1
    Горбушка нравится это.
  9. CrashX

    CrashX В прошлом XSiteCMS

    Регистр.:
    6 июн 2008
    Сообщения:
    682
    Симпатии:
    112
    Zabbix и Cacti
    куча плагинов, модулей и скриптом доя мониторинга чего угодно
    снимаю показания со свичей, пк и серевров.

    стоят обе системы, одна в одной конторе другая досталась в другой и была допилена до zabbix плющек )