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 more

Alerts

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 more
NEW

Log Monitoring

Capture and track application errors with full stack traces, breadcrumbs, and user context. Automatically group similar errors and get alerted on spikes.

Learn more

Integrations

Connect a11ops with your existing monitoring and observability tools. We support webhooks, native integrations, and a Terraform provider.

Learn more

SDKs & Libraries

Node.js

npm install @a11ops/sdk

Python

Coming Soon

pip install a11ops

Go

Coming Soon

go get github.com/a11ops/go-sdk

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()
    }
  });
}

Need Help?

Our support team is here to help you succeed.