Prometheus exporter for kobo hub.
Overview
The kobo framework provides, among other things, a Django-based "hub" web service which is used to manage tasks and workers.
django-kobo-exporter is a Django app which may be installed to a kobo hub in order to add a prometheus-compatible metrics endpoint exposing kobo metrics.
Usage
- Ensure
django-kobo-exporteris installed, e.g.
pip install django-kobo-exporter
- In your app's settings, add
kobo_exportertoINSTALLED_APPS, e.g.
INSTALLED_APPS = [
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'kobo.django.auth',
'django.contrib.messages',
'django.contrib.admin',
'django.contrib.staticfiles',
'kobo.django.xmlrpc',
'kobo.hub',
# added here
'kobo_exporter',
# your app's own stuff below...
...,
]
- Mount
kobo_exporter.urlssomewhere in your project.
/kobo_exporter/ is recommended; for example, in your root urlpatterns:
from django.urls import include, path
urlpatterns = [
# ... snip ...
path('kobo_exporter/', include('kobo_exporter.urls')),
# ... snip ...
]
- Access metrics at
<your_service>/kobo_exporter/metrics.
The metrics endpoint will provide basic information on workers, as in example:
# HELP kobo_worker_enabled 1 if worker is enabled
# TYPE kobo_worker_enabled gauge
kobo_worker_enabled{worker="localhost"} 1.0
kobo_worker_enabled{worker="pub-dev-pubd7"} 1.0
# HELP kobo_worker_ready 1 if worker is ready
# TYPE kobo_worker_ready gauge
kobo_worker_ready{worker="localhost"} 1.0
kobo_worker_ready{worker="pub-dev-pubd7"} 1.0
# HELP kobo_worker_load Current load of worker (sum of task weights)
# TYPE kobo_worker_load gauge
kobo_worker_load{worker="localhost"} 0.0
kobo_worker_load{worker="pub-dev-pubd7"} 0.0
# HELP kobo_worker_max_load Maximum permitted load of worker
# TYPE kobo_worker_max_load gauge
kobo_worker_max_load{worker="localhost"} 60.0
kobo_worker_max_load{worker="pub-dev-pubd7"} 60.0
# HELP kobo_worker_open_tasks Current number of OPEN tasks for worker
# TYPE kobo_worker_open_tasks gauge
kobo_worker_open_tasks{worker="localhost"} 0.0
kobo_worker_open_tasks{worker="pub-dev-pubd7"} 0.0
# HELP kobo_worker_last_seen_seconds Time of worker's last communication with hub
# TYPE kobo_worker_last_seen_seconds gauge
kobo_worker_last_seen_seconds{worker="localhost"} 1.625644554e+09
kobo_worker_last_seen_seconds{worker="pub-dev-pubd7"} 0.0
License
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
Release files for django-kobo-exporter 1.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| django-kobo-exporter-1.1.0.tar.gz | 16.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| django_kobo_exporter-1.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 33.8 kB
Release files / django-kobo-exporter-1.1.0.tar.gz
| Download URL | django-kobo-exporter-1.1.0.tar.gz |
|---|---|
| Size | 16.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
46093c82fc360383355f5dd440eefae6dc9e554560df9ce99777309973970267
|
|
BLAKE2b-256 checksum How to use checksums |
841525926e750861c3acf7ea0ff4025a2a3947bfddc0c0d5bd8abe3adb95747f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.10.6
|
Release files / django_kobo_exporter-1.1.0-py3-none-any.whl
| Download URL | django_kobo_exporter-1.1.0-py3-none-any.whl |
|---|---|
| Size | 17.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
54297aab46ebd03e4d7d95ca09f8715dff11415e971897b1e8fff42bf8f64eff
|
|
BLAKE2b-256 checksum How to use checksums |
d7d1c542be7a56fc5c01f7352ed7cd170ce8dd1c05a25ffff13eee904f34ee36
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.10.6
|