Skip to main content

Interface: Monitor

Defined in: shared/types.ts:237

Core monitor interface representing a single monitoring configuration.

Remarksโ€‹

Defines all properties required for monitoring a target resource. Contains both configuration (what to monitor) and state (current status, history).

Propertiesโ€‹

activeOperations?โ€‹

optional activeOperations: string[]

Defined in: shared/types.ts:239

Array of currently active operations for this monitor


baselineUrl?โ€‹

optional baselineUrl: string

Defined in: shared/types.ts:241

Baseline origin URL when comparing CDN edge consistency


bodyKeyword?โ€‹

optional bodyKeyword: string

Defined in: shared/types.ts:243

Keyword that must be present in HTTP response bodies


certificateWarningDays?โ€‹

optional certificateWarningDays: number

Defined in: shared/types.ts:245

Certificate expiry warning threshold in days for SSL monitoring


checkIntervalโ€‹

checkInterval: number

Defined in: shared/types.ts:247

Interval between checks in milliseconds


edgeLocations?โ€‹

optional edgeLocations: string

Defined in: shared/types.ts:249

Optional list of encoded CDN edge endpoints (comma or newline separated)


expectedHeaderValue?โ€‹

optional expectedHeaderValue: string

Defined in: shared/types.ts:251

Expected value for HTTP header verification


expectedJsonValue?โ€‹

optional expectedJsonValue: string

Defined in: shared/types.ts:253

Expected value within a JSON payload


expectedStatusCode?โ€‹

optional expectedStatusCode: number

Defined in: shared/types.ts:255

Expected HTTP status code for status-based HTTP monitors


expectedValue?โ€‹

optional expectedValue: string

Defined in: shared/types.ts:257

Expected value for DNS record verification


followRedirects?โ€‹

optional followRedirects: boolean

Defined in: shared/types.ts:259

Whether HTTP monitors should follow redirects (best-effort).


headerName?โ€‹

optional headerName: string

Defined in: shared/types.ts:261

HTTP header name to inspect


heartbeatExpectedStatus?โ€‹

optional heartbeatExpectedStatus: string

Defined in: shared/types.ts:263

Expected status string returned by heartbeat endpoints


heartbeatMaxDriftSeconds?โ€‹

optional heartbeatMaxDriftSeconds: number

Defined in: shared/types.ts:265

Maximum tolerated heartbeat staleness in seconds


heartbeatStatusField?โ€‹

optional heartbeatStatusField: string

Defined in: shared/types.ts:267

Field name (dot notation supported) that exposes heartbeat status


heartbeatTimestampField?โ€‹

optional heartbeatTimestampField: string

Defined in: shared/types.ts:269

Field name (dot notation supported) that exposes heartbeat timestamp


historyโ€‹

history: StatusHistory[]

Defined in: shared/types.ts:271

Historical status data for analytics and trends


host?โ€‹

optional host: string

Defined in: shared/types.ts:273

Hostname or IP address to monitor


idโ€‹

id: string

Defined in: shared/types.ts:275

Unique identifier for the monitor


jsonPath?โ€‹

optional jsonPath: string

Defined in: shared/types.ts:277

JSON path expression used for HTTP JSON monitors


lastChecked?โ€‹

optional lastChecked: Date

Defined in: shared/types.ts:279

Timestamp of the last check performed


maxPongDelayMs?โ€‹

optional maxPongDelayMs: number

Defined in: shared/types.ts:281

Maximum acceptable delay before a WebSocket pong response (milliseconds)


maxReplicationLagSeconds?โ€‹

optional maxReplicationLagSeconds: number

Defined in: shared/types.ts:283

Maximum allowable replication lag in seconds


maxResponseTime?โ€‹

optional maxResponseTime: number

Defined in: shared/types.ts:285

Maximum allowed response time for latency monitors


monitoringโ€‹

monitoring: boolean

Defined in: shared/types.ts:287

Whether monitoring is currently active for this monitor


port?โ€‹

optional port: number

Defined in: shared/types.ts:289

Port number for port-based monitoring


primaryStatusUrl?โ€‹

optional primaryStatusUrl: string

Defined in: shared/types.ts:291

Primary node status endpoint used for replication comparisons


recordType?โ€‹

optional recordType: DnsRecordType

Defined in: shared/types.ts:293

DNS record type to query (A, AAAA, CNAME, etc.)


replicaStatusUrl?โ€‹

optional replicaStatusUrl: string

Defined in: shared/types.ts:295

Replica node status endpoint used for replication comparisons


replicationTimestampField?โ€‹

optional replicationTimestampField: string

Defined in: shared/types.ts:297

JSON field (dot notation supported) containing replication timestamps


responseTimeโ€‹

responseTime: number

Defined in: shared/types.ts:299

Latest response time measurement in milliseconds


retryAttemptsโ€‹

retryAttempts: number

Defined in: shared/types.ts:301

Number of retry attempts when a check fails


statusโ€‹

status: "degraded" | "down" | "up" | "paused" | "pending"

Defined in: shared/types.ts:303

Current status of the monitor


timeoutโ€‹

timeout: number

Defined in: shared/types.ts:305

Timeout for monitor checks in milliseconds


typeโ€‹

type: "cdn-edge-consistency" | "dns" | "http" | "http-header" | "http-json" | "http-keyword" | "http-latency" | "http-status" | "ping" | "port" | "replication" | "server-heartbeat" | "ssl" | "websocket-keepalive"

Defined in: shared/types.ts:309

Type of monitoring performed (see BASE_MONITOR_TYPES).


url?โ€‹

optional url: string

Defined in: shared/types.ts:311

URL to monitor for HTTP-based checks