Monitoring
Healthcheck
The RetrieveHealthcheck API endpoint may be used to perform a basic healthcheck. This endpoint does not make any request to the database or to any services that the backend depends on, and does not verify authentication tokens. It only allows to check whether the backend can receive and respond to an API request.
Prometheus metrics
The arkindex gunicorn command used to start a production server for Arkindex listens for API requests on an additional port that is not meant to be exposed publicly. This port can be configured using the metrics_port setting.
Through this port, two additional endpoints are available that can output metrics in the Prometheus text format:
/metrics/views/-
HTTP request statistics gathered by the
django-prometheusproject. /metrics/-
Arkindex-specific metrics computed only when this URL gets requested.
Arkindex metrics
The following metrics are returned by the /metrics/ endpoint:
arkindex_instance-
An empty metric, only used to provide the common labels defined below.
arkindex_tasks-
The number of tasks that are in a Pending or Unscheduled state, grouped by farm. The farm and state are provided as labels.
arkindex_agent_ping-
POSIX timestamp representing the last time a Ponos agent has requested its next actions using the
RetrieveAgentActionsAPI endpoint. The farm and the agent’s hostname are provided as labels.
All metrics include the following labels:
hostname-
the instance’s hostname as set in the
public_hostnamesetting. env-
the instance’s environment as set in the
arkindex_envsetting.
Sentry
The Arkindex backend and frontend, as well as Ponos agents in Enterprise Edition, can report errors to Sentry. This can help in troubleshooting deployment issues as well as identifying bugs in Arkindex itself.
The Sentry settings for both the backend and frontend are managed in the sentry section of the backend configuration.
Ponos agents are configured using their own sentry section.