billing:prometheus

Prometheus

Настройки находятся по пути: Настройки ⇒ Системные опции ⇒ Внешние интеграции, раздел "prometheus"


Для активации необходимо "Разрешить" использование функционала поставив галочку с одноименным названием.
Далее необходимо указать IP адрес либо сеть с которой будут приходить запросы.
И указать ключ который будет использоваться при запросах

Информация о абонентах

Для получения информации о трафике всех абонентов, необходимо выполнить запрос

https://admin.ispnet.demo/api/index/prometheus/key/1234567890/request/user

В результате которого будут данные в виде:

# HELP mikbillUserIN The total number of Bytes recived by client
# TYPE mikbillUserIN gauge
# HELP mikbillUserOUT The total number of Bytes uploaded by client
# TYPE mikbillUserOUT gauge
# HELP mikbillSessionTime Client session time in seconds
# TYPE mikbillSessionTime counter
mikbillUserIN {uid="7"} 6068174
mikbillUserOUT {uid="7"} 7102296
mikbillSessionTime {uid="7"} 427
mikbillUserIN {uid="11"} 2378560
mikbillUserOUT {uid="11"} 9643676
mikbillSessionTime {uid="11"} 438
mikbillUserIN {uid="121"} 7821647
mikbillUserOUT {uid="121"} 9489318
mikbillSessionTime {uid="121"} 522
mikbillUserIN {uid="2422"} 5217847
mikbillUserOUT {uid="2422"} 2254625
mikbillSessionTime {uid="2422"} 1
mikbillUserIN {uid="2443"} 826198
mikbillUserOUT {uid="2443"} 6247551
mikbillSessionTime {uid="2443"} 233

Для получения информации о одном абоненте, необходимо выполнить запрос

https://admin.ispnet.demo/api/index/prometheus/key/1234567890/request/user/uid/7

В результате которого будут данные в виде:

# HELP mikbillUserIN The total number of Bytes recived by client
# TYPE mikbillUserIN gauge
# HELP mikbillUserOUT The total number of Bytes uploaded by client
# TYPE mikbillUserOUT gauge
# HELP mikbillSessionTime Client session time in seconds
# TYPE mikbillSessionTime counter
mikbillUserIN {uid="7"} 6068174
mikbillUserOUT {uid="7"} 7102296
mikbillSessionTime {uid="7"} 427

Информация о тарифах

Для получения информации о трафике всех абонентов на всех тарифах, необходимо выполнить запрос

https://admin.ispnet.demo/api/index/prometheus/key/1234567890/request/packet

В результате которого будут данные в виде:

# HELP mikbillPacketIn The total number of Bytes recived by clients
# TYPE mikbillPacketIn gauge
# HELP mikbillPacketOut The total number of Bytes uploaded by clients
# TYPE mikbillPacketOut gauge
# HELP mikbillOnlineCount Online clients count
# TYPE mikbillOnlineCount gauge
mikbillPacketIn {gid="3", name="test"} 826198
mikbillPacketOut {gid="3", name="test"} 6247551
mikbillOnlineCount {gid="3", name="test"} 1
mikbillPacketIn {gid="120", name="Auto Test"} 5217847
mikbillPacketOut {gid="120", name="Auto Test"} 2254625
mikbillOnlineCount {gid="120", name="Auto Test"} 1
mikbillPacketIn {gid="139", name="IPv6"} 16268381
mikbillPacketOut {gid="139", name="IPv6"} 26235290
mikbillOnlineCount {gid="139", name="IPv6"} 3

Для получения информации о одном тарифе, необходимо выполнить запрос

https://admin.ispnet.demo/api/index/prometheus/key/1234567890/request/packet/gid/139

В результате которого будут данные в виде:

# HELP mikbillPacketIn The total number of Bytes recived by clients
# TYPE mikbillPacketIn gauge
# HELP mikbillPacketOut The total number of Bytes uploaded by clients
# TYPE mikbillPacketOut gauge
# HELP mikbillOnlineCount Online clients count
# TYPE mikbillOnlineCount gauge
mikbillPacketIn {gid="139", name="IPv6"} 16268381
mikbillPacketOut {gid="139", name="IPv6"} 26235290
mikbillOnlineCount {gid="139", name="IPv6"} 3

Информация о BRAS

Для получения информации о трафике всех абонентов на всех BRAS, необходимо выполнить запрос

https://admin.ispnet.demo/api/index/prometheus/key/1234567890/request/bras

В результате которого будут данные в виде:

# HELP mikbillBRASIn The total number of Bytes recived by clients
# TYPE mikbillBRASIn gauge
# HELP mikbillBRASOut The total number of Bytes uploaded by clients
# TYPE mikbillBRASOut gauge
# HELP mikbillOnlineCount Online clients count
# TYPE mikbillOnlineCount gauge
mikbillBRASIn {id="1", name="radius check", ip="127.0.0.1"} 19107668
mikbillBRASOut {id="1", name="radius check", ip="127.0.0.1"} 18846239
mikbillOnlineCount {id="1", name="radius check", ip="127.0.0.1"} 3
mikbillBRASIn {id="2", name="junmx2", ip="192.168.8.1"} 3204758
mikbillBRASOut {id="2", name="junmx2", ip="192.168.8.1"} 15891227
mikbillOnlineCount {id="2", name="junmx2", ip="192.168.8.1"} 2

Для получения информации о одном тарифе, необходимо выполнить запрос

https://admin.ispnet.demo/api/index/prometheus/key/1234567890/request/bras/id/1

В результате которого будут данные в виде:

# HELP mikbillBRASIn The total number of Bytes recived by clients
# TYPE mikbillBRASIn gauge
# HELP mikbillBRASOut The total number of Bytes uploaded by clients
# TYPE mikbillBRASOut gauge
# HELP mikbillOnlineCount Online clients count
# TYPE mikbillOnlineCount gauge
mikbillBRASIn {id="1", name="radius check", ip="127.0.0.1"} 19107668
mikbillBRASOut {id="1", name="radius check", ip="127.0.0.1"} 18846239
mikbillOnlineCount {id="1", name="radius check", ip="127.0.0.1"} 3

Информация о онлайне

Для получения общей информации о онлайне, необходимо выполнить запрос

https://admin.ispnet.demo/api/index/prometheus/key/1234567890/request/online

В результате которого будут данные в виде:

# HELP mikbillAllIn The total number of Bytes recived by clients
# TYPE mikbillAllIn gauge
# HELP mikbillAllOut The total number of Bytes uploaded by clients
# TYPE mikbillAllOut gauge
# HELP mikbillOnlineCount Online clients count
# TYPE mikbillOnlineCount gauge
mikbillAllIn {id="0"} 22312426
mikbillAllOut {id="0"} 34737466
mikbillOnlineCount {id="0"} 5

Информация о кол-ве абонентов со статусами

Для получения информации о количестве абонентов со статусами, необходимо выполнить запрос

https://admin.ispnet.demo/api/index/prometheus/key/1234567890/request/count_all_user_status

В результате которого будут данные в виде:

# HELP mikbillStatusUsersCount The total number of users with status
# TYPE mikbillStatusUsersCount gauge
mikbillStatusUsersCount {group="Normal"} 6
mikbillStatusUsersCount {group="Nomoney"} 129
mikbillStatusUsersCount {group="Freezed"} 28
mikbillStatusUsersCount {group="Disabled"} 1182
mikbillStatusUsersCount {group="Deleted"} 1057

Для получения информации отдельно по статусам:

Нормальные

https://admin.ispnet.demo/api/index/prometheus/key/1234567890/request/count_normal

В результате которого будут данные в виде:

# HELP mikbillStatusUsersCount The total number of users with status
# TYPE mikbillStatusUsersCount gauge
mikbillStatusUsersCount {group="Normal"} 6

Без денег

https://admin.ispnet.demo/api/index/prometheus/key/1234567890/request/count_nomoney

В результате которого будут данные в виде:

# HELP mikbillStatusUsersCount The total number of users with status
# TYPE mikbillStatusUsersCount gauge
mikbillStatusUsersCount {group="Nomoney"} 129

Заморожен

https://admin.ispnet.demo/api/index/prometheus/key/1234567890/request/count_freezed

В результате которого будут данные в виде:

# HELP mikbillStatusUsersCount The total number of users with status
# TYPE mikbillStatusUsersCount gauge
mikbillStatusUsersCount {group="Freezed"} 28

Отключен

https://admin.ispnet.demo/api/index/prometheus/key/1234567890/request/count_disabled

В результате которого будут данные в виде:

# HELP mikbillStatusUsersCount The total number of users with status
# TYPE mikbillStatusUsersCount gauge
mikbillStatusUsersCount {group="Disabled"} 1182

Удален

https://admin.ispnet.demo/api/index/prometheus/key/1234567890/request/count_deleted

В результате которого будут данные в виде:

# HELP mikbillStatusUsersCount The total number of users with status
# TYPE mikbillStatusUsersCount gauge
mikbillStatusUsersCount {group="Deleted"} 1057

Информация о статусах служб

Для получения общей информации о статусах запущенных служб, необходимо выполнить запрос

https://admin.ispnet.demo/api/index/prometheus/key/1234567890/request/services

В результате которого будут данные в виде:

# HELP mikbillServiceStatus Service status
# TYPE mikbillServiceStatus gauge
mikbillServiceStatus {id="1", name="MySQL", description="Database"} 1
mikbillServiceStatus {id="2", name="Mikbill", description="Billing core"} 0
mikbillServiceStatus {id="3", name="Freeradius", description="AAA Server"} 1
mikbillServiceStatus {id="4", name="DHCP", description="DHCP server"} 1
mikbillServiceStatus {id="5", name="NameD", description="DNS server"} 1
  • API not enable - Функционал prometheus не включен в биллинге
  • Wrong API key - Неверный ключ от prometheus
  • Bad request - Не верный запрос (нету параметра request)
  • Unknown request - Не известный запрос (значение параметра request)
  • Access denied from your IP - Доступ запрещен для Вашего IP
  • No data - Нету информации для показа
  • billing/prometheus.txt
  • Последнее изменение: 10 мес. назад
  • Александр Дудяк