FOR HOSTING PROVIDERS
Hardware-failure warnings before the ticket lands.
The in-OS health layer for the dedicated servers you rent out: SMART trends, ECC errors, PSU redundancy, GPU health. Your customers, or your platform, wire it in over one API.
3 nodes free. Prove it on boxes you run yourself before offering it to customers.
curl -fsSL https://app.glassmkr.com/install.sh | bash Crucible v0.13.26 on npm
Baking it into provisioning? Drop glassmkr-crucible enroll into your post-install or cloud-init: one account key, every host self-registers by machine ID. See automated fleet onboarding.
The problem
When a disk dies inside a customer’s dedicated server, the failure becomes your ticket: the emergency migration, the RMA, the customer who found out from an outage. Most of those failures gave notice first. Reallocated sectors climbing for weeks, correctable ECC errors trending up, a PSU quietly dropping out of redundancy.
Provider tooling covers the out-of-band half well. IPMI and KVM access, power control, traffic graphs: table stakes, and most panels do them fine. What the customer doesn’t get is the in-OS half: SMART trend analysis, ECC counters, NVMe wear, RAID state, GPU reliability, kernel and security warnings, with alerting their team can route somewhere they’ll actually see it.
So customers self-assemble that layer, or run without it and open a ticket when the box misbehaves. Glassmkr is that layer as a product: per-server, curated for bare metal, and automatable end to end, so it rides along with your provisioning instead of becoming one more platform to operate.
How Glassmkr fits
The in-OS half of hardware health.
Your out-of-band tooling reads the BMC. Crucible reads the OS: SMART attributes and trends, ECC and MCE counters, NVMe wear, RAID and ZFS state, GPU XID/ECC/thermals, kernel and security signals. The rules are tuned for bare-metal failure modes, not cloud workloads.
Every step is an API call, including alert channels.
Enroll hosts during provisioning with one account key. Create, update, test and delete notification channels (Slack, Discord, PagerDuty, Telegram, email, generic webhook) over the API. Read alerts and trend warnings back into your own panel. No dashboard clicks anywhere in the loop, on any plan.
Tickets that never get opened.
A customer who sees “reallocated sectors rising on disk 3” a week early schedules the swap in a window they choose. The other version of that story is a 3 a.m. outage, an emergency migration and an RMA under pressure: work your support team absorbs.
An agent your customers can audit.
Recommending third-party software inside customers’ machines is a trust decision. Crucible is MIT licensed, published on npm, source on GitHub, runs as a non-root user and ships metrics only. Every alert rule has a public catalog page, so customers can see exactly what it watches before installing anything.
What your customers see
Per-server health at a glance: the firing alert with a suggested fix first, then CPU, memory, network errors and IPMI sensors. This is the page a customer opens before they open a ticket.
eno2 has logged 160 hardware errors (CRC + frame) and 90 discards: the error ratio crossed 0.1% of packets, usually a failing cable or SFP.
ethtool -S eno2 | grep -iE 'err|crc'interface_errorsThe whole lifecycle is an API
Monitoring that rides along with provisioning only works if every step is scriptable. Every step is. One write-scoped account key (gmk_acct_live_) drives the loop; the per-server collector keys it returns can only push that server’s telemetry.
# 1. Register the server at provision time; its collector key returns once.
curl -sS -X POST https://app.glassmkr.com/api/v1/servers \
-H "Authorization: Bearer $ACCT_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: provision-cust4211-web01" \
-d '{"hostname":"cust4211-web01.example.net","tags":["cust-4211"]}'
# 2. Install the agent on the host with that key. Or skip step 1 entirely:
# glassmkr-crucible enroll --account-key ... self-registers the host.
curl -sf https://glassmkr.com/install.sh | sudo GLASSMKR_API_KEY="$COLLECTOR_KEY" bash
# 3. Route alerts where the customer's team works, then prove delivery.
curl -sS -X POST https://app.glassmkr.com/api/v1/channels \
-H "Authorization: Bearer $ACCT_KEY" \
-H "Content-Type: application/json" \
-d '{"channel_type":"slack","name":"cust-4211","config":{"webhook_url":"https://hooks.slack.com/services/..."}}'
curl -sS -X POST "https://app.glassmkr.com/api/v1/channels/$CHANNEL_ID/test" \
-H "Authorization: Bearer $ACCT_KEY"
# 4. Read health and alerts back into your own panel or ticketing.
curl -sS "https://app.glassmkr.com/api/v1/servers/$SERVER_ID/alerts?status=active" \
-H "Authorization: Bearer $ACCT_KEY"Channels are created, updated, tested and deleted over the same API: six types, each filterable by alert priority. All of it works on every plan, including Free. Reference: channels API; guides: programmatic API and automated onboarding.
The failures it catches early
The rules a hosting fleet cares about most:
- Disk pre-failure: SMART reallocated and pending sectors trending, NVMe wear bands, NVMe Critical Warning; the signals that often precede a disk RMA by days or weeks
- Memory pre-failure: correctable ECC error rate trending up, MCE events; the classic leading indicator of a DIMM swap
- Power and cooling: PSU redundancy loss on multi-PSU chassis, fan failures, temperature thresholds, SEL critical entries from the BMC
- Arrays and filesystems: degraded RAID, ZFS pool state, capacity projection (“this volume fills in 9 days”), read-only remounts
- GPU fleets: XID events, GPU ECC, thermal throttling, PCIe link degradation, driver drift across boxes
- Network: interface CRC and frame errors (usually a failing cable or SFP), link-speed drops, bond degradation
- Security posture: SSH root login enabled, no firewall configured, pending kernel vulnerabilities; the state customers blame the provider for after an incident
The agent you can read
Anything a provider recommends installing inside a customer’s OS gets scrutiny, and it should. Crucible is MIT licensed and on npm; the source is at github.com/glassmkr/crucible and the installer is ~150 lines of bash you can read first. The agent runs as the glassmkr user, never root, communicates over HTTPS only, and ships metrics and alert state: no logs, no command output, no file contents.
Keys are scoped to match. The collector key on each box can only push that one server’s telemetry, and with enroll the account key is used for a single registration call and never written to disk. What we hold and how we run it is on the trust page.
Pricing reminder
$3 per node per month. First 3 nodes free. No card required to install.
- A customer with 10 servers: $21/month
- A 100-box fleet, one account: $291/month
- 200 boxes: $591/month
Per server, not per GPU and not per gigabyte of telemetry. Monitoring spend stays proportional to the fleet.
Prove it on your own fleet first.
Install on a few boxes you operate yourself and watch what fires before you put it in front of customers. The default rules need no configuration.
curl -fsSL https://app.glassmkr.com/install.sh | bashBuilding this into a hosting platform, or interested in a design-partner pilot? Email [email protected] directly. We’re a small team and we work with the people who run the infrastructure.