company_banner

Запуск услуги «Мониторинг»

    Мониторинг

    На работоспособность современного веб-сервиса влияют самые разнообразные факторы. В условиях постоянного роста количества данных и увеличения числа пользователей инфраструктура сервиса усложняется, и остро встает проблема отслеживания ее состояния. Имеющиеся средства мониторинга (например, Nagios или Icinga) во многих случаях оказываются недостаточными.

    Одновременно с ростом инфраструктуры требуется обеспечивать масштабируемость системы мониторинга: количество проверок все время растет, отчеты становятся все более объемными… Отслеживание стабильности работы веб-сервиса в таких условиях отнимает все больше времени и средств.

    Прекрасно понимая всю сложность описываемой ситуации, мы разработали услугу мониторинга сервисов для своих клиентов. Подробное её описание представлено ниже.

    Что такое мониторинг?


    Мониторинг — это услуга, позволяющая проверять различные сервисы на доступность из нескольких точек в Интернете и отправляющая уведомления в случае выполнения или невыполнения заданного условия. Мы постарались сделать услугу мониторинга максимально гибкой, чтобы ей могли воспользоваться и те, кто не имеет навыка администрирования веб-сервисов.

    Доступные типы проверок


    В настоящее время доступны следующие типы проверок:
    • PING – проверка наличия связи с сервером, помогает измерить задержку и доступность от точки проверки до сервера;
    • TCP – проверка состояния TCP-порта;
    • UDP — проверка состояния UDP-порта;
    • SSH — проверка подключения без авторизации, а также проверка баннера SSH;
    • SMTP, POP3, IMAP — проверка работоспособности почтового сервиса по выбранному протоколу;
    • DNS — проверка правильности преобразования доменного имени в IP-адрес на указанном резолвере;
    • HTTP GET — проверка содержимого и кода ответа, а также поиск подстроки в возвращенных данных;
    • HTTP HEAD — облегченный запрос GET, позволяющий проверять наличие документа на сервере по коду ответа без необходимости загружать всё тело документа;
    • HTTP базовая авторизация — проверка механизма базовой авторизации;
    • HTTP digest — проверка механизма дайджест-авторизации;
    • FTP — проверка достуности FTP-сервера;
    • PostgreSQL — проверка доступности сервера баз данных PostgreSQL;
    • MySQL – проверка доступности сервера баз данных MySQL;
    • SSL — проверка срока действия SSL-сертификатов для доменных имен.


    Точки присутствия


    На данный момент точки проверки расположены в следующих городах: Москва, Санкт-Петербург, Екатеринбург, Киев, Амстердам, Франкфурт, Лондон, Нью-Йорк, Пало-Альто. Если на вашем сервере установлен фаервол, то при создании проверки вы можете получить IP-адреса точек присутствия, чтобы включить их в правила фаервола.

    Создание проверки


    В настоящее время сервис мониторинга работает в тестовом режиме. Каждый пользователь может создать только три проверки. Войдите в панель управления под своей учетной записью. В основном меню выберите пункт «Мониторинг». Откроется следующая страница:

    Мониторинг

    Нажмите на кнопку «Создать». В выпадающем меню выберите тип проверки:

    Выбор типа проверки

    Затем введите параметры проверки:

    Параметры проверки

    Все параметры проверок подразделяются на обязательные (общие для всех типов проверок) и индивидуальные (характерные для проверок определенного типа; они отображаются в разделе «Остальные параметры».

    К обязательным параметрам относятся:
    • период проверки — периодичность, с которой будет осуществляться проверка;
    • таймаут проверки — промежуток времени, по истечении которого проверка будет считаться неуспешной;
    • последовательность выполнения проверок — порядок, в соответствии с которым будет осуществляться проверка из выбранных точек присутствия (последовательно, параллельно или же в случайном порядке);
    • хост/IP — доменное имя или IP-адрес проверяемого сервера;
    • протокол — приоритет протокола, по которому будет осуществляться проверка (IPv4 или IPv6).


    Для каждого типа проверки могут также быть установлены индивидуальные параметры:
    • Для проверок SSH:
      • порт для подключения;
      • баннер;

    • Для проверок TCP:
      • отсылаемая строка;
      • строка ответа;

    • Для проверок UDP:
      • порт для подключения;
      • отсылаемая строка;
      • строка ответа;

    • Для проверок SMTP:
      • пользователь;
      • пароль;
      • безопасный режим (включен/выключен);
      • баннер;
      • домен;

    • Для проверок POP3 и IMAP:
      • пользователь;
      • пароль;
      • безопасный режим (включен/выключен);
      • start_tls;
      • баннер;
      • домен;

    • Для проверок HTTP GET:
      • порт для подключения;
      • user agent;
      • реферер;

    • Для проверок HTTP HEAD:
      • порт для подключения;
      • подстрока;
      • user agent;
      • реферер;
      • Для проверок HTTP Базовая авторизация и HTTP Digest авторизация;
      • порт для подключения;
      • пользователь;
      • пароль;

    • Для проверок FTP:
      • порт для подключения;
      • режим (активный или пассивный);
      • анонимный (включить/отключить);
      • пользователь;
      • пароль;

    • Для проверок PostreSQL и MySQL:
      • порт для подключения;
      • пользователь;
      • пароль;

    • Для проверок SSL:
      • порт для подключения;
      • период для проверки.



    Заполнив основные и индивидуальные поля, укажите точки присутствия, из которых будет осуществляться проверка.
    После этого нажмите на кнопку «Создать». Далее нужно указать условия, при которых вам будет отправляться удоведомление о результатах проверки. По завершении создания проверки на экране появится следующее окно:

    Проверка создана

    Затем нажмите на кнопку «Создать условия для созданной проверки». Откроется форма добавления условия:

    Форма добавления условия

    В качестве условий могут быть заданы:
    • успешное или неуспешное завершение процедуры проверки;
    • ошибка подключения;
    • время ответа (оно может быть равно или не равно, больше или равно, меньше или равно указанного пользователем).


    Для каждого типа проверки могут также быть установлены индивидуальные условия. Уведомления о результатах проверки, отправляемые при заданных условиях, содержат дополнительную информацию, с помощью которой можно выявить проблемные участки во время проведения проверок.

    Просмотр информации о проверках


    Список добавленных проверок отображается на вкладке «Проверки»:

    Список добавленных проверок

    Справа от имени каждой проверки расположены кнопки управления:
    icon-1 — добавление проверки в избранное;
    icon-2 — тестирование проверки;
    icon-3 — просмотр и редактирование параметров проверки;
    icon-4 — удаление проверки.

    Если нажать на любую проверку в списке, откроется карточка с детальной информацией:

    Детальная информация

    Она включает следующие вкладки:
    • «Информация» (название, хост, тип, дата создания, SLA, сведения о последних проверках);
    • «Графики» (графики доступности и время задержки; на основе сопоставления графиков можно определить, в чем заключается причина задержек: в неисправности сети или в работе сервиса);
    • «История» (список последних проверок с указанием времени, точки доступа, времени ответа и результата);
    • «Статистику» (сведения об отправленных уведомлениях);
    • «Настройка» (форма для просмотра и редактирования параметров проверки);
    • «Условия» (сведения об условиях, установленных для выбранной проверки).

    Проверки, добавленные в избранное, показываются также в списке на вкладке «Информация»:

    Вкладка «Информация»

    На вкладке «Информация» также отображаются сведения о пяти последних выполненных условиях, пяти последних выполненных проверках и о пяти последних совершенных вами действиях.

    Детальная информация о результатах всех проверок можно ознакомиться на вкладке «История».
    Полная история всех ваших действий показана на вкладке «Действия».

    Рассылка уведомлений


    Уведомления рассылаются:
    • по e-mail;
    • мгновенными сообщениями по протоколу xmpp;
    • приватными сообщениями в твиттере (DM) — в этом случае клиенту нужно будет подписаться на наш аккаунт, с которого осуществляется рассылка.

    После запуска услуги в коммерческую эксплуатацию планируется рассылка уведомлений SMS-сообщениями.

    Планы на будущее

    Как уже было сказано выше, сервис мониторинга сейчас функционирует в тестовом режиме. В ближайшем будущем мы планируем расширение существующей функциональности. Так, сейчас проходит тестирование функция «публичная статистика» — доступная всем страница с данными по доступности выбранных проверок. Наши клиенты смогут прикрепить ее к отдельному домену, чтобы предоставлять статистику доступности своим пользователям.

    В ближайшее время появится возможность периодической рассылки сводной статистики по электронной почте. Появятся и новые типы проверок.

    Приглашаем всех наших читателей протестировать услугу мониторинга. Мы будем очень признательны за любые замечания, пожелания и предложения.

    Для тех кто не может комментировать посты на Хабре, приглашаем к нам в блог.
    Selectel
    176,20
    ИТ-инфраструктура для бизнеса
    Поделиться публикацией

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

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

      0
      Есть ли в планах создание аналога Route53 (смена адреса в DNS при недоступности ресурса)?
        +2
        Да, есть. Кое-какие наработки уже имеются. Будет не только фэйловер, но и достаточно «вкусная» балансировка.
        0
        Отличная новость. Молодцы что не стоите на месте. Также один из любимых сервисов для мониторинга за состоянием сайтов является pingdom.com
          +1
          Селектел крутые! Современные, динамичные :)))
          Еще бы добавили возможность создавать обачные серверы в Европе и снизили цены на облака — цены бы вам не было.
            +2
            Спасибо! Мне кажется, что одной из основных сложностей при использовании систем мониторинга является проблема конфигурации. Пока хостов несколько — всё хорошо, но чем больше становится, тем сложнее уследить за конфигом проверок. Есть ли какие-то идеи как можно улучшить этот момент?

            Еще не могли бы вы рассказать про архитектуру бэкенда? Какие технологии используете, c какими сложностями столкнулись?
              0
              А как на счёт Custom Metrics? Если я захочу на общей панели видеть и свои метрики?
                0
                Данный вопрос находится в рассмотрении. Возможно будет реализовано в будущем.
                0
                А можно сделать такую проверку, чтобы облачные сервера Селектел не удалялись без предупеждения и возможности восстановления со всеми данными и работающими проектами на них? *Сарказм
                  0
                  Ага. Ставите «присылать предупреждение, когда баланс меньше Х», и вас начинает теребить робот «дай денег». Даёте денег — сервера не удаляются. Не даёте — через некоторое время удаляются. Если что, порог уведомлений выставляется тут: support.selectel.ru/cloud/#balance
                    0
                    Ага. По умолчанию стоит отсутствие уведомлений. А после того как 3 сервера было удалено безвозвратно уже вроде как и не надо.
                      0
                      Вы знаете, это описание выглядит так, как будто мы злодеи. А полное описание выглядит так:

                      «После того, как я перестал платить за 3 сервера, их неделю держали бесплатно, а потом удалили, потому что я денег не заплатил». В этой форме получается чуть менее кровожадно, правда?
                        0
                        К сожалению, на самом деле дело выглядит так:
                        На счет были отправлены деньги(примерно в размере оплаты 2х месяцев). Но после оплаты в кабинете они не появлялись сразу, и поэтому не были перенесены на баланс облака.
                        А через неделю я получил уведомление, что сервера удалены без возможности восстановления или каких-либо предупреждений.
                        При этом на балансе личного кабинета спокойно лежали 2 тысячи рублей, которые просто не были вовремя перенесены на баланс облака.
                        Да я виноват в том, что не перенес деньги с основного баланса на баланс облака, но удалять работающие сервера со всеми данными без предупреждения — так не поступают серьезные компании, которые хоть немного думают о клиентах.
                          0
                          Ну вы рассказываете какие-то совершенно невозможные вещи. Не могли мы удалить работающие серверы, это я вам точно говорю. Они минимум 7 дней (на самом деле около 8, мы делаем небольшой запас для исключения споров «7 дней или 7 х 24 часа») были нерабочими, то есть выключенными за неуплату.

                          Вы говорите, что это были очень важные сервера, которые могут 7 дней валяться в выключенном состоянии?
                            0
                            Когда серверов разных много, то не за каждым наблюдаешь постоянно, тем более лето-отпуска. Жалоб не от кого не поступало, поэтому и не проверяли. а потом бац:

                            Алексей Кольцов, Системный инженер
                            Здравствуйте.
                            К сожалению, уничтоженные облачные серверы и их диски восстановить невозможно, они удаляются необратимым образом. Письма с уведомлениями о балансе присылаются только в том случае, если на странице support.selectel.ru/cloud/#balance указан положительный (не равный нулю) порог для уведомлений.

                            Вот и я думал невозможные до этого момента.
                              0
                              Все сервера отключаются за неуплату одновременно. То есть такого, что часть работает, а часть отключена за неуплату, быть не может.
                  0
                  Хорошее начало.
                  Нам интересно проверять доступность по HTTP списка URL. Такое не планируется?
                    0
                    К сожалению, нет. Для каждого url необходимо создавать свою проверку. В будущем, вероятно, будет реализована возможность массового добавления проверок со сходными параметрами.
                    0
                    Добавьте поддержку pushover.net/ для уведомлений
                      0
                      Возможно будет реализовано позже, вариант рассматривается.

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

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