Система планировщика (Cron)
Система планировщика в INFRAX позволяет автоматизировать выполнение повторяющихся задач по расписанию. Вы можете создавать как пользовательские задания для выполнения скриптов на узлах сети, так и управлять системными заданиями, которые обеспечивают работу платформы.
Обзор системы
Планировщик заданий (Cron) в INFRAX — это мощная система автоматизации, которая позволяет выполнять задачи по расписанию без участия пользователя.
Возможности планировщика
- Пользовательские задания — выполнение произвольных скриптов на выбранных узлах сети по расписанию
- Системные задания — предустановленные задачи для обслуживания платформы (мониторинг, синхронизация, очистка данных)
- Гибкое расписание — настройка интервала выполнения в секундах и времени следующего запуска
- Отслеживание выполнения — информация о предыдущих запусках и длительности выполнения
- Немедленный запуск — возможность запустить задание вручную вне расписания
- Интеграция с инцидентами — автоматическое создание инцидентов при определенных условиях
Системные задания нельзя удалить, но можно отредактировать их расписание и настройки. Эти задания критичны для нормальной работы INFRAX.
Интерфейс планировщика
Страница планировщика заданий содержит таблицу со всеми заданиями и фильтрами для удобного управления.
Доступ к планировщику
Откройте страницу планировщика через роутинг: /cron
Элементы интерфейса
Фильтр типа заданий
В центре заголовка страницы расположен переключатель с тремя режимами:
- Пользовательские — отображает только задания, созданные пользователями
- Системные — показывает предустановленные системные задания
- Все — отображает все задания независимо от типа
Колонки таблицы
| Колонка | Описание |
|---|---|
| Следующий запуск | Дата и время следующего запланированного выполнения задания |
| Предыдущий запуск | Дата и время последнего выполнения задания |
| Длительность последнего выполнения | Время, затраченное на последнее выполнение задания |
| Наименование | Название задания (для пользовательских) или тип системного задания |
Системные задания отображаются с иконкой шестеренки (), а пользовательские — с иконкой часов ().
Типы заданий
Пользовательские задания
Пользовательские задания позволяют выполнять произвольные скрипты на выбранных узлах сети по расписанию. При создании пользовательского задания необходимо:
- Указать название задания
- Выбрать скрипт для выполнения
- Выбрать узлы сети, на которых будет выполняться скрипт
- Настроить интервал выполнения
- Установить время следующего запуска
Системные задания
Системные задания — это предустановленные задачи, которые обеспечивают работу различных функций INFRAX:
| Тип задания | Описание |
|---|---|
| Проверка работоспособности агентов | Периодическая проверка доступности установленных агентов на узлах сети |
| Получение комбинированных данных о ЦПУ, ОЗУ, дисках, сетевых интерфейсах | Сбор метрик системных ресурсов для мониторинга |
| Сбор системной информации | Получение информации об операционной системе, процессоре, ОЗУ и других параметрах узлов |
| Удаление устаревшей статистики | Автоматическая очистка старых данных мониторинга для оптимизации базы данных |
| Проверка доступности узлов сети | Ping-проверка всех активных узлов сети |
| Уведомление о просроченных тикетах | Отправка уведомлений о тикетах с истекшим сроком выполнения |
| Синхронизация пользователей и организаций из IAM | Синхронизация данных пользователей и организаций с внешней системой управления идентификацией |
| Обнаружение установленных приложений | Сканирование и инвентаризация установленного программного обеспечения на узлах |
| Автообнаружение новых узлов сети | Периодическое сканирование сети для обнаружения новых устройств |
| Выдача сертификатов агентам | Автоматическая выдача SSL сертификатов для агентов мониторинга |
| Проверка SSL сертификатов | Мониторинг сроков действия SSL сертификатов |
| Проверка доступности SNMP | Сканирование SNMP портов на узлах сети |
| Сбор метрик по шаблонам | Сбор пользовательских метрик мониторинга на основе настроенных шаблонов |
| Автообнаружение сервисов (Docker, Proxmox, Hyper-V и др.) | Автоматическое обнаружение сервисов виртуализации и контейнеризации на узлах |
Создание пользовательской задачи
Шаг 1: Открытие формы создания
- Перейдите на страницу планировщика (
/cron) - Нажмите кнопку "Добавить задание" в правом верхнем углу
- Откроется модальное окно "Планирование задачи"
Шаг 2: Заполнение основной информации
Вкладка "Настройки"
Основная информация
- Наименование — введите понятное название для задания (например, "Резервное копирование конфигураций")
- Интервал между запусками — укажите интервал в секундах между выполнениями задания
- Время следующего запуска — установите дату и время первого запуска задания
Выполнение скрипта
- Скрипт — нажмите кнопку для выбора скрипта из библиотеки. Если скрипт еще не создан, сначала создайте его на странице скриптов
- Узлы сети — нажмите кнопку для выбора узлов, на которых будет выполняться скрипт. Поддерживаются только узлы с установленными агентами
Для пользовательских заданий обязательно выбрать как минимум один скрипт и один узел сети. Без этого задание не сохранится.
Шаг 3: Настройка создания инцидентов (опционально)
Автоматическое создание инцидентов
Вы можете настроить автоматическое создание инцидентов на основе результатов выполнения скрипта:
Создать инцидент (по содержимому ответа):
- Нет — инциденты не создаются
- Выполняется регулярное выражение — инцидент будет создан, если вывод скрипта соответствует указанному регулярному выражению
- Не выполняется регулярное выражение — инцидент будет создан, если вывод скрипта НЕ соответствует указанному регулярному выражению
Создать инцидент, если не удалось выполнить скрипт или нет ответа:
- Нет — инциденты не создаются при ошибках
- Да — инцидент будет создан при любой ошибке выполнения скрипта
Автоматически закрывать инцидент при исправлении:
- Нет — инциденты остаются открытыми
- Да — ранее созданный инцидент автоматически закроется при успешном выполнении скрипта
Шаг 4: Сохранение задания
- Проверьте все настройки
- Нажмите кнопку "Сохранить"
- Задание появится в таблице планировщика
Управление заданиями
Редактирование задания
- Найдите нужное задание в таблице
- Кликните на строку с заданием
- Откроется модальное окно редактирования
- Внесите необходимые изменения
- Нажмите "Сохранить"
Немедленный запуск задания
Вы можете запустить любое задание немедленно, вне зависимости от расписания:
- Откройте задание для редактирования (кликните на строку)
- Нажмите кнопку "Запустить сейчас" в нижней части окна
- Задание будет поставлено в очередь на немедленное выполнение
Функция немедленного запуска удобна для тестирования новых заданий перед их планированием или для экстренного выполнения задачи.
Удаление пользовательского задания
- Откройте пользовательское задание для редактирования
- Нажмите кнопку "Удалить" в нижней части окна
- Подтвердите удаление
Системные задания нельзя удалить. Кнопка "Удалить" доступна только для пользовательских заданий.
Изменение расписания системных заданий
Хотя системные задания нельзя удалить, вы можете изменить их настройки:
- Интервал между запусками
- Время следующего запуска
- Дополнительные параметры (если доступны)
Изменение расписания системных заданий может повлиять на работу платформы. Увеличение интервалов может привести к задержкам в обновлении данных, а слишком частое выполнение — к повышенной нагрузке на систему.
Системные задания
Рекомендуемые интервалы
Для системных заданий рекомендуются следующие интервалы выполнения:
| Тип задания | Рекомендуемый интервал | Обоснование |
|---|---|---|
| Проверка доступности узлов сети | 60-300 секунд | Частая проверка для быстрого обнаружения проблем |
| Получение данных о системных ресурсах | 300-600 секунд | Баланс между актуальностью данных и нагрузкой |
| Проверка работоспособности агентов | 600-1800 секунд | Достаточно редкая проверка статуса агентов |
| Автообнаружение новых узлов | 3600-7200 секунд | Периодическое сканирование сети |
| Удаление устаревшей статистики | 86400 секунд (1 раз в сутки) | Ежедневная очистка достаточна |
| Синхронизация с IAM | 3600-7200 секунд | Периодическая синхронизация пользователей |
| Проверка SSL сертификатов | 86400 секунд (1 раз в сутки) | Достаточно проверять раз в день |
Мониторинг выполнения
Информация о последнем выполнении
Для каждого задания в таблице доступна информация:
- Время предыдущего запуска — когда задание выполнялось в последний раз
- Длительность последнего выполнения — сколько времени заняло выполнение
- Время следующего запуска — когда задание запустится в следующий раз
Просмотр результатов выполнения
Для просмотра детальных результатов последнего выполнения пользовательского задания:
- Откройте задание для редактирования
- Перейдите на вкладку "Последние результаты"
- Просмотрите вывод скрипта с каждого узла сети
Вкладка "Последние результаты" доступна только для пользовательских заданий и только после первого выполнения задания.
Просмотр истории выполнения в очереди задач
Все выполнения заданий планировщика фиксируются в истории задач. Для просмотра полной истории:
- Перейдите на страницу "История задач"
- Используйте фильтры для поиска задач планировщика
- Просмотрите детальную информацию о каждом выполнении
Рекомендации
✅ Лучшие практики
- Используйте понятные названия — давайте заданиям описательные имена, отражающие их назначение
- Тестируйте перед планированием — используйте функцию "Запустить сейчас" для проверки работы задания
- Выбирайте оптимальные интервалы — не делайте интервалы слишком частыми без необходимости
- Настраивайте автоматическое создание инцидентов — для критичных задач настройте автоматическое оповещение через инциденты
- Мониторьте длительность выполнения — если задание выполняется слишком долго, оптимизируйте скрипт или увеличьте интервал
- Группируйте задания — создавайте универсальные скрипты, которые можно использовать в разных заданиях
⚠️ Чего следует избегать
- Не создавайте слишком частые задания — интервалы менее 60 секунд могут создать чрезмерную нагрузку
- Не выполняйте одновременно много заданий — распределите время запуска для снижения пиковой нагрузки
- Не изменяйте критичные системные задания — без понимания последствий не меняйте настройки системных заданий
- Не используйте планировщик для разовых задач — для единичного выполнения используйте страницу скриптов
Если нужно временно приостановить выполнение задания, установите время следующего запуска на дату в далеком будущем. Это эффективно "отключит" задание без его удаления.