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.
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.yamlwith 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-crucibleStep 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 type | Prefix | Created where | Used by | Purpose |
|---|---|---|---|---|
| Server API key | col_ | Dashboard: "+ Add Server" | Crucible agent | Authenticates health data pushes from one specific server |
| Forge MCP token | forge_ | Settings: "Forge MCP Token" | bench-forge MCP server | Programmatic access to your account (list servers, query health, AI analysis). Pro plan only. |
Next steps
- Set up notification channels (Email, Telegram, Slack) with per-channel priority filtering.
- Review the 38 alert rules and understand what each one detects
- Explore the full configuration reference for thresholds, intervals, and optional features
- API reference for programmatic access