Skip to content
APP - CMT Monitoring

APP - CMT Monitoring

CMT is Cavaliba’s application/host monitoring solution. It has two parts:

  • cmt - a standalone Go binary (agent/poller) you deploy on hosts or network locations you want to monitor from. It runs checks (CPU, disk, HTTP, TCP sockets, certificates, …), keeps alert state between runs, and ships results out.
  • app_cmt - the Cavaliba application that manages agents/checks and displays live status and historical availability.

List Detail

Relationship

cmt and app_cmt are companion components :

  • cmt alone (standalone): monitoring agent distributed on various servers. Uses a local conf.yml and optionally merge with a central conf from cavaliba. Good for a single host, or for shipping straight to a metrology backend (Elasticsearch, Graylog, InfluxDB - see Outputs) without a Cavaliba dependency at all.
  • app_cmt: a backend cavaliba app to provide conf to a fleet ofcmt agents, to collect the result of checks, and display an availability dashboard to end users.

In cavaliba, an _cmtagent defines agents, which may run in one of two modes, chosen server-side:

  • DEFAULT - app_cmt builds the agent’s config automatically from every _cmtcheck object enabled for it - no YAML authored per agent.
  • CONF - the operator hand-authors the _cmtagent’s own YAML conf (same schema as conf.yml). This is the natural fit for a cmt that already has a complete local checks:/outputs: list: the fetched config is merged onto the local one by name (a fetched entry replaces a local one with the same name, anything else local is left alone - see Configuration), so app_cmt can be used just to push narrow overrides (e.g. enable: no during a maintenance window) instead of mirroring every check server-side.

Results land in app_cmt’s raw/hourly/daily tables and drive the dashboard above - live status plus availability ratios over the last hour, day, month, 90 days and year.

In this section

  • Setup - get the cmt binary running
  • Options - CLI flags and run modes (ad hoc, --cron, daemon)
  • Configuration - conf.yml, the merge with a remote source, built-in doc
  • Outputs - where results can be shipped
  • Modules - every check type, one page each
  • cmt3 archive - the retired Python predecessor