Scheduler etcd flags & metrics (#4550)

* tweaks

Signed-off-by: Cassandra Coyle <cassie@diagrid.io>

* tweaks

Signed-off-by: Cassandra Coyle <cassie@diagrid.io>

---------

Signed-off-by: Cassandra Coyle <cassie@diagrid.io>
Co-authored-by: Hannah Hunter <94493363+hhunter-ms@users.noreply.github.com>
This commit is contained in:
Cassie Coyle 2025-02-24 11:13:34 -06:00 committed by GitHub
parent 7307d8ee43
commit da9c8f8842
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 18 additions and 0 deletions

View File

@ -81,6 +81,14 @@ In production environments, it's recommended to perform periodic backups of this
To perform backup and restore operations, you'll need to access the embedded etcd instance. This requires port forwarding to expose the etcd ports (port 2379).
#### Kubernetes Example
Here's how to port forward and connect to the etcd instance:
```shell
kubectl port-forward svc/dapr-scheduler-server 2379:2379 -n dapr-system
```
#### Docker Compose Example
Here's how to expose the etcd ports in a Docker Compose configuration for standalone mode:
@ -111,6 +119,16 @@ When running in HA mode, you only need to expose the ports for one scheduler ins
Once you have access to the etcd ports, you can follow the [official etcd backup and restore documentation](https://etcd.io/docs/v3.5/op-guide/recovery/) to perform backup and restore operations. The process involves using standard etcd commands to create snapshots and restore from them.
## Monitoring Scheduler's etcd Metrics
Port forward the Scheduler instance and view etcd's metrics with the following:
```shell
curl -s http://localhost:2379/metrics
```
Fine tune the embedded etcd to your needs by [reviewing and configuring the Scheduler's etcd flags as needed](https://github.com/dapr/dapr/blob/master/charts/dapr/README.md#dapr-scheduler-options).
## Disabling the Scheduler service
If you are not using any features that require the Scheduler service (Jobs API, Actor Reminders, or Workflows), you can disable it by setting `global.scheduler.enabled=false`.