Initial commit: ses-monitor watchdog for SES
Универсальный watchdog-мониторинг Service Engine Server (SES): - Liveness-проверки (API, лицензия, роботы) - Диалоговые сценарии из YAML с агрегацией в 6 фиксированных Zabbix-метрик - Доставка: zabbix_sender (active push) или UserParameter (пассивный опрос) - Поддержка Python 3.7+, Zabbix 5.0
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
# =============================================================================
|
||||
# Пример сценария: диалог с несколькими шагами
|
||||
# =============================================================================
|
||||
# Имитирует полноценный диалог пользователя с роботом SES.
|
||||
# Каждый шаг проверяет конкретные поля ответа.
|
||||
#
|
||||
# ИНСТРУКЦИЯ: скопируйте, переименуйте и опишите ваш диалог.
|
||||
# cp example_dialog.yaml my_project_dialog.yaml
|
||||
# # замените шаги и ожидания под логику вашего сценария
|
||||
|
||||
name: "example: диалог"
|
||||
description: >
|
||||
Пример многошагового диалога с проверкой промежуточных ответов.
|
||||
Адаптируйте под логику вашего робота.
|
||||
|
||||
enabled: false # Пример выключен по умолчанию
|
||||
interval: 600
|
||||
timeout: 45
|
||||
restart_closed: false # Не переоткрывать закрытые сессии
|
||||
|
||||
steps:
|
||||
# Шаг 1: инициируем диалог
|
||||
- send: "Привет"
|
||||
expect:
|
||||
- path: "error"
|
||||
equals: 0
|
||||
- path: "answer[0].messages[0]"
|
||||
not_empty: true
|
||||
|
||||
# Шаг 2: продолжаем диалог
|
||||
- send: "Как дела?"
|
||||
expect:
|
||||
- path: "error"
|
||||
equals: 0
|
||||
- path: "answer[0].messages[0]"
|
||||
not_empty: true
|
||||
|
||||
# Шаг 3: завершаем
|
||||
- send: "Спасибо"
|
||||
expect:
|
||||
- path: "error"
|
||||
equals: 0
|
||||
@@ -0,0 +1,27 @@
|
||||
# =============================================================================
|
||||
# Пример сценария: базовая проверка liveness робота
|
||||
# =============================================================================
|
||||
# Проверяет что робот отвечает на приветствие и не возвращает ошибок API.
|
||||
# Подходит для любого сценария SES — достаточно заменить robot_id в config.yaml.
|
||||
#
|
||||
# ИНСТРУКЦИЯ: скопируйте этот файл, переименуйте и адаптируйте под ваш проект.
|
||||
# cp example_liveness.yaml my_project_liveness.yaml
|
||||
# # отредактируйте: name, steps, expect
|
||||
|
||||
name: "example: liveness"
|
||||
description: >
|
||||
Базовая проверка: отправляем приветствие роботу
|
||||
и убеждаемся что API отвечает без ошибок.
|
||||
Не зависит от конкретного сценария SES.
|
||||
|
||||
enabled: false # Пример выключен по умолчанию
|
||||
interval: 60
|
||||
timeout: 15
|
||||
|
||||
steps:
|
||||
- send: "Здравствуйте"
|
||||
expect:
|
||||
- path: "error"
|
||||
equals: 0
|
||||
- path: "answer"
|
||||
not_empty: true
|
||||
@@ -0,0 +1,23 @@
|
||||
# =============================================================================
|
||||
# Сценарий: диалог с роботом МФЦ (production)
|
||||
# =============================================================================
|
||||
# Проверяет что робот отвечает на приветствие и возвращает меню действий.
|
||||
# Выполняется каждые 60 секунд, создаёт сессию в SES.
|
||||
# Результат агрегируется в ses.scenario.ok/total/failed/avg_time/max_time/error.
|
||||
|
||||
name: "mfc_dialog"
|
||||
description: >
|
||||
Проверка диалога с МФЦ: отправка приветствия,
|
||||
ожидание меню действий (error=0, answer не пуст).
|
||||
|
||||
enabled: true
|
||||
interval: 60
|
||||
timeout: 15
|
||||
|
||||
steps:
|
||||
- send: "Здравствуйте"
|
||||
expect:
|
||||
- path: "error"
|
||||
equals: 0
|
||||
- path: "answer[0].messages[0]"
|
||||
not_empty: true
|
||||
Reference in New Issue
Block a user