DRSM Documentation Live demo Downloads

Day-to-day admin

The jobs that come up while DRSM is running: hosts in and out, thresholds, notices for users, upgrades and finding out why something is red. Everything is plain text files and a few scripts, so each job is also easy to hand to an AI assistant.

Commands below use ~/drsm and ~/.drsm.sh. If your install uses DRSM_CONFIG, put DRSM_CONFIG=<your config> in front of each command. Scripts that change files show a dry run first and need --apply.

Every day

Add a host

Linux host from a host file

$ cp ~/drsm/etc/hosts/example.conf_example ~/drsm/etc/hosts/web2.conf
$ vi ~/drsm/etc/hosts/web2.conf          # HOST, DESCRIPTION, IMPACT, GROUP
$ ~/drsm/bin/drsm_run.sh -n -H web2 -v   # one run, no alerts

The monitor account's SSH key must be in the host's authorized_keys.

Linux host from Ansible

With ANSIBLE_INVENTORY (or Ansible Automation Platform, ANSIBLE_AAP_URL) set, add the host to a group under one of the ANSIBLE_TIERS groups in Ansible. DRSM checks it from the next run. utils/drsm_ansible_hosts.sh lists what DRSM takes from Ansible. See Ansible inventory.

Windows host

Install the reporting agent. When its first report arrives, utils/wra_hosts.sh (dry run, then --apply) makes its host file. See Windows hosts.

Network device or address

A host file with COLLECTOR=none, PLUGINS="" and PROBES="network/ping" (add network/https for a web service).

Remove a host

$ ~/drsm/utils/drsm_remove_host.sh web2              # dry run
$ ~/drsm/utils/drsm_remove_host.sh --apply web2
$ ~/drsm/utils/drsm_remove_host.sh --apply -f retired.txt   # one host per line

This removes the host file (a copy goes to etc/hosts/removed) and its reports. A host that comes from Ansible is removed from Ansible; with ANSIBLE_EXCLUSIVE=yes its checks stop at once, and drsm_remove_host.sh clears its old reports.

Change a threshold

Every plugin setting has a default in plugins/<category>/<name>/plugin.conf. Override it for all hosts in etc/hosts/_defaults.conf, for a site in its site file, or for one host in its host file, as <category>_<name>_<SETTING>=value:

storage_disk_WARN=85
storage_disk_SKIP="/mnt/scratch"
core_cpu_TIMEOUT=60

Status messages

Tell everyone about an outage or maintenance: the message scrolls across the top of every page. See Status messages.

$ ~/drsm/utils/drsm_message.sh --apply add warning "Mail relay maintenance 18:00 to 19:00" --until "2026-11-03 19:00"

Your own scripts

Upgrade

  1. Unpack the new release beside the old source.
  2. Run utils/install.sh from it as the DRSM user. Host files, site files, plugins/local, _defaults.conf, config/drsm.php (the new one is written as drsm.php_install_new) and $WWWdir/site are kept.
  3. Compare drsm.php_install_new with drsm.php for new settings, read What's new.
  4. drsm_run.sh -l, then one run with -n.

Troubleshooting

SymptomLook at
Host is StaleCron, $LOGdir/drsm_run*.log, drsm_run.sh -n -H <host> -v
Host is redIts report page: the first ERROR line under its check
A check is UnknownA command in the plugin's REQUIRES is missing on the host
Host waits for its first reportIt is new, or its report folder is left from a removed host (drsm_remove_host.sh)
Page blank or wrongThe Web server error log, php -l on the page
No alert email-n on the cron line, the address lists, mail relay