On-Premise Overview

Atatus offers an on-premise setup for organizations that require full control over their observability data.

This solution is ideal for businesses with strict compliance, data sovereignty, or security requirements that restrict sending telemetry data to the cloud.

Why Use On-Premise?

  • ๐Ÿ”’ Data Privacy & Security: Keep all monitoring data within your private network.
  • ๐Ÿข Compliance: Meet regulatory standards (e.g., GDPR, HIPAA, SOC 2).
  • ๐Ÿš€ Performance: Reduce latency by hosting the observability backend closer to your services.
  • โš™๏ธ Custom Control: Fully control scaling, backups, and integrations.

How to Get On-Premise

To get access to the on-premise version of Atatus:

  1. Contact Support โ€“ Email success@atatus.com or reach out via the dashboard.
  2. Get Installation Package โ€“ You'll receive a Docker-based deployment package.
  3. Install & Configure โ€“ Follow the installation guide provided.
  4. Replace Endpoint URLs in agents as shown below.

Agent Endpoint Configuration

To connect your services to the on-premise Atatus instance, you must update the Atatus agent configurations by replacing:

  • YOUR_ON_PREMISE_DOMAIN โ†’ your Atatus on-premise server URL
  • YOUR_APP_NAME โ†’ the name of your monitored app
  • YOUR_LICENSE_KEY โ†’ Youโ€™ll find your license key in the Atatus dashboard during onboarding.

Example:

  • https://atatus-observability.mycompany.com
  • payment-service
  • lic_apm_8deff58f1ca9a05b1ad30185

Infra Agent

File: /etc/atatus-infra-agent/atatus.yml

license_key: "YOUR_LICENSE_KEY"
notify_url: "YOUR_ON_PREMISE_DOMAIN/track/infra"
log_notify_url: "YOUR_ON_PREMISE_DOMAIN/track/logs"

Python Agent

File: settings.py

ATATUS = {
    'APP_NAME': "YOUR_APP_NAME",
    'LICENSE_KEY': "YOUR_LICENSE_KEY",
    'NOTIFY_HOST': "YOUR_ON_PREMISE_DOMAIN",
    'ANALYTICS_NOTIFY_HOST': "YOUR_ON_PREMISE_DOMAIN",
}

Node.js Agent

var atatus = require("atatus-nodejs");

atatus.start({
    licenseKey: "YOUR_LICENSE_KEY",
    appName: "YOUR_APP_NAME",
    notifyHost: "YOUR_ON_PREMISE_DOMAIN",
});

Ruby Agent

File: config/atatus.yml

license_key: "YOUR_LICENSE_KEY"
app_name: "YOUR_APP_NAME"
notify_host: "YOUR_ON_PREMISE_DOMAIN"
analytics_notify_host: "YOUR_ON_PREMISE_DOMAIN"

PHP Agent

1. Find the config path:

php -i | grep atatus.ini

2. Edit atatus.ini:

atatus.license_key = "YOUR_LICENSE_KEY"
atatus.app_name = "YOUR_APP_NAME"
atatus.collector.notify_host = "YOUR_ON_PREMISE_DOMAIN"

Java Agent

java -javaagent:./atatus-java-agent.jar \
  -Datatus.license_key="YOUR_LICENSE_KEY" \
  -Datatus.app_name="YOUR_APP_NAME" \
  -Datatus.notify_host="YOUR_ON_PREMISE_DOMAIN" \
  -jar your-app.jar

.NET Agent

Option 1: appsettings.json

"Atatus": {
    "AppName": "YOUR_APP_NAME",
    "LicenseKey": "YOUR_LICENSE_KEY",
    "NotifyUrls": "YOUR_ON_PREMISE_DOMAIN"
}

Option 2: Environment variables

export ATATUS_LICENSE_KEY="YOUR_LICENSE_KEY"
export ATATUS_APP_NAME="YOUR_APP_NAME"
export ATATUS_SERVER_URL="YOUR_ON_PREMISE_DOMAIN"

Go Agent

env ATATUS_LICENSE_KEY="YOUR_LICENSE_KEY" \
    ATATUS_APP_NAME="YOUR_APP_NAME" \
    go run main.go

Docker Monitoring

sudo docker run -d \
  -e ATATUS_LICENSE_KEY="YOUR_LICENSE_KEY" \
  -e ATATUS_NOTIFY_HOST="YOUR_ON_PREMISE_DOMAIN/track/infra" \
  -e ATATUS_LOG_NOTIFY_HOST="YOUR_ON_PREMISE_DOMAIN/track/logs" \
  --user=root \
  --volume="/var/lib/docker/containers:/var/lib/docker/containers:ro" \
  --volume="/var/run/docker.sock:/var/run/docker.sock:ro" \
  --volume="/sys/fs/cgroup:/hostfs/sys/fs/cgroup:ro" \
  --volume="/proc:/hostfs/proc:ro" \
  --volume="/:/hostfs:ro" \
  -it atatus/atatus-infra-agent:3.3.0 -- -c /etc/atatus-infra-agent/ -system.hostfs=/hostfs

Kubernetes Monitoring

File: atatus_values.yaml

atatus:
  license_key: "YOUR_LICENSE_KEY"
  notify_url: "YOUR_ON_PREMISE_DOMAIN/track/infra"
  log_notify_url: "YOUR_ON_PREMISE_DOMAIN/track/logs"
  logs_enabled: true
  cluster_name: "YOUR_CLUSTER_NAME"

Browser Agent

import * as atatus from 'atatus-js';

atatus.config('YOUR_LICENSE_KEY').install();
atatus.setAPIEndpoint('YOUR_ON_PREMISE_DOMAIN');

OpenTelemetry Collector

File: otelcol-config-extras.yml

exporters:
  otlphttp/alpha:
    endpoint: "YOUR_ON_PREMISE_DOMAIN"
    headers:
      api-key: "YOUR_API_KEY"
      compression: gzip

service:
  pipelines:
    traces:
      receivers: [otlp]
      processors: [batch]
      exporters: [otlphttp/alpha]
    metrics:
      receivers: [otlp]
      processors: [batch]
      exporters: [otlphttp/alpha]
    logs:
      receivers: [otlp]
      processors: [batch]
      exporters: [otlphttp/alpha]

Need Help?

If you're unsure how to set this up or need assistance with deployment, contact Atatus Support.