-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
Prometheus Integration
Louis Lam edited this page Jan 17, 2024
·
6 revisions
If you already use Prometheus.io or a platform that supports Prometheus exporter format, you can get the metrics about each monitoring target from http://<your.installation>:<your_port>/metrics
.
Labels to filter by include:
Label Name | Description |
---|---|
monitor_name | The "Friendly Name" of the monitor |
monitor_type | The type (HTTP, keyword, TCP) of monitoring check |
monitor_url | The URL to be monitored (HTTP, keyword) |
monitor_hostname | The Hostname to be monitored (TCP) |
monitor_port | The port to be monitored (TCP) |
Put the following into your Prometheus config:
- job_name: 'uptime'
scrape_interval: 30s
scheme: http
metrics_path: '/metrics'
static_configs:
- targets: ['uptime-kuma.url']
basic_auth: # Only needed if authentication is enabled (default)
username: <your user>
password: <your password>
You should see the monitor_response_time
and monitor_status
metrics showing up in Prometheus
There is also a Grafana Dashboard available to import into your Grafana installation to get the metrics integrated with your other monitoring tools.
Assuming we have HTTP monitors in place for bbc.co.uk and google.com:
# Show all response rates grouped by site
sum(monitor_response_time) by (monitor_name)
# Show only the response time for BBC.co.uk
sum(monitor_response_time{monitor_url="https://www.bbc.co.uk/"})
# Show the current status of Google.com
monitor_status{monitor_name="Google"}