Getting Started

This guide walks you through monitoring your first server with Dashboard and Crucible. The whole process takes about five minutes.

Overview

There are two parts:

  • Dashboard is the dashboard. It stores your data, evaluates alerts, and shows you server health at app.glassmkr.com.
  • Crucible is the agent. It runs on your server, collects health data, and pushes it to Dashboard.

You register a server in Dashboard (which gives you an API key), then install Crucible on that server with the key. That's it.

Prerequisites

  • A Linux server (Ubuntu, Debian, RHEL, Rocky, Alma, Arch, or Alpine)
  • Root or sudo access
  • Outbound HTTPS (port 443) to app.glassmkr.com

Step 1: Create a Dashboard account

Go to app.glassmkr.com and sign up with email, Google, or GitHub. Free accounts can monitor up to 3 servers with 7-day retention.

Step 2: Register a server

After logging in, click "+ Add Server" on the dashboard. Enter a name for your server (e.g., web-01 or db-prod).

Dashboard generates a collector key that starts with gmk_cru_live_. This key is shown once. Copy it. (Servers created before Crucible 0.9.0 may have a legacy col_xxx key; both formats work.)

What is this key? The collector key (gmk_cru_live_xxx) authenticates data pushes from this specific server to Dashboard. Each server gets its own key, scoped to that server's telemetry only. This is different from the account API key (gmk_acct_live_xxx) in Settings, which is for programmatic API access from automation (Ansible, Terraform, AI agents).

Step 3: Install Crucible

SSH into your server and run the install command. The dashboard shows the exact command with your server name and collector key pre-filled:

curl -sf https://glassmkr.com/install.sh | sudo bash -s -- --api-key gmk_cru_live_your_key_here

The bootstrap installer (Crucible 0.9.1+) installs the agent via npm, then runs the glassmkr-crucible init wizard. init validates your collector key against Dashboard, writes /etc/glassmkr/collector.yaml (mode 0600), writes the systemd unit with the auto-detected binary path, and enables the glassmkr-crucible service.

The installer:

  • Installs Node.js 22 if not present
  • Installs smartmontools (for SMART disk monitoring)
  • Installs ipmitool (for IPMI hardware monitoring, if available)
  • Runs glassmkr-crucible init to write the config and systemd unit
  • Starts the glassmkr-crucible service

Reading the key from a password manager? Pipe it through stdin:

op read "op://Private/Dashboard/key" | sudo glassmkr-crucible init --api-key -

The --dashboard-key flag is preserved as a backwards-compatible alias for --api-key, so existing Ansible / Terraform automation keeps working without changes.

Prefer not to pipe to bash? Install the npm package and run init directly:

# Install Crucible via npm
sudo npm install -g @glassmkr/crucible

# Run the first-run setup wizard
sudo glassmkr-crucible init --api-key gmk_cru_live_your_key_here

Run glassmkr-crucible init --help to see the full flag list (custom server name, alternate Dashboard URL, etc.).

Step 4: Verify

Check that Crucible is running:

sudo systemctl status glassmkr-crucible

You should see active (running). Check the logs for the first collection:

sudo journalctl -u glassmkr-crucible --since "5 min ago" --no-pager

Expected output (the first collection may take a few seconds longer than subsequent ones):

[collector] Starting. Server: web-01. Interval: 300s
[collector] IPMI: enabled, SMART: enabled
[collector] Dashboard: https://app.glassmkr.com
[collector] Collecting...
[collector] Collected in 1013ms. Alerts: 0 active, 0 new, 0 resolved

=== First collection complete ===
Server: web-01 (Ubuntu 24.04 LTS)
CPU:    5.3% (load: 0.14)
RAM:    12.1% (1940 / 16036 MB)
Disk:   23% (/)
SMART:  2 drive(s) checked
Network: eth0, eth1
IPMI:   available
Active alerts: 0
Dashboard: enabled

[dashboard] Push successful. Active alerts: 0

Within 5 minutes (one collection interval), the server will appear on your Dashboard dashboard with live data. Dashboard evaluates all 38 alert rules on each push.

Two kinds of keys

Dashboard uses two different types of authentication:

Key typePrefixCreated whereUsed byPurpose
Collector keygmk_cru_live_ (legacy: col_)Dashboard: "+ Add Server"Crucible agentAuthenticates health data pushes from one specific server. Scoped to that server only; cannot list other servers or read account settings.
Dashboard MCP tokengmk_dsh_live_Settings: "Dashboard MCP Token"bench-glassmkr MCP serverProgrammatic access to your account (list servers, query health, AI analysis). Pro plan only.

Next steps