diff --git a/src/current/molt/molt-replicator.md b/src/current/molt/molt-replicator.md
index bc520b128c9..319ed1c2bcb 100644
--- a/src/current/molt/molt-replicator.md
+++ b/src/current/molt/molt-replicator.md
@@ -678,6 +678,14 @@ MOLT Replicator metrics are not enabled by default. Enable Replicator metrics by
--metricsAddr :30005
~~~
+Metrics can additionally be written to snapshot files at repeated intervals. Metrics snapshotting is disabled by default. If metrics have been enabled, metrics snapshotting can also be enabled with the [`--metricsSnapshotPeriod`]({% link molt/replicator-flags.md %}#metrics-snapshot-period) flag. For example, the following flag enables metrics snapshotting every 15 seconds:
+
+~~~
+--metricsSnapshotPeriod 15s
+~~~
+
+Metrics snapshots enable access to metrics when the Prometheus server is unavailable, and they can be sent to [CockroachDB support]({% link {{ site.current_cloud_version }}/support-resources.md %}) to help quickly resolve an issue.
+
For guidelines on using and interpreting replication metrics, refer to [Replicator Metrics]({% link molt/replicator-metrics.md %}).
### Logging
diff --git a/src/current/molt/replicator-flags.md b/src/current/molt/replicator-flags.md
index ec240ee4008..8ae5b08aec1 100644
--- a/src/current/molt/replicator-flags.md
+++ b/src/current/molt/replicator-flags.md
@@ -19,6 +19,7 @@ This page lists all available flags for the [MOLT Replicator commands]({% link m
| `--claim` | `make-jwt` | `BOOL` | If `true`, print a minimal JWT claim instead of signing. |
| `--collapseMutations` | `start`, `pglogical`, `mylogical` | `BOOL` | Combine multiple mutations on the same primary key within each batch into a single mutation.
**Default:** `true` |
| `--defaultGTIDSet` | `mylogical` | `STRING` | **Required** the first time `replicator` is run. The default GTID set, in the format `source_uuid:min(interval_start)-max(interval_end)`, which provides a replication marker for streaming changes. |
+| `--dataDir` | `start`, `pglogical`, `mylogical`, `oraclelogminer` | `STRING` | Base directory for replicator data (for example, metrics snapshots).
**Default:** `"replicator-data"` |
| `--disableAuthentication` | `start` | `BOOL` | Disable authentication of incoming Replicator requests; not recommended for production. |
| `--discard` | `start` | `BOOL` | **Dangerous:** Discard all incoming HTTP requests; useful for changefeed throughput testing. Not intended for production. |
| `--discardDelay` | `start` | `DURATION` | Adds additional delay in discard mode; useful for gauging the impact of changefeed round-trip time (RTT). |
@@ -38,6 +39,10 @@ This page lists all available flags for the [MOLT Replicator commands]({% link m
| `--logFormat` | `start`, `pglogical`, `mylogical`, `oraclelogminer` | `STRING` | Choose log output format: `"fluent"`, `"text"`.
**Default:** `"text"` |
| `--maxRetries` | `start`, `pglogical`, `mylogical`, `oraclelogminer` | `INT` | Maximum number of times to retry a failed mutation on the target (for example, due to contention or a temporary unique constraint violation) before treating it as a hard failure.
**Default:** `10` |
| `--metricsAddr` | `start`, `pglogical`, `mylogical`, `oraclelogminer` | `STRING` | A `:port` or `host:port` on which to serve metrics and diagnostics. The metrics endpoint is `http://{host}:{port}/_/varz`. |
+| `--metricsSnapshotCompression` | `start`, `pglogical`, `mylogical`, `oraclelogminer` | `STRING` | Compression for snapshot files: `"gzip"` or `"none"`.
**Default:** `"gzip"` |
+| `--metricsSnapshotPeriod` | `start`, `pglogical`, `mylogical`, `oraclelogminer` | `DURATION` | How often to periodically store a metrics snaphot to files (for example, `15s`, `1m`). Set to `0` to disable.
**Default:** `0` |
+| `--metricsSnapshotRetentionSize` | `start`, `pglogical`, `mylogical`, `oraclelogminer` | `STRING` | Delete oldest snapshots when the total size of the `metrics-snapshots` directory in the [`--dataDir`](#data-dir) exceeds this (for example, `100MB`, `1GiB`). Either this flag or `--metricsSnapshotRetentionTime` (or both) must be enabled.
**Default:** `""` |
+| `--metricsSnapshotRetentionTime` | `start`, `pglogical`, `mylogical`, `oraclelogminer` | `DURATION` | Delete snapshots older than this duration (for example, `24h`, `168h`). `0` to disable. Either this flag or `--metricsSnapshotRetentionSize` (or both) must be enabled.
**Default:** `168h` |
| `--ndjsonBufferSize` | `start` | `INT` | The maximum amount of data to buffer while reading a single line of `ndjson` input; increase when source cluster has large blob values.
**Default:** `65536` |
| `--oracle-application-users` | `oraclelogminer` | `STRING` | List of Oracle usernames responsible for DML transactions in the PDB schema. Enables replication from the latest-possible starting point. Usernames are case-sensitive and must match the internal Oracle usernames (e.g., `PDB_USER`). |
| `-o`, `--out` | `make-jwt` | `STRING` | A file to write the token to. |
diff --git a/src/current/molt/replicator-metrics.md b/src/current/molt/replicator-metrics.md
index 8111f8ce683..de0343902c7 100644
--- a/src/current/molt/replicator-metrics.md
+++ b/src/current/molt/replicator-metrics.md
@@ -307,6 +307,206 @@ For checkpoint terminology, refer to the [MOLT Replicator documentation]({% link
[Read more about userscript metrics]({% link molt/userscript-metrics.md %}).
+## Metrics snapshots
+
+When enabled, the metrics snapshotter periodically writes out a point-in-time snapshot of Replicator's Prometheus metrics to a file in the [Replicator data directory]({% link molt/replicator-flags.md %}#data-dir). Metrics snapshots can help with debugging when direct access to the Prometheus server is not available, and you can [bundle snapshots and send them to CockroachDB support](#bundle-and-send-metrics-snapshots) to help resolve an issue. A metrics snapshot includes all of the metrics on this page.
+
+Metrics snapshotting is disabled by default, and can be enabled with the [`--metricsSnapshotPeriod`]({% link molt/replicator-flags.md %}#metrics-snapshot-period) Replicator flag. [Replicator metrics must be enabled](#set-up-metrics) (with the [`--metricsAddr`]({% link molt/replicator-flags.md %}#metrics-addr) flag) in order for metrics snapshotting to work.
+
+If snapshotting is enabled, the snapshot period must be at least 15 seconds. The recommended range for the snapshot period is 15-60 seconds. The retention policy for metrics snapshot files can be determined by [time]({% link molt/replicator-flags.md %}#metrics-snapshot-retention-time) and by the [total size]({% link molt/replicator-flags.md %}#metrics-snapshot-retention-size) of the snapshot data subdirectory. At least one retention policy must be configured. Snapshots can also be [compressed to a gzip file]({% link molt/replicator-flags.md %}#metrics-snapshot-compression).
+
+Changing the snapshotter's configuration requires restarting the Replicator binary with different flags.
+
+### Enable metrics snapshotting
+
+#### Step 1. Run Replicator with the snapshot flags
+
+The following is an example of a `replicator` command where snapshotting is configured:
+
+