You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Maxim Likhachev
c7f31576a4
|
2 years ago | |
---|---|---|
dashboard | 2 years ago | |
COPYING | 2 years ago | |
Containerfile | 2 years ago | |
Makefile | 2 years ago | |
README.md | 2 years ago | |
frisbi_exporter.rkt | 2 years ago |
README.md
Frisbi24.ru Exporter
NB: Актуальная версия экспортера переписана на Janet.
Описание
Простой экспортер метрик в формате Prometheus, собирающий информацию из API frisbi24.ru. Метрики включают в себя показания счётчиков и задолженности по разным категориям.
Пример панели Grafana можно найти в файле dashboard/frisbi_exporter.json.
Лицензия
GNU General Public License Version 3.
Использование
Сборка
Скрипт можно запустить при помощи Racket:
$ racket ./frisbi_exporter.rkt
либо собрать в исполнимый файл:
$ make build
Также представлен Containerfile, предназначенный для сборки образа контейнера:
$ buildah bud
Запуск
Для запуска экспортера необходимо установить следующие параметры:
FRISBI_ACCOUNT_ID
-- номер лицевого счёта,FRISBI_SERVICE_ID
-- номер службы ЖКХ.
Оба значения можно найти в личном кабинете frisbi24.ru.
Также можно настроить хост и порт сервиса:
FRISBI_EXPORTER_HOST
-- по умолчанию 127.0.0.1,FRISBI_EXPORTER_PORT
-- по умолчанию 8000.
Таким образом, команда запуска может выглядеть так:
$ FRISBI_EXPORTER_HOST=0.0.0.0 \
FRISBI_EXPORTER_PORT=9000 \
FRISBI_ACCOUNT_ID=xxxxxxxxxx \
FRISBI_SERVICE_ID=yyyy \
\
racket ./frisbi_exporter.rkt
Получение метрик
Метрики доступны по адресу host:port/metrics
:
$ curl localhost:9000/metrics
# HELP frisbi_debt Задолженности
# TYPE frisbi_debt gauge
frisbi_debt{id="1", account="xxxxxxxxxx", name="Капремонт", address="Екатеринбург, ..."} 100.0
frisbi_debt{id="2", account="xxxxxxxxxx", name="Обращение с ТКО", address="Екатеринбург, ..."} 200.0
frisbi_debt{id="3", account="xxxxxxxxxx", name="ЖКУ", address="Екатеринбург, ..."} 300.0
# HELP frisbi_meters_value Показания счётчиков
# TYPE frisbi_meters_value gauge
frisbi_meters_value{id="2", account="xxxxxxxxxx", name="ХВС-Осн.", address="Екатеринбург, ..."} 1
frisbi_meters_value{id="3", account="xxxxxxxxxx", name="Эл.эн.-Осн.", address="Екатеринбург, ..."} 1000
frisbi_meters_value{id="1", account="xxxxxxxxxx", name="ГВС-Осн.", address="Екатеринбург, ..."} 2
# HELP frisbi_meters_state Активность счётчиков
# TYPE frisbi_meters_state gauge
frisbi_meters_state{id="2", account="xxxxxxxxxx", name="ХВС-Осн.", address="Екатеринбург, ..."} 1
frisbi_meters_state{id="3", account="xxxxxxxxxx", name="Эл.эн.-Осн.", address="Екатеринбург, ..."} 1
frisbi_meters_state{id="1", account="xxxxxxxxxx", name="ГВС-Осн.", address="Екатеринбург, ..."} 1
# HELP frisbi_meters_expiry_days Срок действия счётчиков, дни
# TYPE frisbi_meters_expiry_days gauge
frisbi_meters_expiry_days{id="2", account="xxxxxxxxxx", name="ХВС-Осн.", address="Екатеринбург, ..."} 184
frisbi_meters_expiry_days{id="3", account="xxxxxxxxxx", name="Эл.эн.-Осн.", address="Екатеринбург, ..."} 371
frisbi_meters_expiry_days{id="1", account="xxxxxxxxxx", name="ГВС-Осн.", address="Екатеринбург, ..."} 184
# HELP frisbi_meters_expiry_date Срок действия счётчиков, дата
# TYPE frisbi_meters_expiry_date gauge
frisbi_meters_expiry_date{id="2", account="xxxxxxxxxx", name="ХВС-Осн.", address="Екатеринбург, ..."} 1017251200
frisbi_meters_expiry_date{id="3", account="xxxxxxxxxx", name="Эл.эн.-Осн.", address="Екатеринбург, ..."} 1078560000
frisbi_meters_expiry_date{id="1", account="xxxxxxxxxx", name="ГВС-Осн.", address="Екатеринбург, ..."} 1017251200