{"id":21611708,"url":"https://github.com/ktsstudio/selectel-exporter","last_synced_at":"2025-04-11T05:34:38.223Z","repository":{"id":47554748,"uuid":"386418610","full_name":"ktsstudio/selectel-exporter","owner":"ktsstudio","description":null,"archived":false,"fork":false,"pushed_at":"2023-09-14T14:33:45.000Z","size":6625,"stargazers_count":26,"open_issues_count":2,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-25T03:34:47.659Z","etag":null,"topics":["exporter","metrics","prometheus","selectel","selectel-api","selectel-exporter"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ktsstudio.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-07-15T20:43:10.000Z","updated_at":"2023-07-08T19:43:31.000Z","dependencies_parsed_at":"2022-08-23T19:21:11.464Z","dependency_job_id":null,"html_url":"https://github.com/ktsstudio/selectel-exporter","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ktsstudio%2Fselectel-exporter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ktsstudio%2Fselectel-exporter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ktsstudio%2Fselectel-exporter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ktsstudio%2Fselectel-exporter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ktsstudio","download_url":"https://codeload.github.com/ktsstudio/selectel-exporter/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248348242,"owners_count":21088838,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["exporter","metrics","prometheus","selectel","selectel-api","selectel-exporter"],"created_at":"2024-11-24T21:13:37.641Z","updated_at":"2025-04-11T05:34:38.202Z","avatar_url":"https://github.com/ktsstudio.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Selectel Exporter\n\nPrometheus exporter для получения метрик облака [Selectel](https://selectel.ru).\n\n# Установка\n\n### Kubernetes\nНеобходимо:\n- создать токен в [этом разделе](https://my.selectel.ru/profile/apikeys)\n- узнать в каком регионе у вас находятся ресурсы (взять region из GET параметров, например, https://my.selectel.ru/vpc/uuid/dbaas? **region**=ru-9)\n\nПолученные данные нужно передать в переменные selectel.token и selectel.region соответственно.\n```shell\nhelm repo add kts https://ktsstudio.github.io/helm-charts\nhelm install selexp --wait --set selectel.token=\u003ctoken\u003e,selectel.region=\u003cregion\u003e -n \u003cnamespace\u003e kts/selectel-exporter \n```\nЕсли вы используете prometheus-operator, то укажите serviceMonitor.enabled=true и serviceMonitor.additionalLabels. В additionalLabels нужно указать label, которые указаны в [serviceMonitorSelector](https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/user-guides/getting-started.md).\n\nУзнать подробнее про helm chart можно [тут](https://github.com/ktsstudio/helm-charts/tree/main/charts/selectel-exporter).\n\n### Docker\n```shell\ndocker run --env SELECTEL_TOKEN=\u003ctoken\u003e --env SELECTEL_REGION=\u003cregion\u003e ktshub/selectel-exporter:1.0.0\n```\n\n### Исполняемый файл ([доступные сборки](https://github.com/ktsstudio/selectel-exporter/releases))\n```shell\nexport SELECTEL_TOKEN=\u003ctoken\u003e\nexport SELECTEL_REGION=\u003cregion\u003e\n./selectel-exporter \n```\n\n### Как проверить?\n\n```shell\nhelm test selexp -n \u003cnamespace\u003e\n# или\ncurl --request GET --url 'http://\u003chost\u003e:9100/metrics' \n```\n\n# Доступные метрики \n\n## Хранилище ([Datastore](https://developers.selectel.ru/docs/selectel-cloud-platform/dbaas_api/))\nМетрика | Описание\n--------|----------\nselectel_datastore_memory_percent|Процент занимаемой оперативной памяти\nselectel_datastore_memory_bytes|Занимаемая оперативная память в байтах\nselectel_datastore_cpu|Процент утилизации CPU\nselectel_datastore_disk_percent|Процент занимаемого диска\nselectel_datastore_disk_bytes|Занимаемая память на диске в байтах\n\n#### Label'ы метрик\nLabel | Описание\n--------|----------\nproject|имя проекта \ndatastore|имя хранилища\nip|адрес узла в кластере\nrole|является ли instance мастером или репликой\n\n#### Пример\n    selectel_datastore_cpu{datastore=\"kts\",ip=\"10.0.0.210\",project=\"kts\"} 1.787500000209541\n    selectel_datastore_cpu{datastore=\"kts\",ip=\"10.0.3.214\",project=\"kts\"} 34.25416666645712\n    selectel_datastore_disk_bytes{datastore=\"kts\",ip=\"10.0.0.210\",project=\"kts\"} 1.70075703296e+11\n    selectel_datastore_disk_bytes{datastore=\"kts\",ip=\"10.0.3.214\",project=\"kts\"} 1.7009717248e+11\n    ...\n\n## База данных ([Database](https://developers.selectel.ru/docs/selectel-cloud-platform/dbaas_api/))\nМетрика | Описание\n--------|----------\nselectel_database_locks|Locks\nselectel_database_deadlocks|Deadlocks\nselectel_database_cache_hit_ratio|Попадание в кэш\nselectel_database_tup_updated|Операции со строками\nselectel_database_tup_returned|Операции со строками\nselectel_database_tup_inserted|Операции со строками\nselectel_database_tup_fetched|Операции со строками\nselectel_database_tup_deleted|Операции со строками\nselectel_database_xact_rollback|Транзакции\nselectel_database_xact_commit|Транзакции\nselectel_database_xact_commit_rollback|Транзакции\nselectel_database_max_tx_duration|Время выполнения самого долгого запроса\nselectel_database_connections|Количество подключений к БД\nselectel_database_total_connections|Общее количество подключений\nselectel_database_commands_total_delete|Запросы\nselectel_database_commands_total_insert|Запросы\nselectel_database_commands_total_select|Запросы\nselectel_database_commands_total_update|Запросы\nselectel_database_innodb_buffer_pool_hit_ratio|Попадание в кэш\nselectel_database_slow_queries|Медленные запросы\nselectel_database_threads_cached|Threads\nselectel_database_threads_connected|Threads\nselectel_database_threads_running|Threads\n\n#### Label'ы метрик\nLabel | Описание\n--------|----------\nproject|имя проекта\ndatastore|имя хранилища\nip|адрес узла в кластере\ndatabase|имя базы данных (для mysql лейбл database отсутствует)\nrole|является ли instance мастером или репликой\n\n#### Пример\n    selectel_database_tup_returned{database=\"kts\",datastore=\"kts\",ip=\"10.0.3.214\",project=\"kts\"} 2.1127298e+06\n    selectel_database_xact_commit{database=\"kts\",datastore=\"kts\",ip=\"10.0.3.214\",project=\"kts\"} 307.48333333333335\n    ...\n\n## Баланс ([Подробнее](https://kb.selectel.ru/docs/control-panel-actions/billing/balance/))\n\n### Основной баланс. \nДля получения основного баланса нужно указать label {account=\"primary\"}. \n\nМетрика | Описание\n--------|----------\nselectel_billing_main|Рубли — основной лицевой счет \nselectel_billing_bonus|Бонусы — основной бонусный баланс\nselectel_billing_vk_rub|Голоса ВКонтакте — голоса приложения Вконтакте\n\n### Остальные балансы. \n- Баланс хранилища {account=\"storage\"}\n- Баланс облачной платформы {account=\"vpc\"}\n- Баланс vmware {account=\"vmware\"}\n\nМетрика | Описание\n--------|----------\nselectel_billing_main|Рубли — основной лицевой счет\nselectel_billing_bonus|Бонусы — основной бонусный баланс\nselectel_billing_vk_rub|Голоса ВКонтакте — голоса приложения Вконтакте\nselectel_billing_debt|Долг\nselectel_billing_sum|Итог\n\n#### Пример\n    selectel_billing_main{account=\"primary\",project=\"kts\"} 0\n    selectel_billing_main{account=\"storage\",project=\"kts\"} 46649\n    selectel_billing_main{account=\"vmware\",project=\"kts\"} 0\n    selectel_billing_main{account=\"vpc\",project=\"kts\"} 596574\n    ...\n\n# Мотивация\n\n- В selectel для managed баз данных нельзя добавить exporter\n- В selectel есть мониторинг и графики, но хочется собирать/отображать/мониторить метрики в одном месте (prometheus, grafana, alertmanager).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fktsstudio%2Fselectel-exporter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fktsstudio%2Fselectel-exporter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fktsstudio%2Fselectel-exporter/lists"}