Plugin List

class canaryd.plugins.containers.Containers

Tracks containers and VMs running on the system. Currently supports docker, lxc, openvz and kvm.

class canaryd.plugins.hardware.Hardware

Tracks system hardware using lshw (if available).

class canaryd.plugins.integrity.Integrity

Tracks the integrity of system files by checking their owner, permissions and checksum hashes.

class canaryd.plugins.iptables.Iptables

Tracks iptables chains, policies and rule changes.

class canaryd.plugins.meta.Meta

Tracks basic server information (kernel, OS).

class canaryd.plugins.monitor.Monitor

This plugin monitors the servers basics (CPU/memory/disk/etc) and provides warning/critical alerts as configured on app.servicecanary.com.

Tracks:

  • CPU/IO wait usage %
  • Memory/swap usage %
  • Per disk usage %
class canaryd.plugins.packages.Packages

Tracks packages installed on the system. Compatible with dpkg, rpm and BSD’s pkg_info.

class canaryd.plugins.scripts.Scripts

The scripts plugin executes user enabled scripts.

Scripts have the following spec (think Sensu/Nagios):

  • Output a message and/or JSON data to stdout or stderr
  • Exit with code:
    • 0 - indicates all OK
    • 1 - indicates a warning
    • 2 - indicates a critical

Scripts can be added to the canaryd config directory in scripts/available and then enabled using canaryctl, eg:

# Enable/disable scripts in $canaryd-config/scripts/available
canaryctl scripts enable FILENAME
canaryctl scripts disable FILENAME

# List all scripts (available and enabled)
canaryctl scripts
class canaryd.plugins.services.Services

The services plugin provides a combined view of “system” services - ie the merge of any running launchctl/rcd/initd/upstart/systemd services.

class canaryd.plugins.sysctl.Sysctl

Tracks sysctl entries/settings.

class canaryd.plugins.users.Users

Tracks system users and groups, as well as login events.