DocumentationGet Started in Minutes

Complete guides, API reference, and deployment instructions for SecuMon.

Quick Start (5 Minutes)

1. Install Agent on Your Server

# Download and install agent curl -fsSL https://get.secumon.secuaas.dev | bash # Or manual installation wget https://releases.secuaas.dev/secumon-agent/latest/secumon-agent-linux-amd64 sudo mv secumon-agent-linux-amd64 /usr/local/bin/secumon-agent sudo chmod +x /usr/local/bin/secumon-agent # Initialize agent (auto-registers with collector) sudo secumon-agent setup --collector=collector.secumon.secuaas.dev:9090 --token=YOUR_TOKEN # Start the service sudo systemctl enable secumon-agent sudo systemctl start secumon-agent # Verify it's running sudo systemctl status secumon-agent

2. View Metrics in Grafana

Navigate to your Grafana instance:

https://grafana.secumon.secuaas.dev

Dashboards are auto-provisioned. Your server appears within 60 seconds.

3. Configure Alerts

# Via API curl -X POST https://api.secumon.secuaas.dev/api/v1/alert-rules \ -H "Authorization: Bearer YOUR_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "name": "High CPU Usage", "condition": "cpu.usage_percent > 80", "duration": "5m", "severity": "warning", "channels": ["email", "slack"] }'

Deployment Guide

Step-by-step instructions for deploying SecuMon on Docker, Kubernetes, or bare metal.

  • Docker Compose (development)
  • Kubernetes with Helm charts
  • On-premise bare metal setup
  • Air-gapped deployment
View Deployment Guide →

API Reference

Complete REST API documentation with 44+ endpoints for metrics, agents, and alerts.

  • Authentication (JWT)
  • Metrics query endpoints
  • Agent management CRUD
  • WebSocket real-time streaming
View API Docs →

Alerting Configuration

Configure intelligent alerts with custom rules, thresholds, and multi-channel notifications.

  • Alert rule syntax
  • Email/Slack/Webhook setup
  • Escalation policies
  • Alert templates & macros

Example alert rule:

cpu.usage_percent > 80 FOR 5m

Agent Configuration

Customize agent behavior, metrics collection intervals, and probe mode settings.

  • Configuration file (YAML)
  • Metrics collection tuning
  • Probe mode for network tests
  • Custom labels & tags

Sample config location:

/etc/secumon/agent.yaml

Code Examples

JavaScript (Fetch API)

// Get latest metrics for an agent
async function getLatestMetrics(agentId) {
  const response = await fetch(
    `https://api.secumon.secuaas.dev/api/v1/metrics/latest/${agentId}?limit=100`,
    {
      headers: {
        'Authorization': 'Bearer YOUR_JWT_TOKEN'
      }
    }
  );
  return response.json();
}

// Real-time WebSocket streaming
const ws = new WebSocket('wss://api.secumon.secuaas.dev/ws/metrics/server-001');

ws.onmessage = (event) => {
  const metrics = JSON.parse(event.data);
  console.log('CPU Usage:', metrics.data['cpu.usage_percent'].value);
  updateDashboard(metrics);
};

ws.onerror = (error) => console.error('WebSocket error:', error);

Python (requests)

import requests
from datetime import datetime, timedelta

API_BASE = 'https://api.secumon.secuaas.dev'
TOKEN = 'YOUR_JWT_TOKEN'

headers = {'Authorization': f'Bearer {TOKEN}'}

# Get metrics for last hour
def get_last_hour_metrics(agent_id):
    end = datetime.utcnow().isoformat() + 'Z'
    start = (datetime.utcnow() - timedelta(hours=1)).isoformat() + 'Z'

    response = requests.get(
        f'{API_BASE}/api/v1/metrics/range/{agent_id}',
        params={'start': start, 'end': end, 'limit': 1000},
        headers=headers
    )
    return response.json()

# Create alert rule
def create_alert_rule(name, condition, severity='warning'):
    payload = {
        'name': name,
        'condition': condition,
        'duration': '5m',
        'severity': severity,
        'channels': ['email', 'slack']
    }
    response = requests.post(
        f'{API_BASE}/api/v1/alert-rules',
        json=payload,
        headers=headers
    )
    return response.json()

cURL (Shell)

# List all active agents
curl -H "Authorization: Bearer YOUR_TOKEN" \
  https://api.secumon.secuaas.dev/api/v1/agents

# Get disk metrics
curl -H "Authorization: Bearer YOUR_TOKEN" \
  "https://api.secumon.secuaas.dev/api/v1/metrics/disk/server-001?limit=10" \
  | jq '.metrics[] | {device, usage_percent}'

# Create alert rule
curl -X POST https://api.secumon.secuaas.dev/api/v1/alert-rules \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "High Memory Usage",
    "condition": "memory.usage_percent > 90",
    "duration": "10m",
    "severity": "critical",
    "channels": ["email", "webhook"]
  }'

Ready to deploy SecuMon?

Follow our guides to get started in minutes. Need help? Our team is standing by.