Core Concepts
Workspaces
Workspaces are isolated environments for organizing your alerts and team members. Each workspace has its own API keys, integrations, and alert routing rules.
Learn moreAlerts
Alerts are the core of a11ops. They represent critical events that need immediate attention. Each alert can have different priority levels, custom data, and routing rules.
Learn moreLog Monitoring
Capture and track application errors with full stack traces, breadcrumbs, and user context. Automatically group similar errors and get alerted on spikes.
Learn moreIntegrations
Connect a11ops with your existing monitoring and observability tools. We support webhooks, native integrations, and a Terraform provider.
Learn moreSDKs & Libraries
Node.js
npm install @a11ops/sdkPython
Coming Soon
pip install a11opsGo
Coming Soon
go get github.com/a11ops/go-sdkIntegration Guides
Prometheus AlertManager
Route alerts from Prometheus to a11ops with our native webhook receiver.
Grafana
Use our Grafana plugin for seamless alert routing and visualization.
Datadog
Forward Datadog monitors to a11ops using webhook notifications.
Terraform
Manage your a11ops resources as code with our Terraform provider.
Code Examples
Quick Start - 2 Lines of Code
// Install the SDK
npm install @a11ops/sdk
// That's it! Send alerts instantly
import { a11ops } from '@a11ops/sdk';
await a11ops.alert({
title: "Database CPU at 95%",
priority: "critical"
});Severity Helpers
// Use convenient severity methods
await a11ops.critical("Payment system down!");
await a11ops.error("Failed to process order", "Order ID: 12345");
await a11ops.warning("High memory usage", "Server using 85% RAM");
await a11ops.info("Deployment completed", "Version 2.0.1 live");Detailed Alert with Metadata
// Send detailed alerts with custom metadata
await a11ops.alert({
title: "Database Connection Lost",
message: "Primary database unreachable",
priority: "critical",
metadata: {
server: "db-primary-01",
region: "us-east-1",
connectionPool: 0,
lastError: "Connection timeout",
timestamp: new Date().toISOString()
}
});Webhook Integration
// Configure your monitoring tool to send webhooks to:
POST https://api.a11ops.com/v1/webhooks/YOUR_INTEGRATION_ID
// Example payload
{
"alert": "High Memory Usage",
"severity": "warning",
"description": "Memory usage exceeded 80%",
"source": "prometheus",
"labels": {
"instance": "web-01",
"job": "node_exporter"
}
}Error Monitoring Integration
// Automatically alert on uncaught exceptions
process.on('uncaughtException', async (error) => {
await a11ops.critical({
title: `Uncaught Exception: ${error.message}`,
message: error.stack
});
process.exit(1);
});
// Express.js error middleware
app.use(async (err, req, res, next) => {
await a11ops.error({
title: "API Error",
message: `${req.method} ${req.path}: ${err.message}`,
metadata: {
statusCode: err.status || 500,
userId: req.user?.id,
requestId: req.id
}
});
res.status(500).json({ error: 'Internal Server Error' });
});System Monitoring
// Monitor system resources
import os from 'os';
const cpuUsage = os.loadavg()[0] * 100 / os.cpus().length;
const memUsage = (1 - os.freemem() / os.totalmem()) * 100;
if (cpuUsage > 80) {
await a11ops.warning({
title: "High CPU Usage",
message: `CPU usage at ${cpuUsage.toFixed(1)}%`,
metadata: {
cores: os.cpus().length,
loadAverage: os.loadavg(),
hostname: os.hostname()
}
});
}