Aleksey
Илья | 😶☮️🐸
Напиши FR, не совсем понял что предлагаешь и зачем.
Каких-то метрик ведь может не быть на старых/новых релизах.
Как пример: https://github.com/openstack-exporter/openstack-exporter/issues/191
Предлагаю в query параметры добавить возможность выбора версии релиза чтобы не тратить время на сбор неподдерживаемых метрик
Aleksey
Илья | 😶☮️🐸
Как доберусь до ноута ещё раз гляну.
Ещё как вариант может в конфиг передавать ключ-значение в духе
Название метрики - путь для сбора
Естественно, из конфига приоритет перед тем, что захардкожено
Aleksey
Aleksey
Хотя тут надо идти как в темпесте, мин макс
Aleksey
@frct1 запилишь PR?
Илья | 😶☮️🐸
Илья | 😶☮️🐸
погляжу что да как, попробую
Илья | 😶☮️🐸
Ну а перед непосредственным фетчем метрик просто проверять входит ли оно в версию или нет
Илья | 😶☮️🐸
не превратилось бы это всё в кашу, если делать алиасы для метрик под разные версии...
Вот насчёт этого сомнения
Илья | 😶☮️🐸
metric_name_rocky например и тд
Илья | 😶☮️🐸
Илья | 😶☮️🐸
И единый враппер, который будет доставить метрику, проверять версии и запускать фетч
Aleksey
Илья | 😶☮️🐸
Илья | 😶☮️🐸
ну, тогда проверку версии придётся в каждую функцию-экспортер закинуть (NewNovaExporter, например)
Vyacheslav
Можно форсить старую версию api
Aleksey
Посмотрел код и что-то добавлять в каждую метрику поддерживаемые микроверсии выглядит стрёмно, полюбому продолбается депрекейшен
Aleksey
как вариант добавить возможность передачи через OS_COMPUTE_API_VERSION микроверсию
Vyacheslav
Она по идеи возвращается от каждого сервиса
Aleksey
Vyacheslav
Vyacheslav
Или просто забить и сделать плейстхолдер не доступно в версии api, а в описание метрики добавить min max
Aleksey
Какая версия доступна в api
это есть, это как раз не проблема, скорее проблема следить какая метрика в какой версии пропала или изменилась,
Vyacheslav
Vyacheslav
У метрики Прометея
Aleksey
Джорд сегодня очень быстрый, PR c env для Nova уже вмёржили 😂
Maksimus Ulibikus
Буду признателен за помощь.
Не могу понять в Description https://github.com/openstack-exporter/openstack-exporter#description
A Legacy mode (targetting one cloud) in where the openstack_exporter serves on port 0.0.0.0:9180 at the /metrics URL.
Откуда взялся порт 9180? Из прослушиваемых у меня 9090 и 9100.
Илья | 😶☮️🐸
Илья | 😶☮️🐸
Собственно пром обращается к каждому порту и собирает метрики
Maksimus Ulibikus
Всё понял, спасибо.
Maksimus Ulibikus
Какой он подразумевает ключ? did not find expected key
Den
попробуй просто domain_name в 10 строке
Maksimus Ulibikus
Тоже самое
Maksimus Ulibikus
Да он упоротый. Поменял в yaml всё, что смог все равно ругается на строку 10. оставил спецом всего 9 строк, запускаю и опять ошибка в 10-й строке
Denis
var DEFAULT_OS_CLIENT_CONFIG = "/etc/openstack/clouds.yaml"
Вроде дефолтный путь
Den
11 user_domain_name: 'Default' - удали, 12 auth_url: http://controller:5000/v3 - controller резольвится?
Denis
вруби дебаг, судя по main.go там будет чуть больше понятной инфы что с конфигом
Aleksey
Maksimus Ulibikus
Maksimus Ulibikus
Илья | 😶☮️🐸
Maksimus Ulibikus
Жду с нетерпением )
Denis
logLevel = kingpin.Flag("log.level", "Log level: [debug, info, warn, error, fatal]").Default("info").String()
Denis
Aleksey
Den
clouds:
prometheus:
auth_type: password
identity_api_version: 3
interface: internal
endpoint_type: internal
region_name: "RegionOne"
auth:
auth_url: "http://192.168.0.100:5000/v3"
username: "prometheus"
password: "qwerty"
project_name: "service"
domain_name: "Default"
Илья | 😶☮️🐸
Жду с нетерпением )
global:
scrape_interval: 10s
scrape_configs:
- job_name: 'kekstack'
metrics_path: /probe
params:
cloud: ['your-name']
static_configs:
- targets: ['192.168.1.10:9180']
clouds:
kekstack:
auth:
auth_url: http://192.168.1.137/identity
password: '123'
project_domain_id: default
project_name: admin
user_domain_id: default
username: admin
identity_api_version: '3'
region_name: RegionOne
volume_api_version: '3'
Denis
Илья | 😶☮️🐸
В probe режиме как-то прикольнее, чем легаси, ибо через ?cloud=anotheronecloud можешь из коробки по сути получить данные по другому облаку
Илья | 😶☮️🐸
Aleksey
хреново жить на маке 🙁 там такого нет
Denis
Илья | 😶☮️🐸
Denis
Aleksey
есть!
э… я вот ` спасаюсь.
Куда смотреть?
Илья | 😶☮️🐸
Aleksey
Aleksey
блеать
Илья | 😶☮️🐸
но это выделять сначала, бгг
Denis
Denis
или на пустом сообщении...
Denis
оно правда сизое будет, не активное
Aleksey
strikethrough
Aleksey
хера се
Denis
Denis
yamllint
Илья | 😶☮️🐸
@yatakoim Ещё экспортер и пром в докер запихать, чтобы стильно-модно-молодёжно