scripts.d Scheduler
Plugin: scripts.d.plugin Module: scheduler
Overview
The scheduler module manages the execution of jobs defined by the nagios and zabbix modules.
It provides:
- Worker pool: Concurrent execution with configurable worker count and queue depth.
- OTLP logging: Optional structured log export via gRPC for job execution results.
Scheduler-level metrics (jobs status, throughput, next run time) are exposed through the nagios and zabbix modules that use it.
The scheduler manages per-job timers and dispatches jobs to a worker pool. Each worker executes a job via the configured runner (nagios or zabbix) and reports results back.
This collector is supported on all platforms.
This collector supports collecting metrics from multiple instances of this integration, including remote instances.
scripts.d Scheduler can be monitored further using the following other integrations:
Default Behavior
Auto-Detection
A default scheduler is created automatically. Additional named schedulers can be defined in the configuration.
Limits
The default configuration for this integration does not impose any limits on data collection.
Performance Impact
The default configuration for this integration is not expected to impose a significant performance impact on the system.
Metrics
Scheduler metrics are exposed through the nagios and zabbix modules under the nagios.scheduler.* context.
Alerts
There are no alerts configured by default for this integration.
Setup
Prerequisites
No action required.
Configuration
Options
Scheduler configuration controls the worker pool and optional OTLP logging.
Config options
| Group | Option | Description | Default | Required |
|---|---|---|---|---|
| General | workers | Number of concurrent workers executing jobs. | 50 | no |
| queue_size | Capacity of the internal work queue. | 128 | no | |
| Logging | logging.enabled | Enable structured OTLP log export for job results. | true | no |
| logging.otlp.endpoint | gRPC endpoint for OTLP log export. | 127.0.0.1:4317 | no |
via File
The configuration file name for this integration is scripts.d/scheduler.conf.
You can edit the configuration file using the edit-config script from the
Netdata config directory.
cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata
sudo ./edit-config scripts.d/scheduler.conf
Examples
Custom scheduler
Define a scheduler with a larger worker pool.
Config
jobs:
- name: heavy
workers: 100
queue_size: 256
Do you have any feedback for this page? If so, you can open a new issue on our netdata/learn repository.