Skip to main content

Monitoring: Configuration

General monitoring keys

These keys control how the server collects its CPU and disk metrics:

Monitoring.Cpu.Exec

A command or executable that provides RavenDB with CPU usage figures.
RavenDB runs the command when the server starts, and continuously reads JSON objects with MachineCpuUsage and ProcessCpuUsage fields (usage percentages) from the command's standard output, using these values as its CPU metrics rather than measuring CPU usage itself.
Note that the command must write to its standard output unbuffered.


Example: Reading CPU usage from a script

{
"Monitoring.Cpu.Exec": "/usr/bin/python3",
"Monitoring.Cpu.Exec.Arguments": "/scripts/cpu_usage.py"
}

The script writes lines in this form to its standard output:

{ "MachineCpuUsage": 57.0, "ProcessCpuUsage": 2.5 }

  • Type: string
  • Default: null
  • Scope: Server-wide only

Monitoring.Cpu.Exec.Arguments

The command line arguments for the Monitoring.Cpu.Exec command or executable.
The arguments must be escaped for the command line.

  • Type: string
  • Default: null
  • Scope: Server-wide only

Monitoring.Disk.ReadStatsDebounceTimeInMs

The minimum interval between measures to calculate the disk stats.

  • Type: TimeSetting
  • Default: 1000
  • Scope: Server-wide only

Per-section configuration pages

Each monitoring section documents its own configuration keys:

SectionConfiguration page
Integrations (SNMP, OpenTelemetry)Integrations: Configuration
Task errorsTask errors: Configuration
TombstonesTombstones: Configuration

In this article