Push Metrics from Your Servers.
See Trends. Get Alerts.
Omnismith's metric ingestion API lets your scripts push CPU, RAM, disk, and any custom metric directly to a time-series store. Visualize on dashboards. Alert via Telegram or webhook.
How the Monitoring Pipeline Works
Define Your Server Template
Create a template with fields for hostname, IP, location, owner, and status. Use References to link servers to teams or projects.
Push Metrics via API
Your cron job or monitoring agent sends CPU, RAM, disk, and custom metrics to the REST API. Omnismith timestamps each push automatically — or you can supply your own timestamp to backfill past readings.
Visualize & Alert
Build per-server dashboards with Chart, Stat, Gauge, and List widgets. Set up automations to fire Telegram messages or webhooks when metrics cross thresholds.
One API Call to Record Any Metric
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="entity-uuid-here"
TOKEN="omni_your_token_here"
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-uuid", "value": '"$CPU"' },
{ "attribute_id": "ram-attr-uuid", "value": '"$RAM"' },
{ "attribute_id": "disk-attr-uuid", "value": '"$DISK"' }
]
}' # Add to crontab: */5 * * * * /path/to/push_metrics.sh
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": "cpu-attr-uuid", "value": 72.4, "updated_at": "2026-02-23T10:00:00Z" },
{ "attribute_id": "cpu-attr-uuid", "value": 85.1, "updated_at": "2026-02-23T10:05:00Z" },
{ "attribute_id": "cpu-attr-uuid", "value": 91.3, "updated_at": "2026-02-23T10:10:00Z" },
{ "attribute_id": "cpu-attr-uuid", "value": 67.8, "updated_at": "2026-02-23T10:15:00Z" }
]
}' # Four readings backfilled at their exact collection times
Build Custom Dashboards 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
Start Monitoring Your Servers Today
Free plan includes 150 entities and 250K metric ingestions per month. No credit card required.
Start Free →