SensobitDocs

Namespaces

Tenant isolation for metrics, logs, traces, dashboards, and alerts.

A namespace is the isolation boundary for all Sensobit data. Queries, dashboards, alerts, APM, and AI features only see the active namespace.

How you get one

Registration creates a personal namespace for the new user. The session JWT includes namespace_id and namespace_name. The console switcher uses that default unless you belong to additional team namespaces.

How ingest picks a namespace

Resolution order for HTTP ingest:

  1. JSON field namespace on the payload
  2. Header X-Sensobit-Namespace
  3. Query parameter ?namespace=
  4. Namespace bound to the API key
  5. default only if nothing else is set — do not rely on this in production
curl -X POST https://ingest.sensobit.com/api/v1/ingest/batch \
  -H "Content-Type: application/json" \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "X-Sensobit-Namespace: production" \
  -d '{
    "namespace": "production",
    "metrics": [
      {
        "name": "system.cpu.usage_percent",
        "value": 17.4,
        "type": "gauge",
        "labels": { "host": "web-01" }
      }
    ]
  }'

The agent also reads agent.namespace in /etc/sensobit/config.yaml or SENSOBIT_NAMESPACE. An authenticated API key overrides an empty config value.

Console behavior

Every console fetch includes the active namespace. Switching namespaces remounts dashboards, infrastructure, alerts, APM, and AI so one team cannot see another team's hosts.

Team invitations grant a role (admin, member, viewer) inside a namespace. Viewers can read telemetry; members can edit dashboards and alerts; admins can manage keys, billing, and membership. See Team.

Naming

Use stable names such as production, staging, or customer-acme. Do not recycle a name after deleting a namespace if you still have agents pointed at it.

On this page