DevOps & SRE

Auditable Infrastructure for
Server Monitoring & Incidents

Modern infrastructure is ephemeral. Correlate real-time telemetry with static business context like owner teams and environments. Keep metrics, incident tracking, and alerts in one auditable timeline without relying on slow, rigid CMDBs.

The Missing Context in Infrastructure Monitoring

When a critical incident occurs, Site Reliability Engineers (SREs) shouldn't have to scramble across four different tools to correlate a CPU spike with the service owner and the affected customers.

  • Standard monitoring tools (Datadog, Prometheus) lack rich, queryable business context.
  • Static CMDBs (ServiceNow) are too slow to keep up with ephemeral cloud resources.
  • Incident tracking happens in Jira or Slack, completely detached from the actual metric spikes.
  • Tracking exactly when and why a server was put into 'Maintenance' mode is often lost.

The Relational Monitoring Blueprint

Omnismith's headless engine lets you define your infrastructure dynamically. Create separate templates for Servers, Services, Incidents, and Teams, linking them together to form a highly flexible, queryable graph.

  • Dynamic Templates: Adjust the shape of an 'Incident' instantly as post-mortem requirements change.
  • Relational Schemas: Link a Server directly to its owning Team and related Services.
  • Hybrid Data: Query time-series metrics (CPU spikes) against static dimensions (Provider = AWS).
  • Deploy in seconds via the Blueprint Marketplace.

Template: Server Node

Environment List — Prod / Staging
Provider List — AWS / Hetzner
Operational Status List — Healthy / Critical
CPU Usage Metric (Time-Series)
Related Service Reference → Service

Template: Incident

Incident Status List — Investigating / Resolved
Affected Server Reference → Server Node
Owner Team Reference → Team

Immutable Post-Mortem Auditing

During an incident post-mortem, timeline is everything. Omnismith automatically generates a permanent ledger for every operational status or incident change, perfectly aligning with your metric graphs.

  • Track exactly *when* an SRE flipped a server to 'Maintenance'.
  • Easily generate timelines for incident post-mortem reports.
  • Filter historical changes by date, author, or specific metric.

Incident Resolution Audit Log

pagerduty-bot 2:04 AM
Changed Operational Status: Healthy Critical
sre-oncall@corp.com 2:09 AM
Changed Incident Status: Open Investigating
sre-oncall@corp.com 2:15 AM
Changed Operational Status: Critical Maintenance

Push Server Metrics into the Dashboard by API

Push any numeric metric from any script, agent, or cron job. The ingestion endpoint accepts the entity ID, metric name, and value — Omnismith handles the time-series storage automatically.

  • CPU usage, memory, disk, network throughput
  • Custom application metrics — error rates, queue depth, response times
  • Push from any language — Bash, Python, PHP, Go, Node.js
  • Personal access tokens for secure, scriptable access

# Push server metrics from a cron job (Bash)

#!/bin/bash
SERVER_ID="018b2f1b-8c1a-75b3-8000-7f0000010001"
TOKEN="omni_your_token_here"
CPU_ATTR_ID="018b2f1b-8c1a-75b3-8000-7f0000010010"
RAM_ATTR_ID="018b2f1b-8c1a-75b3-8000-7f0000010011"
DISK_ATTR_ID="018b2f1b-8c1a-75b3-8000-7f0000010012"

CPU=$(top -bn1 | grep "Cpu(s)" | awk '{print $2}')
RAM=$(free | grep Mem | awk '{print $3/$2 * 100}')
DISK=$(df / | awk 'NR==2{print $5}' | tr -d '%')

curl -s -X PUT "https://api.omnismith.io/v1/entities/$SERVER_ID" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "attribute_values": [
            { "attribute_id": '"$CPU_ATTR_ID"',  "value": '"$CPU"'  },
            { "attribute_id": '"$RAM_ATTR_ID"',  "value": '"$RAM"'  },
            { "attribute_id": '"$DISK_ATTR_ID"', "value": '"$DISK"' }
    ]
    }'

# Response: 204 No Content

# Add to crontab: */5 * * * * /path/to/push_metrics.sh

Offline Resilience

Lost Connectivity? Backfill the Gap.

Remote devices — edge servers, IoT sensors, field equipment — sometimes lose network access. With Omnismith's optional updated_at field, your script can accumulate readings locally and replay them with their original timestamps once the connection is restored. Your time-series charts stay accurate with no gaps.

  • Supply any past timestamp — Omnismith inserts it at the correct point in the time series
  • Send a batch of historical values in a single API call
  • Without updated_at, the current server time is used automatically
  • Works for any attribute type — metrics, statuses, counters

# Reconnected after 15 min offline — replay buffered readings

curl -s -X PUT "https://api.omnismith.io/v1/entities/$SERVER_ID" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "attribute_values": [
            { "attribute_id": "018b2f1b-8c1a-75b3-8000-7f0000010010", "value": "72.4", "updated_at": "2026-02-23T10:00:00Z" },
            { "attribute_id": "018b2f1b-8c1a-75b3-8000-7f0000010010", "value": "85.1", "updated_at": "2026-02-23T10:05:00Z" },
            { "attribute_id": "018b2f1b-8c1a-75b3-8000-7f0000010010", "value": "91.3", "updated_at": "2026-02-23T10:10:00Z" },
            { "attribute_id": "018b2f1b-8c1a-75b3-8000-7f0000010010", "value": "67.8", "updated_at": "2026-02-23T10:15:00Z" }
    ]
    }'

# Response: 204 No Content

# Four readings backfilled at their exact collection times

Build a Server Health Dashboard with 4 Widget Types

Drag-and-drop widgets onto a grid. Each server, team, or project can have its own dashboard.

Chart Widget

Line and bar charts for time-series metrics — CPU over 24h, memory over 7 days.

Stat Widget

Current value with trend indicator — "CPU: 67% ↑ from yesterday".

Gauge Widget

Radial gauge for utilization metrics — ideal for disk usage and memory pressure.

List Widget

Tabular entity list with sorting — show all servers sorted by highest CPU.

Automated Alerts via Telegram & Webhooks

Set up automations that react to entity changes — when a server's status changes to "Critical" or a disk usage field gets updated, send a Telegram message to your ops channel or fire a webhook to PagerDuty, Slack, or any endpoint.

  • Trigger on entity create, update, or delete events
  • Filter by specific templates (e.g., only Server entities)
  • Send richly-formatted Telegram messages with entity data
  • POST to any webhook — PagerDuty, Slack, custom endpoints
  • View execution logs and retry failed deliveries

Example Telegram Alert

ALERT: web-prod-07

Status changed: Active → Critical

CPU: 98% | RAM: 94%

Updated by: monitoring-agent

→ View in Omnismith

Further Reading

If you want the deeper product model behind this page, the best starting point is the platform article on flexible schema and why history and metrics belong in the same system.

Read why Omnismith uses flexible schema for operational data

Start Using a Server Monitoring Dashboard That Keeps Context

Instantly clone the Server Monitoring Blueprint into a free workspace.

Clone Monitoring Blueprint

Questions about Enterprise deployments? hello@omnismith.io