mirror of https://github.com/authelia/authelia.git
118 lines
3.8 KiB
Markdown
118 lines
3.8 KiB
Markdown
---
|
|
title: "Telemetry"
|
|
description: "A reference guide on the telemetry collection"
|
|
summary: "This section contains reference documentation for Authelia's telemetry systems."
|
|
date: 2022-06-15T17:51:47+10:00
|
|
draft: false
|
|
images: []
|
|
weight: 220
|
|
toc: true
|
|
seo:
|
|
title: "" # custom title (optional)
|
|
description: "" # custom description (recommended)
|
|
canonical: "" # custom canonical URL (optional)
|
|
noindex: false # false (default) or true
|
|
---
|
|
|
|
No telemetry data is collected by any *Authelia* binaries, tooling, etc by default and all telemetry data is intended
|
|
to be used by administrators of their individual *Authelia* installs.
|
|
|
|
## Metrics
|
|
|
|
### Prometheus
|
|
|
|
*Authelia* supports exporting [Prometheus] metrics. These metrics are served on a separate port at the `/metrics` path
|
|
when configured. If metrics are enabled the metrics listener listens on `:9959` as per the officially
|
|
[registered port] unless configured otherwise.
|
|
|
|
#### Example Prometheus Job
|
|
|
|
```yaml
|
|
# Authelia
|
|
- job_name: 'authelia'
|
|
scrape_interval: '15s'
|
|
scheme: 'http'
|
|
static_configs:
|
|
- targets: ['{{< sitevar name="host" nojs="authelia" >}}:9959']
|
|
```
|
|
|
|
*Notes: Replace '{{< sitevar name="host" nojs="authelia" >}}' with the URL or IP of your Authelia container.*
|
|
|
|
|
|
#### Recorded Metrics
|
|
|
|
##### Vectored Counters
|
|
|
|
| Name | Vectors | Description |
|
|
|:-------------------:|:---------------------------:|:--------------------:|
|
|
| request | `code`, `method` | All Requests |
|
|
| authz | `code` | Authz Requests |
|
|
| authn | `success`, `banned` | Authn Requests (1FA) |
|
|
| authn_second_factor | `success`, `banned`, `type` | Authn Requests (2FA) |
|
|
|
|
##### Vectored Histograms
|
|
|
|
| Name | Vectors | Buckets |
|
|
|:-------------------------------:|:------------------:|:-------------------------------------------------------------------------------------------------------------:|
|
|
| authn_duration | `success` | .0005, .00075, .001, .005, .01, .025, .05, .075, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.8, 0.9, 1, 5, 10, 15, 30, 60 |
|
|
| request_duration | `code` | .005, .01, .025, .05, .1, .25, .5, 1, 2.5, 5, 10, 15, 20, 30, 40, 50, 60 |
|
|
| request_duration_openid_connect | `endpoint`, `code` | .005, .01, .025, .05, .1, .25, .5, 1, 2.5, 5, 10, 15, 20, 30, 40, 50, 60 |
|
|
|
|
#### Vector Definitions
|
|
|
|
##### code
|
|
|
|
The HTTP response status code.
|
|
|
|
##### method
|
|
|
|
The HTTP request method.
|
|
|
|
##### success
|
|
|
|
If the authentication was successful (`true`) or not (`false`).
|
|
|
|
##### banned
|
|
|
|
If the authentication was considered banned (`true`) or not (`false`).
|
|
|
|
##### type
|
|
|
|
The authentication type `webauthn`, `totp`, or `duo`.
|
|
|
|
##### endpoint
|
|
|
|
The endpoint name.
|
|
|
|
OpenID Connect 1.0 Endpoint Names:
|
|
|
|
- authorization
|
|
- pushed_authorization_request
|
|
- token
|
|
- userinfo
|
|
- revocation
|
|
- introspection
|
|
- openid_configuration
|
|
- oauth_configuration
|
|
- jwks
|
|
|
|
### Grafana
|
|
|
|
Metrics collected by [Prometheus] can be displayed and analyzed in [Grafana] by creating a new dashboard or by
|
|
importing an existing one.
|
|
|
|
#### Community Dashboard
|
|
|
|
*Authelia* provides a community-maintained [Grafana] dashboard, which is intended to serve as an example to explore
|
|
the available metrics.
|
|
|
|
##### Installation
|
|
|
|
To import the dashboard into [Grafana], either download the JSON file
|
|
[here](https://github.com/authelia/authelia/blob/master/examples/grafana-dashboards/simple.json) or copy its contents.
|
|
|
|
[Prometheus]: https://prometheus.io/
|
|
[Grafana]: https://grafana.com/
|
|
[registered port]: https://github.com/prometheus/prometheus/wiki/Default-port-allocations
|
|
|