diff --git a/docker/telemetry/.env.alerting.example b/docker/telemetry/.env.alerting.example index 594c55c064..aa0bdf9891 100644 --- a/docker/telemetry/.env.alerting.example +++ b/docker/telemetry/.env.alerting.example @@ -14,8 +14,8 @@ # GF_SMTP_* consumed by the Grafana container (compose `env_file`) to # turn on mail delivery. Without these, an email contact point # provisions fine and then silently sends nothing. -# ALERT_EMAIL_TO read by upload_alerts_to_grafana.py to build the Grafana -# CLOUD email contact point over the REST API (Cloud has no +# ALERT_EMAIL_TO the recipient for the Grafana CLOUD email contact point, +# which is created over the REST API (Cloud has no # provisioning filesystem). Not used by the local stack. # --- Slack (local stack: paste the webhook into contactpoints.yaml instead) --- @@ -25,7 +25,7 @@ SLACK_WEBHOOK_URL= # --- Email --- # Recipient for Grafana Cloud alerts (comma- or semicolon-separated). -# Consumed by upload_alerts_to_grafana.py. +# Used when creating the Cloud email contact point over the REST API. ALERT_EMAIL_TO= # SMTP relay Grafana sends through. Email only delivers when SMTP is enabled diff --git a/docker/telemetry/grafana/provisioning/alerting/contactpoints.yaml b/docker/telemetry/grafana/provisioning/alerting/contactpoints.yaml index 0d36642776..06407f904e 100644 --- a/docker/telemetry/grafana/provisioning/alerting/contactpoints.yaml +++ b/docker/telemetry/grafana/provisioning/alerting/contactpoints.yaml @@ -41,10 +41,11 @@ # GF_SMTP_ENABLED=true and the relay settings point somewhere real. # # Grafana Cloud does NOT use this file — Cloud has no provisioning filesystem. -# Cloud delivery is created over the REST API by upload_alerts_to_grafana.py, -# which builds a single email-only contact point and attaches it to each rule -# via per-rule notification_settings. See that script's header for why the -# notification policy tree must not be touched on a shared Cloud instance. +# Cloud delivery is created over the REST API instead: a single email-only +# contact point, attached to each rule via per-rule notification_settings. +# The notification policy tree must never be pushed to a shared Cloud +# instance -- there is exactly one tree per org and the PUT endpoint +# replaces it wholesale. apiVersion: 1 diff --git a/docs/telemetry-runbook.md b/docs/telemetry-runbook.md index 16ead134ce..d09ce1c3e8 100644 --- a/docs/telemetry-runbook.md +++ b/docs/telemetry-runbook.md @@ -3309,7 +3309,7 @@ Two more pairs from the same family: cumulative object-payload bytes this process has written — the same value as `node_written_bytes`, from the same accessor — so it excludes keys, padding and the log, and it resets with the process. A ratio of the two is a constant 1.0 and - measures nothing. This label value was called `nudb_bytes` before Phase 9; it + measures nothing. This label value was previously called `nudb_bytes`; it comes from `node_store::Database` rather than the NuDB backend, so it is not part of the `nudb_*` family above and reads the same on RocksDB. - These gauges are sampled on the `MetricsRegistry` reader's 10 s cadence, while