Getting Started

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

Overview

There are two parts:

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

You register a server in Forge (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 forge.glassmkr.com

Step 1: Create a Forge account

Go to forge.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).

Forge generates a server API key that starts with col_. This key is shown once. Copy it.

What is this key? The server API key (col_xxx) authenticates data pushes from this specific server to Forge. Each server gets its own key. This is different from the Forge MCP token (forge_xxx) in Settings, which is for programmatic API access from 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 API key pre-filled:

curl -sf https://forge.glassmkr.com/install | sudo FORGE_API_KEY=col_your_key_here bash

The FORGE_API_KEY is the server API key from step 2. The installer reads it automatically.

The installer:

  • Installs Node.js 22 if not present
  • Installs smartmontools (for SMART disk monitoring)
  • Installs ipmitool (for IPMI hardware monitoring, if available)
  • Creates /etc/glassmkr/collector.yaml with your config
  • Creates and starts a systemd service (glassmkr-crucible)

Prefer not to pipe to bash? Manual setup:

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

# Create config directory
sudo mkdir -p /etc/glassmkr /var/lib/glassmkr

# Create config file
sudo tee /etc/glassmkr/collector.yaml > /dev/null <<EOF
server_name: "web-01"
collection:
  interval_seconds: 300
  ipmi: true
  smart: true
forge:
  enabled: true
  url: "https://forge.glassmkr.com"
  api_key: "col_your_key_here"
EOF

# Lock down config (contains API key)
sudo chmod 600 /etc/glassmkr/collector.yaml

# Start the service
sudo systemctl enable glassmkr-crucible
sudo systemctl start glassmkr-crucible

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] Forge: https://forge.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
Forge: enabled

[forge] Push successful. Active alerts: 0

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

Two kinds of keys

Forge uses two different types of authentication:

Key typePrefixCreated whereUsed byPurpose
Server API keycol_Dashboard: "+ Add Server"Crucible agentAuthenticates health data pushes from one specific server
Forge MCP tokenforge_Settings: "Forge MCP Token"bench-forge MCP serverProgrammatic access to your account (list servers, query health, AI analysis). Pro plan only.

Next steps