Skip to main content

Interface: Monitor

Defined in: shared/types.ts:253

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:255

Array of currently active operations for this monitor


baselineUrl?โ€‹

optional baselineUrl?: string;

Defined in: shared/types.ts:257

Baseline origin URL when comparing CDN edge consistency


bodyKeyword?โ€‹

optional bodyKeyword?: string;

Defined in: shared/types.ts:259

Keyword that must be present in HTTP response bodies


certificateWarningDays?โ€‹

optional certificateWarningDays?: number;

Defined in: shared/types.ts:261

Certificate expiry warning threshold in days for SSL monitoring


checkIntervalโ€‹

checkInterval: number;

Defined in: shared/types.ts:263

Interval between checks in milliseconds


edgeLocations?โ€‹

optional edgeLocations?: string;

Defined in: shared/types.ts:265

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


expectedHeaderValue?โ€‹

optional expectedHeaderValue?: string;

Defined in: shared/types.ts:267

Expected value for HTTP header verification


expectedJsonValue?โ€‹

optional expectedJsonValue?: string;

Defined in: shared/types.ts:269

Expected value within a JSON payload


expectedStatusCode?โ€‹

optional expectedStatusCode?: number;

Defined in: shared/types.ts:271

Expected HTTP status code for status-based HTTP monitors


expectedValue?โ€‹

optional expectedValue?: string;

Defined in: shared/types.ts:273

Expected value for DNS record verification


followRedirects?โ€‹

optional followRedirects?: boolean;

Defined in: shared/types.ts:275

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


headerName?โ€‹

optional headerName?: string;

Defined in: shared/types.ts:277

HTTP header name to inspect


heartbeatExpectedStatus?โ€‹

optional heartbeatExpectedStatus?: string;

Defined in: shared/types.ts:279

Expected status string returned by heartbeat endpoints


heartbeatMaxDriftSeconds?โ€‹

optional heartbeatMaxDriftSeconds?: number;

Defined in: shared/types.ts:281

Maximum tolerated heartbeat staleness in seconds


heartbeatStatusField?โ€‹

optional heartbeatStatusField?: string;

Defined in: shared/types.ts:283

Field name (dot notation supported) that exposes heartbeat status


heartbeatTimestampField?โ€‹

optional heartbeatTimestampField?: string;

Defined in: shared/types.ts:285

Field name (dot notation supported) that exposes heartbeat timestamp


historyโ€‹

history: StatusHistory[];

Defined in: shared/types.ts:287

Historical status data for analytics and trends


host?โ€‹

optional host?: string;

Defined in: shared/types.ts:289

Hostname or IP address to monitor


idโ€‹

id: string;

Defined in: shared/types.ts:291

Unique identifier for the monitor


jsonPath?โ€‹

optional jsonPath?: string;

Defined in: shared/types.ts:293

JSON path expression used for HTTP JSON monitors


lastChecked?โ€‹

optional lastChecked?: Date;

Defined in: shared/types.ts:295

Timestamp of the last check performed


maxPongDelayMs?โ€‹

optional maxPongDelayMs?: number;

Defined in: shared/types.ts:297

Maximum acceptable delay before a WebSocket pong response (milliseconds)


maxReplicationLagSeconds?โ€‹

optional maxReplicationLagSeconds?: number;

Defined in: shared/types.ts:299

Maximum allowable replication lag in seconds


maxResponseTime?โ€‹

optional maxResponseTime?: number;

Defined in: shared/types.ts:301

Maximum allowed response time for latency monitors


monitoringโ€‹

monitoring: boolean;

Defined in: shared/types.ts:303

Whether monitoring is currently active for this monitor


port?โ€‹

optional port?: number;

Defined in: shared/types.ts:305

Port number for port-based monitoring


primaryStatusUrl?โ€‹

optional primaryStatusUrl?: string;

Defined in: shared/types.ts:307

Primary node status endpoint used for replication comparisons


recordType?โ€‹

optional recordType?: DnsRecordType;

Defined in: shared/types.ts:309

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


replicaStatusUrl?โ€‹

optional replicaStatusUrl?: string;

Defined in: shared/types.ts:311

Replica node status endpoint used for replication comparisons


replicationTimestampField?โ€‹

optional replicationTimestampField?: string;

Defined in: shared/types.ts:313

JSON field (dot notation supported) containing replication timestamps


responseTimeโ€‹

responseTime: number;

Defined in: shared/types.ts:315

Latest response time measurement in milliseconds


retryAttemptsโ€‹

retryAttempts: number;

Defined in: shared/types.ts:317

Number of retry attempts when a check fails


statusโ€‹

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

Defined in: shared/types.ts:319

Current status of the monitor


timeoutโ€‹

timeout: number;

Defined in: shared/types.ts:321

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:325

Type of monitoring performed (see BASE_MONITOR_TYPES).


url?โ€‹

optional url?: string;

Defined in: shared/types.ts:327

URL to monitor for HTTP-based checks