CT-OpsCT-Ops
Home
Getting Started
Architecture
Features
Deployment
GitHub
GitHub
Home
Getting Started
Architecture
Features
Deployment
GitHub
GitHub
  • Introduction
  • Getting Started

    • Installation
    • Configuration
    • Offline Agent Install Bundle
  • Architecture

    • Architecture Overview
    • Agent Architecture
    • Ingest Service
    • Deployment Profiles
  • Features

    • Hosts & Inventory
    • Host Groups
    • Networks
    • Monitoring
    • Certificate Management
    • SSL Certificate Checker
    • Alerts
    • Notifications
    • Reports
    • Terminal
    • Service Accounts & Identity
    • Directory User Lookup
    • Tasks & Runbooks
    • Scheduled Tasks
    • Tags
    • Notes
  • Deployment

    • Docker Compose Deployment
    • Air-Gap Deployment
    • Load Testing
  • Development

    • End-to-end testing
  • Licensing
  • Security

Monitoring

CT-Ops collects system metrics from every agent and lets you define health checks that run on a schedule. Metrics are stored in TimescaleDB and visualised as time-series charts.


Metrics Collection

The agent sends the following vitals with every heartbeat:

MetricUnitDescription
cpu_percent%CPU utilisation across all cores
memory_percent%RAM utilisation
disk_percent%Root filesystem utilisation
uptime_secondssecondsHost uptime since last boot

Future versions will add per-disk, per-NIC, and per-process metrics.


Metric Charts

Charts are available on the Metrics tab of each host detail page. Each chart is interactive:

  • Time range — 1 hour, 6 hours, 24 hours, 7 days, 30 days
  • Zoom — click and drag on any chart to zoom into a specific window
  • Smart bucketing — data is automatically aggregated to the appropriate resolution based on the selected time range, using TimescaleDB continuous aggregates

Health Checks

Health checks run on the agent and report a pass/fail result back to the ingest service. Results are stored and can trigger alert rules.

Check types

TypeWhat it checks
portTCP/UDP connectivity to a host:port
processWhether a named process is running
httpHTTP endpoint reachability and optional status code check

Configuring checks

Checks are configured per-host from the Checks tab of the host detail page:

  1. Click Add Check
  2. Select the check type
  3. Fill in the parameters (target address, port, expected status code, etc.)
  4. Set the check interval
  5. Click Save

The check is pushed to the agent on the next heartbeat and starts running immediately.


TimescaleDB Storage

Raw metrics are written to a TimescaleDB hypertable partitioned by time. Three continuous aggregates are pre-configured:

AggregateBucket sizeRetention
metrics_1m1 minute7 days
metrics_1h1 hour90 days
metrics_1d1 day2 years

The appropriate aggregate is selected automatically based on the chart's time range.


Alerting on Metrics

You can create alert rules that fire when a metric crosses a threshold — for example, CPU > 90% for 5 minutes. See Alerts for details.

Edit this page on GitHub
Last Updated: 4/18/26, 10:33 PM
Contributors: Simon Carr, Claude Sonnet 4.6, Claude Opus 4.7
Prev
Networks
Next
Certificate Management