# Alert runbooks

> One runbook per alert of the Helm chart's PrometheusRule, the operator's group included. Each alert's runbook_url annotation links to its page here.

One runbook per alert of the Helm chart's PrometheusRule, the operator's group included. Each alert's `runbook_url` annotation links to its page here.

| Alert | What it means |
|---|---|
| [`NautheraServerDown`](https://www.nauthera.io/docs/v1/runbooks/alerts/NautheraServerDown) | No nauthera-server replica answers a Prometheus scrape. |
| [`NautheraServerRestarting`](https://www.nauthera.io/docs/v1/runbooks/alerts/NautheraServerRestarting) | A nauthera-server replica restarted three or more times in 30 minutes. |
| [`NautheraServerFileDescriptorsHigh`](https://www.nauthera.io/docs/v1/runbooks/alerts/NautheraServerFileDescriptorsHigh) | A nauthera-server replica uses more than 80% of its file descriptor limit. |
| [`NautheraServerErrorBudgetBurnFast`](https://www.nauthera.io/docs/v1/runbooks/alerts/NautheraServerErrorBudgetBurnFast) | Public requests fail with a 5xx fast enough to spend the error budget within days. |
| [`NautheraServerErrorBudgetBurnSlow`](https://www.nauthera.io/docs/v1/runbooks/alerts/NautheraServerErrorBudgetBurnSlow) | Public requests fail with a 5xx faster than the monthly error budget allows. |
| [`NautheraServerHighLatency`](https://www.nauthera.io/docs/v1/runbooks/alerts/NautheraServerHighLatency) | The 99th percentile latency of the protocol endpoints is above one second. |
| [`NautheraDatabaseUnavailable`](https://www.nauthera.io/docs/v1/runbooks/alerts/NautheraDatabaseUnavailable) | One or more nauthera-server replicas cannot reach the database. |
| [`NautheraDatabasePoolExhausted`](https://www.nauthera.io/docs/v1/runbooks/alerts/NautheraDatabasePoolExhausted) | Requests on a nauthera-server replica are queuing for a database connection. |
| [`NautheraCacheUnavailable`](https://www.nauthera.io/docs/v1/runbooks/alerts/NautheraCacheUnavailable) | One or more nauthera-server replicas cannot use the Redis cache. |
| [`NautheraCacheErrors`](https://www.nauthera.io/docs/v1/runbooks/alerts/NautheraCacheErrors) | More than 1% of nauthera-server cache operations fail. |
| [`NautheraAuditMandatoryEventsDropped`](https://www.nauthera.io/docs/v1/runbooks/alerts/NautheraAuditMandatoryEventsDropped) | Mandatory audit events were lost because their queue was full. |
| [`NautheraAuditEventsDropped`](https://www.nauthera.io/docs/v1/runbooks/alerts/NautheraAuditEventsDropped) | Non-mandatory audit events were lost because their queue was full. |
| [`NautheraAuditWritesFailing`](https://www.nauthera.io/docs/v1/runbooks/alerts/NautheraAuditWritesFailing) | nauthera-server cannot write audit batches to the database. |
| [`NautheraAuditQueueBacklog`](https://www.nauthera.io/docs/v1/runbooks/alerts/NautheraAuditQueueBacklog) | An audit queue is more than 40% full. |
| [`NautheraAuditPartitionMissing`](https://www.nauthera.io/docs/v1/runbooks/alerts/NautheraAuditPartitionMissing) | No audit log partition is attached for the current month. |
| [`NautheraAuditPartitionsNotMaintained`](https://www.nauthera.io/docs/v1/runbooks/alerts/NautheraAuditPartitionsNotMaintained) | Audit log partitions for the coming months are missing. |
| [`NautheraAuditExportFailing`](https://www.nauthera.io/docs/v1/runbooks/alerts/NautheraAuditExportFailing) | An audit exporter has failed every delivery for ten minutes. |
| [`NautheraAuditExportLagging`](https://www.nauthera.io/docs/v1/runbooks/alerts/NautheraAuditExportLagging) | An audit exporter is more than 15 minutes behind the audit log. |
| [`NautheraSignInFailureSpike`](https://www.nauthera.io/docs/v1/runbooks/alerts/NautheraSignInFailureSpike) | Most password sign-ins are failing, at a rate that suggests an attack. |
| [`NautheraAccountLockoutSpike`](https://www.nauthera.io/docs/v1/runbooks/alerts/NautheraAccountLockoutSpike) | More than ten brute-force locks were applied in 15 minutes. |
| [`NautheraRateLimitingHigh`](https://www.nauthera.io/docs/v1/runbooks/alerts/NautheraRateLimitingHigh) | More than 10% of public requests are refused with 429. |
| [`NautheraThreatSignalCritical`](https://www.nauthera.io/docs/v1/runbooks/alerts/NautheraThreatSignalCritical) | A threat signal for one organization is at or above its critical rate. |
| [`NautheraThreatSignalElevated`](https://www.nauthera.io/docs/v1/runbooks/alerts/NautheraThreatSignalElevated) | A threat signal for one organization is at or above its elevated rate. |
| [`NautheraBackchannelLogoutFailing`](https://www.nauthera.io/docs/v1/runbooks/alerts/NautheraBackchannelLogoutFailing) | More than 10% of back-channel logout deliveries are failing. |
| [`NautheraControlPlaneErrors`](https://www.nauthera.io/docs/v1/runbooks/alerts/NautheraControlPlaneErrors) | More than 5% of gRPC AdminService calls fail on the server's side. |
| [`NautheraControlPlaneRefusals`](https://www.nauthera.io/docs/v1/runbooks/alerts/NautheraControlPlaneRefusals) | The gRPC AdminService has refused calls for fifteen minutes. |
| [`NautheraServerCertificateExpiringSoon`](https://www.nauthera.io/docs/v1/runbooks/alerts/NautheraServerCertificateExpiringSoon) | A certificate a nauthera-server listener serves expires within seven days. |
| [`NautheraServerCertificateExpiryImminent`](https://www.nauthera.io/docs/v1/runbooks/alerts/NautheraServerCertificateExpiryImminent) | A certificate a nauthera-server listener serves expires within two days. |
| [`NautheraServerNoReplicasAvailable`](https://www.nauthera.io/docs/v1/runbooks/alerts/NautheraServerNoReplicasAvailable) | The nauthera-server Deployment has no available replica. |
| [`NautheraOperatorDown`](https://www.nauthera.io/docs/v1/runbooks/alerts/NautheraOperatorDown) | No nauthera-operator replica answers a Prometheus scrape. |
| [`NautheraOperatorResourcesFailing`](https://www.nauthera.io/docs/v1/runbooks/alerts/NautheraOperatorResourcesFailing) | Resources the operator manages are in phase Error. |
| [`NautheraOperatorServerUnreachable`](https://www.nauthera.io/docs/v1/runbooks/alerts/NautheraOperatorServerUnreachable) | Most of the operator's calls to the server's control plane get no answer. |
