Гид по технологиям

Мониторинг сайта через Azure Logic Apps и отправка оповещений по Gmail

8 min read DevOps Обновлено 06 Nov 2025
Monitor сайта через Azure Logic Apps и Gmail
Monitor сайта через Azure Logic Apps и Gmail

лого Azure

О чём статья

  • Быстрая настройка Logic App для периодического HTTP-пинга сайта.
  • Условная обработка кодов состояния HTTP и отправка уведомлений через Gmail.
  • Как тестировать, сохранять и эксплуатировать рабочий процесс.

Основные варианты поиска в статье

  • Azure Logic Apps мониторинг сайта
  • Logic Apps Gmail оповещение
  • HTTP probe Azure Logic App
  • Шаблон мониторинга веб-сайта

Введение

Azure Logic Apps — это сервис автоматизации рабочих процессов в облаке, который позволяет соединять триггеры и действия (подобно IFTTT или Zapier) для достижения заданного результата. В работе ниже мы настроим простую систему мониторинга: каждые 15 минут Logic App выполнит HTTP GET к корню сайта. Если веб-сервер вернёт ошибочный HTTP-статус (4xx или 5xx), Logic App отправит письмо на Gmail с телом ответа в виде HTML-вложения.

Важно: Logic Apps платные — плата снимается за выполнение. В исходном примере упомянута цена и месячная оценка затрат; проверяйте тарифы в своей подписке.

Кому подходит этот подход

  • DevOps-инженерам и владельцам небольших сайтов, которым нужно простое аварийное оповещение.
  • Командам, которые хотят быструю интеграцию с существующим Gmail-аккаунтом без настройки собственного SMTP.

Не подходит когда

  • Вам нужны детализированные метрики уровня производительности (лучше APM-инструменты).
  • Требуется сложная корреляция инцидентов и продвинутый инцидент-менеджмент (лучше использовать SIEM/ITSM-интеграции).

Требования к начальной подготовке

  • Учётная запись Azure с правами на создание ресурсов (подписка, группа ресурсов).
  • Личный Google (Gmail) аккаунт для отправки уведомлений.
  • URL вашего сайта, который будет проверяться (корень домена или конкретная страница).

Совет: для тестов можно использовать staging-поддомен или публичную тестовую страницу.

Создание Azure Logic App

  1. Войдите в Azure Portal.
  2. Нажмите “New” в левой панели.
  3. Выберите категорию “Web + Mobile”, затем “Logic App”.
  4. Введите имя Logic App. Имя станет частью поддомена и может содержать только буквы, цифры и дефисы.
  5. Укажите Subscription, Resource Group и Location.
  6. Нажмите “Create”.

После создания откройте Logic App Designer.

Экран конструктора Logic App

  1. В Designer найдите шаблон “Blank Logic App” и выберите его.
  2. При запросе выбора триггера нажмите “See More Options” для показа всех сервисов.
  3. В списке сервисов найдите “HTTP” и выберите его.

Кнопка HTTP в конструкторе

  1. Выберите триггер “When an HTTP request is received” или “HTTP trigger” (вариант в верхней части списка).

Конфигурация HTTP-проба

  • Method: GET
  • URL: введите конечную точку, например https://www.vash-domen.ru или конкретную страницу.
  • Frequency: Minutes
  • Interval: 15

Эта настройка создаст регулярный HTTP GET, выполняемый каждые 15 минут.

Добавление условия на код состояния

  1. Нажмите “New Step” и выберите “Add a Condition”.
  2. В первое поле вставьте параметр “Status Code” из “Insert Parameters From Previous Steps”.
  3. Во втором поле выберите условие “GreaterThan Or Equal To”.
  4. В третьем поле введите “400”.

Установка порога Status Code равного 400

Логика: любое значение 400 и выше (4xx, 5xx) будет считаться ошибочным. Если условие истинно — последует ветка “If Yes”.

Добавление действия отправки письма через Gmail

В ветке “If Yes” добавьте действие через кнопку “Add An Action”. Найдите в списке “Gmail - Send Email” и выберите его. При первом использовании придётся подключить Gmail — выполните вход и предоставьте необходимые разрешения.

Подключение Gmail и конфигурация отправки письма

Заполните поля действия:

  • To: адрес получателя (например, команда@пример.ком).
  • Attachments Content: вставьте параметр “Body” из предыдущих шагов (это тело HTTP-ответа).
  • Attachments Content: введите текст “enter text/html” (указывает на HTML-вложение).
  • Attachments Name: “response.html”.
  • Body: добавьте текст сообщения, включая параметр Status Code.
  • Subject: укажите тему, включающую код состояния.

Совет: в Subject добавьте идентификатор сайта и код статуса, чтобы быстрее распознавать письма в почтовом ящике.

Сохранение и тестирование рабочего процесса

  1. Нажмите “Save” в верхней части Designer.
  2. После сохранения перейдите в Overview, где видно журнал выполнений.
  3. Подождите выполнение или запустите вручную через “Run” (если открыта такая функция).

Проверка: если веб-сайт отвечает кодом 4xx/5xx, вы получите письмо с вложением response.html, содержащим тело ответа сервера.

Тестирование триггеров и отладки

  • Чтобы протестировать с положительным результатом, временно измените условие: замените “Is Greater Than Or Equal To” на “Is Less Than” и установите порог, например, 200 — затем нажмите Run. Ветки выполнений покажут, какие действия сработали.
  • После теста обязательно верните условие обратно на “>= 400”.

Важно: при тестировании будьте осторожны с частыми запусками — это увеличит количество выполнений и потенциально приведёт к дополнительным затратам.

Критерии приёмки

  • Logic App создана и сохранена.
  • Период опроса установлен на 15 минут.
  • Условие на статус код верно настроено (>= 400).
  • Подключение к Gmail авторизовано и письмо уходит при вызове “If Yes”.
  • Письмо содержит вложение response.html с телом ответа сервера.

Рекомендации по безопасности и приватности

  • Аккаунт Gmail лучше использовать сервисный или отдельный рабочий почтовый ящик, не личный аккаунт администратора.
  • Ограничьте доступ к Logic App в Azure RBAC (только нужные роли для модификации).
  • Не храните секреты в открытом виде; используйте Azure Key Vault для секретов и подключений, где это возможно.

Стоимость и оценка затрат

Logic Apps тарифицируется по вызовам. В исходном примере упомянута ставка и примерная месячная стоимость при интервале 15 минут. Чтобы получить точную оценку, проверьте актуальные цены Azure и посчитайте ожидаемое количество выполнений: 4 запуска в час × 24 × 30 ≈ 2880 запусков в месяц.


Дополнительные подходы и расширения

  1. Интеграция с Microsoft Teams или Slack вместо Gmail — удобно для командных оповещений.
  2. Сохранение метрик в Azure Monitor или Log Analytics для построения дашбордов и оповещений на основе SLI/SLO.
  3. Добавление повторных попыток (retry) или таймаутов в HTTP-запросе.
  4. Парсинг тела ответа и выделение полезной информации (например, поле ошибки из JSON).
  5. Подключение собственного SMTP для корпоративной почты вместо Gmail.

Роли и чеклист перед продом

Разделённый чеклист для тех, кто отвечает за развёртывание:

  • DevOps
    • Проверить RBAC и права на ресурс.
    • Подключить Logic App к инфраструктурным инструментам (CI/CD).
  • SRE
    • Добавить Logic App в мониторинг и оповещения.
    • Настроить alert-руководства для операторов.
  • Разработчик
    • Убедиться, что endpoint возвращает диагностируемое тело ответа.
    • При необходимости добавить health endpoint с простым 200.

Мини-методология развёртывания

  1. Создать ресурс в отделенной Resource Group для тестов.
  2. Настроить Logic App и пройти тестовые прогонные сценарии.
  3. Перенести конфигурацию в прод с использованием ARM/Bicep/JSON шаблона.
  4. Интегрировать секреты через Key Vault.
  5. Документировать процедуру отката и контакты на случай ложных срабатываний.

Тест-кейсы и критерии приёмки

  1. Тест: сайт отвечает 200. Ожидаемый результат: оповещение не отправляется.
  2. Тест: сайт отвечает 500. Ожидаемый результат: приходит письмо на указанный адрес с вложением response.html.
  3. Тест: авторизация Gmail отозвана. Ожидаемый результат: Logic App регистрирует ошибку подключения в журнале.
  4. Тест: временное изменение условия на “Is Less Than”. Ожидаемый результат: ветка “If Yes” выполняется при 2xx ответе и не выполняется при 4xx.

Возможные ошибки и как их решать

  • Ошибка авторизации Gmail: переподключите аккаунт и обновите разрешения.
  • Неправильный URL: проверьте, что URL доступен извне и корректно указан (https://…).
  • Частые ложные срабатывания: проверьте, возвращает ли сервер промежуточные 3xx редиректы или нестабильные ответы; рассмотрите фильтрацию по телу ответа.

Матрица рисков и меры смягчения

  • Ложные срабатывания — добавить фильтрацию по телу ответа, увеличить порог или использовать агрегированное оповещение.
  • Утечка чувствительных данных в почте — не отправлять в письмах чувствительную информацию; хранить её в защищённом месте и присылать только ссылку.
  • Рост затрат при частых запусках — пересмотреть период опроса или добавить логику экспоненциального уменьшения частоты при стабильности.

Краткая сводка и что дальше

Logic Apps упрощают автоматизацию и могут стать первым шагом к системам мониторинга и оповещений без развёртывания собственного кода. После настройки базовой логики рассмотрите хранение логов в Log Analytics, интеграцию с ITSM (ServiceNow, PagerDuty) и применение инфраструктурного кода для воспроизводимости.


Краткое руководство по удалению ресурса

  1. В Azure Portal откройте Resource Group, где создан Logic App.
  2. Удалите Logic App или всю Resource Group, чтобы очистить все связанные ресурсы.
  3. Проверьте, не остались ли подключённые сервисы (например, подключённый Gmail). Отзовите разрешения в Google Account если нужно.

Краткий глоссарий

  • Logic App: облачный сервис Azure для конструирования рабочих процессов.
  • Trigger: событие, запускающее рабочий процесс.
  • Action: действие, выполняемое после триггера.
  • HTTP probe: проверочный HTTP-запрос к конечной точке.

Итог

Logic App — быстрый и гибкий способ настроить мониторинг доступности сайта с уведомлениями через Gmail. Решение хорошо подходит для простого мониторинга и быстрых оповещений, а при необходимости легко расширяется интеграциями и хранением логов.

Важное

  • Не забудьте проверить актуальные тарифы Azure перед массовым развертыванием.
  • Используйте сервисные аккаунты и Key Vault для секретов.

Спасибо за внимание — если нужно, могу подготовить JSON-шаблон Logic App для автоматического развертывания или пример Bicep/ARM для CI/CD.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Троян Herodotus: как он работает и как защититься
Кибербезопасность

Троян Herodotus: как он работает и как защититься

Включить новое меню «Пуск» в Windows 11
Windows руководство

Включить новое меню «Пуск» в Windows 11

Панель полей сводной таблицы в Excel — руководство
Excel

Панель полей сводной таблицы в Excel — руководство

Включить новое меню «Пуск» в Windows 11
Windows 11

Включить новое меню «Пуск» в Windows 11

Дубликаты Диспетчера задач в Windows 11 — как исправить
Windows

Дубликаты Диспетчера задач в Windows 11 — как исправить

История просмотров Reels в Instagram — как найти
Instagram

История просмотров Reels в Instagram — как найти