Alerts & health
Health checks, stateful alert evaluation, ownership, silences, routing, and delivery diagnostics.
{{ notice() }}
{{ pollingError() }}
{{ item.title }}
First {{ new Date(item.firstSeenAt).toLocaleString() }} · last {{ new Date(item.lastSeenAt).toLocaleString() }} · duration {{ duration(item) }} · occurrences {{ item.occurrenceCount }}
{{ JSON.stringify(item.evidence,null,2) }}{{ item.kind }} · {{ item.target }}every {{ item.intervalSeconds }}s · timeout {{ item.timeoutSeconds }}s · fail {{ item.failureThreshold }} / recover {{ item.recoveryThreshold }} · agents {{ item.regions.join(', ')||'local' }}
{{ item.signal }} {{ item.operator }} {{ item.threshold??'unhealthy' }}{{ item.consecutive }} failures · {{ item.recoveryConsecutive }} recoveries · no-data {{ item.noDataPolicy }} · v{{ item.version }}
Channels
{{ item.kind }} · credential {{ item.credentialFingerprint||'none' }}{{ item.lastError }}
Routing rules
{{ item.channelIds.length }} channels · quiet {{ item.quietHours?item.quietHours.start+'–'+item.quietHours.end+' '+item.quietHours.timezone:'off' }} · reminder {{ item.reminderSeconds?item.reminderSeconds+'s':'off' }} · limit {{ item.rateLimitPerMinute }}/min
| Updated | Event | Channel | State | Attempts | Diagnostic | Actions |
|---|---|---|---|---|---|---|
| {{ new Date(item.updatedAt).toLocaleString() }} | {{ item.eventType }} | {{ item.channelId }} | {{ item.state }} | {{ item.attempt }}/{{ item.maxAttempts }} | {{ item.error||item.responseStatus||'—' }} |