Система планировщика (Cron)

ℹ️ О планировщике заданий

Система планировщика в INFRAX позволяет автоматизировать выполнение повторяющихся задач по расписанию. Вы можете создавать как пользовательские задания для выполнения скриптов на узлах сети, так и управлять системными заданиями, которые обеспечивают работу платформы.

Обзор системы

Планировщик заданий (Cron) в INFRAX — это мощная система автоматизации, которая позволяет выполнять задачи по расписанию без участия пользователя.

Возможности планировщика

  • Пользовательские задания — выполнение произвольных скриптов на выбранных узлах сети по расписанию
  • Системные задания — предустановленные задачи для обслуживания платформы (мониторинг, синхронизация, очистка данных)
  • Гибкое расписание — настройка интервала выполнения в секундах и времени следующего запуска
  • Отслеживание выполнения — информация о предыдущих запусках и длительности выполнения
  • Немедленный запуск — возможность запустить задание вручную вне расписания
  • Интеграция с инцидентами — автоматическое создание инцидентов при определенных условиях
⚠️ Важно

Системные задания нельзя удалить, но можно отредактировать их расписание и настройки. Эти задания критичны для нормальной работы INFRAX.

Интерфейс планировщика

Страница планировщика заданий содержит таблицу со всеми заданиями и фильтрами для удобного управления.

Доступ к планировщику

Откройте страницу планировщика через роутинг: /cron

Элементы интерфейса

Фильтр типа заданий

В центре заголовка страницы расположен переключатель с тремя режимами:

  • Пользовательские — отображает только задания, созданные пользователями
  • Системные — показывает предустановленные системные задания
  • Все — отображает все задания независимо от типа

Колонки таблицы

Колонка Описание
Следующий запуск Дата и время следующего запланированного выполнения задания
Предыдущий запуск Дата и время последнего выполнения задания
Длительность последнего выполнения Время, затраченное на последнее выполнение задания
Наименование Название задания (для пользовательских) или тип системного задания
💡 Совет

Системные задания отображаются с иконкой шестеренки (), а пользовательские — с иконкой часов ().

Типы заданий

Пользовательские задания

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

  • Указать название задания
  • Выбрать скрипт для выполнения
  • Выбрать узлы сети, на которых будет выполняться скрипт
  • Настроить интервал выполнения
  • Установить время следующего запуска

Системные задания

Системные задания — это предустановленные задачи, которые обеспечивают работу различных функций INFRAX:

Тип задания Описание
Проверка работоспособности агентов Периодическая проверка доступности установленных агентов на узлах сети
Получение комбинированных данных о ЦПУ, ОЗУ, дисках, сетевых интерфейсах Сбор метрик системных ресурсов для мониторинга
Сбор системной информации Получение информации об операционной системе, процессоре, ОЗУ и других параметрах узлов
Удаление устаревшей статистики Автоматическая очистка старых данных мониторинга для оптимизации базы данных
Проверка доступности узлов сети Ping-проверка всех активных узлов сети
Уведомление о просроченных тикетах Отправка уведомлений о тикетах с истекшим сроком выполнения
Синхронизация пользователей и организаций из IAM Синхронизация данных пользователей и организаций с внешней системой управления идентификацией
Обнаружение установленных приложений Сканирование и инвентаризация установленного программного обеспечения на узлах
Автообнаружение новых узлов сети Периодическое сканирование сети для обнаружения новых устройств
Выдача сертификатов агентам Автоматическая выдача SSL сертификатов для агентов мониторинга
Проверка SSL сертификатов Мониторинг сроков действия SSL сертификатов
Проверка доступности SNMP Сканирование SNMP портов на узлах сети
Сбор метрик по шаблонам Сбор пользовательских метрик мониторинга на основе настроенных шаблонов
Автообнаружение сервисов (Docker, Proxmox, Hyper-V и др.) Автоматическое обнаружение сервисов виртуализации и контейнеризации на узлах

Создание пользовательской задачи

Шаг 1: Открытие формы создания

  1. Перейдите на страницу планировщика (/cron)
  2. Нажмите кнопку "Добавить задание" в правом верхнем углу
  3. Откроется модальное окно "Планирование задачи"

Шаг 2: Заполнение основной информации

Вкладка "Настройки"

Основная информация
  • Наименование — введите понятное название для задания (например, "Резервное копирование конфигураций")
  • Интервал между запусками — укажите интервал в секундах между выполнениями задания
  • Время следующего запуска — установите дату и время первого запуска задания
Выполнение скрипта
  • Скрипт — нажмите кнопку для выбора скрипта из библиотеки. Если скрипт еще не создан, сначала создайте его на странице скриптов
  • Узлы сети — нажмите кнопку для выбора узлов, на которых будет выполняться скрипт. Поддерживаются только узлы с установленными агентами
⚠️ Внимание

Для пользовательских заданий обязательно выбрать как минимум один скрипт и один узел сети. Без этого задание не сохранится.

Шаг 3: Настройка создания инцидентов (опционально)

Автоматическое создание инцидентов

Вы можете настроить автоматическое создание инцидентов на основе результатов выполнения скрипта:

Создать инцидент (по содержимому ответа):
  • Нет — инциденты не создаются
  • Выполняется регулярное выражение — инцидент будет создан, если вывод скрипта соответствует указанному регулярному выражению
  • Не выполняется регулярное выражение — инцидент будет создан, если вывод скрипта НЕ соответствует указанному регулярному выражению
Создать инцидент, если не удалось выполнить скрипт или нет ответа:
  • Нет — инциденты не создаются при ошибках
  • Да — инцидент будет создан при любой ошибке выполнения скрипта
Автоматически закрывать инцидент при исправлении:
  • Нет — инциденты остаются открытыми
  • Да — ранее созданный инцидент автоматически закроется при успешном выполнении скрипта

Шаг 4: Сохранение задания

  1. Проверьте все настройки
  2. Нажмите кнопку "Сохранить"
  3. Задание появится в таблице планировщика

Управление заданиями

Редактирование задания

  1. Найдите нужное задание в таблице
  2. Кликните на строку с заданием
  3. Откроется модальное окно редактирования
  4. Внесите необходимые изменения
  5. Нажмите "Сохранить"

Немедленный запуск задания

Вы можете запустить любое задание немедленно, вне зависимости от расписания:

  1. Откройте задание для редактирования (кликните на строку)
  2. Нажмите кнопку "Запустить сейчас" в нижней части окна
  3. Задание будет поставлено в очередь на немедленное выполнение
💡 Совет

Функция немедленного запуска удобна для тестирования новых заданий перед их планированием или для экстренного выполнения задачи.

Удаление пользовательского задания

  1. Откройте пользовательское задание для редактирования
  2. Нажмите кнопку "Удалить" в нижней части окна
  3. Подтвердите удаление
⚠️ Важно

Системные задания нельзя удалить. Кнопка "Удалить" доступна только для пользовательских заданий.

Изменение расписания системных заданий

Хотя системные задания нельзя удалить, вы можете изменить их настройки:

  • Интервал между запусками
  • Время следующего запуска
  • Дополнительные параметры (если доступны)
⚠️ Осторожно

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

Системные задания

Рекомендуемые интервалы

Для системных заданий рекомендуются следующие интервалы выполнения:

Тип задания Рекомендуемый интервал Обоснование
Проверка доступности узлов сети 60-300 секунд Частая проверка для быстрого обнаружения проблем
Получение данных о системных ресурсах 300-600 секунд Баланс между актуальностью данных и нагрузкой
Проверка работоспособности агентов 600-1800 секунд Достаточно редкая проверка статуса агентов
Автообнаружение новых узлов 3600-7200 секунд Периодическое сканирование сети
Удаление устаревшей статистики 86400 секунд (1 раз в сутки) Ежедневная очистка достаточна
Синхронизация с IAM 3600-7200 секунд Периодическая синхронизация пользователей
Проверка SSL сертификатов 86400 секунд (1 раз в сутки) Достаточно проверять раз в день

Мониторинг выполнения

Информация о последнем выполнении

Для каждого задания в таблице доступна информация:

  • Время предыдущего запуска — когда задание выполнялось в последний раз
  • Длительность последнего выполнения — сколько времени заняло выполнение
  • Время следующего запуска — когда задание запустится в следующий раз

Просмотр результатов выполнения

Для просмотра детальных результатов последнего выполнения пользовательского задания:

  1. Откройте задание для редактирования
  2. Перейдите на вкладку "Последние результаты"
  3. Просмотрите вывод скрипта с каждого узла сети
ℹ️ Информация

Вкладка "Последние результаты" доступна только для пользовательских заданий и только после первого выполнения задания.

Просмотр истории выполнения в очереди задач

Все выполнения заданий планировщика фиксируются в истории задач. Для просмотра полной истории:

  1. Перейдите на страницу "История задач"
  2. Используйте фильтры для поиска задач планировщика
  3. Просмотрите детальную информацию о каждом выполнении

Рекомендации

✅ Лучшие практики

  • Используйте понятные названия — давайте заданиям описательные имена, отражающие их назначение
  • Тестируйте перед планированием — используйте функцию "Запустить сейчас" для проверки работы задания
  • Выбирайте оптимальные интервалы — не делайте интервалы слишком частыми без необходимости
  • Настраивайте автоматическое создание инцидентов — для критичных задач настройте автоматическое оповещение через инциденты
  • Мониторьте длительность выполнения — если задание выполняется слишком долго, оптимизируйте скрипт или увеличьте интервал
  • Группируйте задания — создавайте универсальные скрипты, которые можно использовать в разных заданиях

⚠️ Чего следует избегать

  • Не создавайте слишком частые задания — интервалы менее 60 секунд могут создать чрезмерную нагрузку
  • Не выполняйте одновременно много заданий — распределите время запуска для снижения пиковой нагрузки
  • Не изменяйте критичные системные задания — без понимания последствий не меняйте настройки системных заданий
  • Не используйте планировщик для разовых задач — для единичного выполнения используйте страницу скриптов
💡 Совет

Если нужно временно приостановить выполнение задания, установите время следующего запуска на дату в далеком будущем. Это эффективно "отключит" задание без его удаления.