Complete guides, API reference, and deployment instructions for SecuMon.
# 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-agentNavigate to your Grafana instance:
https://grafana.secumon.secuaas.devDashboards are auto-provisioned. Your server appears within 60 seconds.
# 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"]
}'Step-by-step instructions for deploying SecuMon on Docker, Kubernetes, or bare metal.
Complete REST API documentation with 44+ endpoints for metrics, agents, and alerts.
Configure intelligent alerts with custom rules, thresholds, and multi-channel notifications.
Example alert rule:
cpu.usage_percent > 80 FOR 5mCustomize agent behavior, metrics collection intervals, and probe mode settings.
Sample config location:
/etc/secumon/agent.yaml// 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);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()# 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"]
}'Follow our guides to get started in minutes. Need help? Our team is standing by.