# README
doop-api
Takes in audit reports from multiple instances of doop-analyzer and presents them in a single API.
This is the successor to doop-central (which did the same with doop-agent reports).
The API endpoints of doop-api start in /v2/
to distinguish it from its predecessor.
Usage
The central itself is completely stateless, but some configuration must be provided in environment variables:
Variable | Default | Explanation |
---|---|---|
DOOP_API_LISTEN_ADDRESS | :8080 | Listen address for the HTTP server where the API is exposed. |
DOOP_API_SWIFT_CONTAINER | (required) | Name of the Swift container where reports were uploaded to. |
DOOP_API_OBJECT_IDENTITY_LABELS | (empty) | Whitespace-separated list of keys whose values will be carried over from object_identity into the label set of the violation count metrics (see below). |
OS_... | (required) | A full set of OpenStack auth environment variables, with permissions for reading from the Swift container. See documentation for openstackclient for details. |
API endpoints
GET /v2/violations
Returns the full report with all violations, grouped as much as possible. The report can be filtered with the following query arguments:
Query variable | Explanation |
---|---|
cluster_identity.$KEY | Only show violations in clusters where cluster_identity[$KEY] is equal to the provided value. |
object_identity.$KEY | Only show violations for objects where object_identity[$KEY] is equal to the provided value. |
template_kind | Only show violations of constraints whose template kind is equal to the provided value. |
constraint_name | Only show violations of constraints whose name is equal to the provided value. |
severity | Only show violations of constraints whose severity label is equal to the provided value. |
Each query variable can be given multiple times, in which case violations need to match any of the provided values.
GET /metrics
Provides Prometheus metrics.
Metric | Explanation |
---|---|
doop_raw_violations | Number of raw violations, grouped by constraint, source cluster and selected object identity labels. |
doop_grouped_violations | Number of violation groups, grouped by constraint, source cluster and selected object identity labels. |
doop_oldest_audit_age_seconds | Data age for each source cluster. |
"Selected object identity labels" refers to those specified in DOOP_API_OBJECT_IDENTITY_LABELS
(see above).