Prometheus exporter для получения метрик облака Selectel.
Необходимо:
- создать токен в этом разделе
- узнать в каком регионе у вас находятся ресурсы (взять region из GET параметров, например, https://my.selectel.ru/vpc/uuid/dbaas? region=ru-9)
Полученные данные нужно передать в переменные selectel.token и selectel.region соответственно.
helm repo add kts https://ktsstudio.github.io/helm-charts
helm install selexp --wait --set selectel.token=<token>,selectel.region=<region> -n <namespace> kts/selectel-exporter
Если вы используете prometheus-operator, то укажите serviceMonitor.enabled=true и serviceMonitor.additionalLabels. В additionalLabels нужно указать label, которые указаны в serviceMonitorSelector.
Узнать подробнее про helm chart можно тут.
docker run --env SELECTEL_TOKEN=<token> --env SELECTEL_REGION=<region> ktshub/selectel-exporter:1.0.0
Исполняемый файл (доступные сборки)
export SELECTEL_TOKEN=<token>
export SELECTEL_REGION=<region>
./selectel-exporter
helm test selexp -n <namespace>
# или
curl --request GET --url 'http://<host>:9100/metrics'
Хранилище (Datastore)
Метрика | Описание |
---|---|
selectel_datastore_memory_percent | Процент занимаемой оперативной памяти |
selectel_datastore_memory_bytes | Занимаемая оперативная память в байтах |
selectel_datastore_cpu | Процент утилизации CPU |
selectel_datastore_disk_percent | Процент занимаемого диска |
selectel_datastore_disk_bytes | Занимаемая память на диске в байтах |
Label | Описание |
---|---|
project | имя проекта |
datastore | имя хранилища |
ip | адрес узла в кластере |
role | является ли instance мастером или репликой |
selectel_datastore_cpu{datastore="kts",ip="10.0.0.210",project="kts"} 1.787500000209541
selectel_datastore_cpu{datastore="kts",ip="10.0.3.214",project="kts"} 34.25416666645712
selectel_datastore_disk_bytes{datastore="kts",ip="10.0.0.210",project="kts"} 1.70075703296e+11
selectel_datastore_disk_bytes{datastore="kts",ip="10.0.3.214",project="kts"} 1.7009717248e+11
...
База данных (Database)
Метрика | Описание |
---|---|
selectel_database_locks | Locks |
selectel_database_deadlocks | Deadlocks |
selectel_database_cache_hit_ratio | Попадание в кэш |
selectel_database_tup_updated | Операции со строками |
selectel_database_tup_returned | Операции со строками |
selectel_database_tup_inserted | Операции со строками |
selectel_database_tup_fetched | Операции со строками |
selectel_database_tup_deleted | Операции со строками |
selectel_database_xact_rollback | Транзакции |
selectel_database_xact_commit | Транзакции |
selectel_database_xact_commit_rollback | Транзакции |
selectel_database_max_tx_duration | Время выполнения самого долгого запроса |
selectel_database_connections | Количество подключений к БД |
selectel_database_total_connections | Общее количество подключений |
selectel_database_commands_total_delete | Запросы |
selectel_database_commands_total_insert | Запросы |
selectel_database_commands_total_select | Запросы |
selectel_database_commands_total_update | Запросы |
selectel_database_innodb_buffer_pool_hit_ratio | Попадание в кэш |
selectel_database_slow_queries | Медленные запросы |
selectel_database_threads_cached | Threads |
selectel_database_threads_connected | Threads |
selectel_database_threads_running | Threads |
Label | Описание |
---|---|
project | имя проекта |
datastore | имя хранилища |
ip | адрес узла в кластере |
database | имя базы данных (для mysql лейбл database отсутствует) |
role | является ли instance мастером или репликой |
selectel_database_tup_returned{database="kts",datastore="kts",ip="10.0.3.214",project="kts"} 2.1127298e+06
selectel_database_xact_commit{database="kts",datastore="kts",ip="10.0.3.214",project="kts"} 307.48333333333335
...
Баланс (Подробнее)
Для получения основного баланса нужно указать label {account="primary"}.
Метрика | Описание |
---|---|
selectel_billing_main | Рубли — основной лицевой счет |
selectel_billing_bonus | Бонусы — основной бонусный баланс |
selectel_billing_vk_rub | Голоса ВКонтакте — голоса приложения Вконтакте |
- Баланс хранилища {account="storage"}
- Баланс облачной платформы {account="vpc"}
- Баланс vmware {account="vmware"}
Метрика | Описание |
---|---|
selectel_billing_main | Рубли — основной лицевой счет |
selectel_billing_bonus | Бонусы — основной бонусный баланс |
selectel_billing_vk_rub | Голоса ВКонтакте — голоса приложения Вконтакте |
selectel_billing_debt | Долг |
selectel_billing_sum | Итог |
selectel_billing_main{account="primary",project="kts"} 0
selectel_billing_main{account="storage",project="kts"} 46649
selectel_billing_main{account="vmware",project="kts"} 0
selectel_billing_main{account="vpc",project="kts"} 596574
...
- В selectel для managed баз данных нельзя добавить exporter
- В selectel есть мониторинг и графики, но хочется собирать/отображать/мониторить метрики в одном месте (prometheus, grafana, alertmanager).