GithubHelp home page GithubHelp logo

ktsstudio / selectel-exporter Goto Github PK

View Code? Open in Web Editor NEW
26.0 2.0 2.0 6.47 MB

License: Apache License 2.0

Dockerfile 1.72% Go 98.28%
prometheus exporter selectel selectel-api metrics selectel-exporter

selectel-exporter's Introduction

Selectel Exporter

Prometheus exporter для получения метрик облака Selectel.

Установка

Kubernetes

Необходимо:

Полученные данные нужно передать в переменные 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

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'ы метрик

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'ы метрик

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).

selectel-exporter's People

Contributors

alexopryshko avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

andymilga vmax

selectel-exporter's Issues

Refresh token

selectel_api_error: status 401 - authorization required, check token

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.