Docker images / prepare-release (push) Successful in 6s
Docker images / backend-image (push) Successful in 2m13s
Docker images / frontend-image (push) Successful in 2m11s
Docker images / updater-image (push) Successful in 50s
Docker images / notify-webhook (push) Has been skipped
Docker images / publish-release (push) Successful in 8s
95 lines
3.8 KiB
TypeScript
95 lines
3.8 KiB
TypeScript
/** Типы и подписи для UI планировщика / страницы «Сбор данных» (совпадают с ответами API). */
|
|
|
|
/** Последний ключ — движок оповещений (читает БД после коллекторов; см. описание `alert_engine`). */
|
|
export const SCHEDULER_JOB_KEYS = [
|
|
"traffic",
|
|
"servers_rest_ping",
|
|
"uptime_resources",
|
|
"uptime_ping",
|
|
"uptime_speed",
|
|
"internet_path",
|
|
"gre_bgp",
|
|
"certificates_renew",
|
|
"backups",
|
|
"alert_engine",
|
|
] as const
|
|
export type SchedulerJobKey = (typeof SCHEDULER_JOB_KEYS)[number]
|
|
|
|
export const SCHEDULER_JOB_LABELS: Record<string, string> = {
|
|
traffic: "Трафик",
|
|
servers_rest_ping: "Серверы: REST API",
|
|
uptime_resources: "Uptime: ресурсы",
|
|
uptime_ping: "Uptime: ping",
|
|
uptime_speed: "Uptime: speed",
|
|
internet_path: "Internet Path",
|
|
gre_bgp: "GRE + BGP",
|
|
certificates_renew: "Сертификаты: автообновление",
|
|
backups: "Бэкапы",
|
|
alert_engine: "Оповещения",
|
|
}
|
|
|
|
/** Кратко — для раскрытой карточки прогона и подсказок. */
|
|
export const SCHEDULER_JOB_DESCRIPTIONS: Record<string, string> = {
|
|
traffic: "Опрос интерфейсов RouterOS, запись сэмплов трафика в SQLite.",
|
|
servers_rest_ping:
|
|
"Проверка доступности каталога серверов: GET /system/identity (RouterOS REST), замер задержки без полного опроса.",
|
|
uptime_resources: "CPU, память, температура и др. метрики с устройств.",
|
|
uptime_ping: "ICMP-пинг по настроенным пробам мониторинга.",
|
|
uptime_speed: "Фоновые btest / speed-пробы между узлами (при включённых пробах).",
|
|
internet_path: "Снимок данных для карты интернет-маршрута на dashboard (WAN/JH/EN, route+runtime, speed-пробы).",
|
|
gre_bgp:
|
|
"Опрос GRE-туннелей и BGP-сессий на включённых серверах, запись сэмплов в SQLite для движка оповещений.",
|
|
certificates_renew:
|
|
"Проверка сертификатов, выпущенных через UI, и автообновление через ACME DNS-01 (Cloudflare) до истечения срока.",
|
|
backups:
|
|
"Плановые бэкапы RouterOS по расписанию со страницы «Бэкапы»; тик планировщика раз в минуту.",
|
|
alert_engine:
|
|
"Оценка правил по данным из SQLite (сэмплы пишут джобы сбора, в т.ч. «GRE + BGP» и «Серверы: REST API»).",
|
|
}
|
|
|
|
export interface CollectorSettingsDto {
|
|
enabled: boolean
|
|
intervalSec: number
|
|
probeIntervalSec?: number
|
|
speedIntervalSec?: number
|
|
retentionDays: number
|
|
lastCollectedAt: string | null
|
|
lastDurationMs: number | null
|
|
lastError: string | null
|
|
collectorRunning?: boolean
|
|
}
|
|
|
|
export interface SchedulerJobStatusDto {
|
|
jobKey: string
|
|
enabled: boolean
|
|
intervalSec: number
|
|
running: boolean
|
|
lastFinishedAt: string | null
|
|
lastStatus: string | null
|
|
lastDurationMs: number | null
|
|
lastError: string | null
|
|
}
|
|
|
|
export interface SchedulerStatusDto {
|
|
jobs: SchedulerJobStatusDto[]
|
|
}
|
|
|
|
export interface UptimeSettingsDto extends CollectorSettingsDto {
|
|
resourcesEnabled?: boolean
|
|
pingEnabled?: boolean
|
|
speedEnabled?: boolean
|
|
scheduler?: SchedulerStatusDto
|
|
}
|
|
|
|
export interface SchedulerRunRowDto {
|
|
id: string
|
|
jobKey: string
|
|
startedAt: string
|
|
finishedAt: string
|
|
status: string
|
|
error: string | null
|
|
durationMs: number
|
|
/** JSON снимка результатов прогона (серверы, пробы, speed и т.д.) */
|
|
resultJson?: string | null
|
|
}
|