Connectors
Rounds reads metrics, logs, and change events from your existing infrastructure, and talks to ops systems (Kubernetes today, more planned) through connectors. Every dashboard panel, alert rule, and investigation query talks to a configured connector — there's no second copy of the data.
Connectors can be added through the setup wizard, the Settings page, the REST API, or by chatting with the agent (e.g. "connect my prod Prometheus at http://..."). The agent uses the AI-first config tools to validate the URL, test connectivity, and save under your RBAC.
Supported backends
Metrics
| Backend | Compatibility | Notes |
|---|---|---|
| Prometheus | Native | PromQL via /api/v1/query and /api/v1/query_range |
| VictoriaMetrics | Native | Use MetricsQL extensions where supported |
| Mimir | Via Prometheus protocol | Set the tenant ID via X-Scope-OrgID header in connector config |
| Thanos | Via Prometheus protocol | Querier endpoint works as-is |
| Cortex | Via Prometheus protocol | Same as Mimir |
Any backend exposing the Prometheus HTTP API works.
Logs
| Backend | Compatibility | Notes |
|---|---|---|
| Loki | Native | LogQL via /loki/api/v1/query and /query_range |
Change events
| Source | Status | Notes |
|---|---|---|
| Manual entry | Available | UI for recording deploys, config flips, infra changes |
| GitHub releases | Planned | Auto-import from release events |
| ArgoCD / Flux | Planned | Watch for sync events |
| CI/CD systems | Planned | Build / deploy webhooks |
Ops connectors
Ops connectors let Rounds read state and (with approval) act on the systems running your workloads.
| Connector | Status | Used for |
|---|---|---|
| Kubernetes (kubectl, allowlisted) | Available | Investigation reads + plan execution. See Auto-remediation. |
| GitHub PRs | Planned | Open remediations as PRs instead of direct kubectl writes |
| Jira / PagerDuty / Opsgenie | Planned | Incident sync + on-call routing |
| Database read connectors | Planned | Slow-query logs, schema state |
| Distributed tracing | Planned | Trace-aware investigation |
How to use it
Add a connector
UI: Admin → Connectors → + New connector → pick the type → fill in URL + auth.
Or via API:
curl -X POST https://your-rounds-host/api/connectors \
-H "Authorization: Bearer openobs_sa_..." \
-H "Content-Type: application/json" \
-d '{
"name": "prod-prometheus",
"type": "prometheus",
"url": "http://prometheus.monitoring.svc:9090",
"access": "proxy",
"isDefault": true
}'Test connectivity
After adding, click Save & test in the UI. Rounds hits GET /api/v1/labels (Prometheus) or GET /loki/api/v1/labels (Loki) and shows the response.
Use it in chat
Once a connector is configured, the agent automatically discovers it via the connectors_list tool. No prompt change needed:
Show me memory usage across all hosts
The agent picks the appropriate metrics connector and runs queries.
Multiple connectors
You can have many. The agent will:
- Filter by
signalType(metrics/logs/changes) when relevant - Pick the default connector for each signal type unless you specify ("query the staging Prometheus instead")
- Suggest specifying when ambiguous
Connector permissions
By default, all org members can query all connectors (their org role determines write access). For sensitive sources:
UI: Admin → Connectors → click connector → Permissions tab → Add → pick user/team/role → level (View / Edit / Admin) → Save.
View = connectors:query (read data). Edit = modify config. Admin = manage permissions on this connector.
Examples
Connect a dev Prometheus + a prod Mimir
# Dev — local prometheus
curl -X POST .../api/connectors -d '{
"name": "dev-prometheus",
"type": "prometheus",
"url": "http://localhost:9090"
}'
# Prod — Mimir with tenant
curl -X POST .../api/connectors -d '{
"name": "prod-mimir",
"type": "prometheus",
"url": "https://mimir.prod.example.com/prometheus",
"jsonData": { "httpHeaderName1": "X-Scope-OrgID" },
"secureJsonData": { "httpHeaderValue1": "tenant-foo" }
}'Connect Loki for log search
curl -X POST .../api/connectors -d '{
"name": "logs",
"type": "loki",
"url": "http://loki.monitoring.svc:3100"
}'After this, the agent picks it up and you can ask: "Search logs for OOM kills in the last hour".
Limits
- Auth methods supported: bearer token, basic auth, custom headers, mTLS (via cert + key in
secureJsonData). - The agent caps result-set size at 20 series per metric query to keep the conversation snappy. Override per-call if needed.
- No write-back to connectors — Rounds reads only. Recording rules and alerting rules live in Rounds's own database.
- Connector configs are stored encrypted (
SECRET_KEYfor credentials). Connector definitions are org-scoped — separate orgs cannot see each other's connections.
Related
- Configuration — server environment variables
- Permissions — per-connector ACLs
- Dashboards — uses the configured connectors