chore: synchronize pending app/backend updates and repository hygiene
Includes current frontend and backend work in progress and removes generated artifacts from tracking to keep the repository clean for дальнейшая разработка. Co-authored-by: Cursor <[email protected]>
This commit is contained in:
@@ -0,0 +1,83 @@
|
||||
/** Типы и подписи для UI планировщика / страницы «Сбор данных» (совпадают с ответами API). */
|
||||
|
||||
/** Последний ключ — движок оповещений (читает БД после коллекторов; см. описание `alert_engine`). */
|
||||
export const SCHEDULER_JOB_KEYS = [
|
||||
"traffic",
|
||||
"servers_rest_ping",
|
||||
"uptime_resources",
|
||||
"uptime_ping",
|
||||
"uptime_speed",
|
||||
"gre_bgp",
|
||||
"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",
|
||||
gre_bgp: "GRE + BGP",
|
||||
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-пробы между узлами (при включённых пробах).",
|
||||
gre_bgp:
|
||||
"Опрос GRE-туннелей и BGP-сессий на включённых серверах, запись сэмплов в SQLite для движка оповещений.",
|
||||
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
|
||||
}
|
||||
Reference in New Issue
Block a user