@metrics_ru

Страница 567 из 681
GithubReleases
19.06.2018
18:08:24
prometheus/prometheus was tagged: 2.3.1 / 2018-06-19 Link: https://github.com/prometheus/prometheus/releases/tag/v2.3.1 Release notes: * [BUGFIX] Avoid infinite loop on duplicate NaN values. [#4275](https://github.com/prometheus/prometheus/pull/4275) * [BUGFIX] Fix nil pointer deference when using various API endpoints [#4282](https://github.com/prometheus/prometheus/pull/4282) ... More

Andor
19.06.2018
18:13:40
о, можно в прод

Алексей
19.06.2018
18:14:09
о, можно в прод
не сглазь. а то так до 2,4,3 ждать придется

Andor
19.06.2018
18:14:44
я ваще на 2.1.0 до сих пор

Google
Andrey
19.06.2018
18:25:27
не сглазь. а то так до 2,4,3 ждать придется
что, всё настолько ужасно, я тоже что то цифру увидел и удивился, вроде только 2.0 было

Nklya
19.06.2018
18:28:02
2.0 вышел прошлой осенью ещё

Andor
19.06.2018
18:51:43
ваще переход с 1.х на 2.0 был самый болезненный

потому что сломали формат сторейжа

Alexander
20.06.2018
06:55:27
Ребят, может подскажите, кт ото встречался с такими ошибками?

carbon-c-relay[17302]: 2018-06-19 04:12:42] accept failed[2018-06-19 04:12:42] accept failed[2018-06-19 04:12:42] accept failed[2018-06-19 04:12:42] ac

си релей - форкнутый на libevent

Andrey Zakharov
20.06.2018
07:16:13
Всем привет , подскажите пожалуйста кто использовал python клиент прометеуса - как там можно метрики удалить из выдачи вебсервером ? тоесть например я определяю метрику и набор лейблов для неё : tarantool_box_info_replication_lag = Gauge('tarantool_box_info_replication_lag', 'replication lag information', ['cluster_uuid', 'server_uuid', 'server_id', 'replication_status']) потом в цикле это всё заполняю , и допустим у меня появляются метрики вида : tarantool_box_info_replication_lag{cluster_uuid="9e863bc9-d8d5-4eda-ac0d-2808a7c90a6d",replication_status="follow",server_id="1",server_uuid="8fa58cff-1f2d-41dd-a605-a555622609cb"} 0.0 tarantool_box_info_replication_lag{cluster_uuid="9e863bc9-d8d5-4eda-ac0d-2808a7c90a6d",replication_status="disconnected",server_id="1",server_uuid="8fa58cff-1f2d-41dd-a605-a555622609cb"} 0.0 tarantool_box_info_replication_lag{cluster_uuid="9e863bc9-d8d5-4eda-ac0d-2808a7c90a6d",replication_status="stopped",server_id="1",server_uuid="8fa58cff-1f2d-41dd-a605-a555622609cb"} 0.0 Проблема в том , что на этом примере 3 метрики (а хочется видеть 1 , с текущим состоянием репликации) , я так понял что из за того что для клиента прометеуса одна и та же метрика с разным набором лейблов - это по сути разные метрики. И вот встал вопрос - как правильно удалить их (если это вобще возможно)

Paul
20.06.2018
07:18:27
Всем привет , подскажите пожалуйста кто использовал python клиент прометеуса - как там можно метрики удалить из выдачи вебсервером ? тоесть например я определяю метрику и набор лейблов для неё : tarantool_box_info_replication_lag = Gauge('tarantool_box_info_replication_lag', 'replication lag information', ['cluster_uuid', 'server_uuid', 'server_id', 'replication_status']) потом в цикле это всё заполняю , и допустим у меня появляются метрики вида : tarantool_box_info_replication_lag{cluster_uuid="9e863bc9-d8d5-4eda-ac0d-2808a7c90a6d",replication_status="follow",server_id="1",server_uuid="8fa58cff-1f2d-41dd-a605-a555622609cb"} 0.0 tarantool_box_info_replication_lag{cluster_uuid="9e863bc9-d8d5-4eda-ac0d-2808a7c90a6d",replication_status="disconnected",server_id="1",server_uuid="8fa58cff-1f2d-41dd-a605-a555622609cb"} 0.0 tarantool_box_info_replication_lag{cluster_uuid="9e863bc9-d8d5-4eda-ac0d-2808a7c90a6d",replication_status="stopped",server_id="1",server_uuid="8fa58cff-1f2d-41dd-a605-a555622609cb"} 0.0 Проблема в том , что на этом примере 3 метрики (а хочется видеть 1 , с текущим состоянием репликации) , я так понял что из за того что для клиента прометеуса одна и та же метрика с разным набором лейблов - это по сути разные метрики. И вот встал вопрос - как правильно удалить их (если это вобще возможно)
а вы не можете отфильтровать нужную вам метрику прямо в запросе?

Andrey Zakharov
20.06.2018
07:23:48
а вы не можете отфильтровать нужную вам метрику прямо в запросе?
тоже сначала так хотел сделать , но это не совсем правильно как мне кажется сейчас немного поподробнее опишу : допустим в какой то момент времени реплика находится в статусе follow - соотв. для неё создастся такая метрика с лейблом : tarantool_box_info_replication_lag{replication_status="follow"} 0.0 затем , предположим что начались какие то сетевые проблемы , и реплика перешла в статус disconnected , тогда при обращении к бд экспортер создаст следующую метрику с набором лейблов : tarantool_box_info_replication_lag{replication_status="disconnected"} 0.0 при этом предыдущая метрика она останется (что вобщем то не совсем правильно , т.к состояние бд уже не follow а disconnected) далее происходит попытка переподключится к мастеру и допустим попытка была неудачной , реплика переходит в состояние stopped , экспортер создаст метрику с лейблом : tarantool_box_info_replication_lag{replication_status="stopped"} 0.0 При этом все предыдущие метрики сохранятся(что не правильно) , и при обращении к экспортеру он будет отдавать чтото вида : tarantool_box_info_replication_lag{replication_status="follow"} 0.0 tarantool_box_info_replication_lag{replication_status="disconnected"} 0.0 tarantool_box_info_replication_lag{replication_status="stopped"} 0.0

а ну и соотв, в прометеусе условие алерта запрос вида : tarantool_box_info_replication_lag{status!~"follow"} даже после того как реплика реально восстановится - продолжатся отдаваться disconnected и stopped из за чего алерт не закроется

Bogdan (SirEdvin)
20.06.2018
07:40:00
Удалить метрику только как-то так: https://gitlab.com/SirEdvin/docker-prometheus-exporter/blob/master/app.py#L80 нормального пути я не видел

Google
Bogdan (SirEdvin)
20.06.2018
07:40:26
То есть чисто пересобрать список метрик

Paul
20.06.2018
07:47:37
тоже сначала так хотел сделать , но это не совсем правильно как мне кажется сейчас немного поподробнее опишу : допустим в какой то момент времени реплика находится в статусе follow - соотв. для неё создастся такая метрика с лейблом : tarantool_box_info_replication_lag{replication_status="follow"} 0.0 затем , предположим что начались какие то сетевые проблемы , и реплика перешла в статус disconnected , тогда при обращении к бд экспортер создаст следующую метрику с набором лейблов : tarantool_box_info_replication_lag{replication_status="disconnected"} 0.0 при этом предыдущая метрика она останется (что вобщем то не совсем правильно , т.к состояние бд уже не follow а disconnected) далее происходит попытка переподключится к мастеру и допустим попытка была неудачной , реплика переходит в состояние stopped , экспортер создаст метрику с лейблом : tarantool_box_info_replication_lag{replication_status="stopped"} 0.0 При этом все предыдущие метрики сохранятся(что не правильно) , и при обращении к экспортеру он будет отдавать чтото вида : tarantool_box_info_replication_lag{replication_status="follow"} 0.0 tarantool_box_info_replication_lag{replication_status="disconnected"} 0.0 tarantool_box_info_replication_lag{replication_status="stopped"} 0.0
Нет, это совершенно нормальный подход

Alexey
20.06.2018
07:49:46
Ребят, может подскажите, кт ото встречался с такими ошибками?
Мы с таким конкретно не встречались, но мы с форка слезли, когда он начал ломать имена метрик на выходе из релея

Bogdan (SirEdvin)
20.06.2018
08:06:40
спасибо
Но как вам написали, лучше ничего не удалять и просто писать ноль, а в условие алерта добавить >0

Alexander
20.06.2018
08:21:36
Мы с таким конкретно не встречались, но мы с форка слезли, когда он начал ломать имена метрик на выходе из релея
Какой форк пробовали? Этот https://github.com/chbuescher/carbon-c-relay? Что в место него, штатный? Я пробовал исходный проект - он при больших берстах метрик совершенно спокойно может до 50% дропать.

Alexander
20.06.2018
08:34:33
на 2.6. именно эту проблему и поймали - если резкий всплеск метрик случается дропы, форк как раз эту проблему исправил.

Andrey
20.06.2018
08:54:00
привет. подскажите по части prometheus: group в alert rule идеологически для чего предназначены? для того чтобы роутить удобнее было?

Sergey
20.06.2018
09:03:38
а новый релей Владимира не пробовали? https://github.com/go-graphite/gorelka

и тут в чатике полгода назад уже писали конкретный билд carbon-c-relay который вроде как стабилен

Alexander
20.06.2018
09:05:52
а новый релей Владимира не пробовали? https://github.com/go-graphite/gorelka
Да хочется попробовать но не понятно в каком он щас статусе.

Andrey Zakharov
20.06.2018
09:06:14
Но как вам написали, лучше ничего не удалять и просто писать ноль, а в условие алерта добавить >0
да ну тут получается особенность экспортера , в итоге сделал следующим образом (если интересно) : tarantool_box_info_replication_lag._metrics = {} это будет вызываться перед записыванием метрики , да топорненьо но работает )

Sergey
20.06.2018
09:06:20
Владимир - в статусе швейцарца :)

Andrey Zakharov
20.06.2018
09:08:16
да

Sergey
20.06.2018
09:09:19
это страшный подход - динамические метрики :)

Bogdan (SirEdvin)
20.06.2018
09:09:34
Ну, для докер контейнеров я ничего другого не придумал.

Google
Bogdan (SirEdvin)
20.06.2018
09:09:47
Опять же таки, если сущность пропадает - метрики для нее надо удалять

Sergey
20.06.2018
09:10:04
ну для контейнеров это норма, потому что сама сущность такая

Andrey Zakharov
20.06.2018
09:10:34
Ну, это более-менее правильная особенность экспортера, все так делают :)
ну ведь не может быть так - что в один момент времени статус репликации одновременно follow , disconnected , и connecting :) я возможно не совсем правильно сделал организацию лейблов у этой метрики...

Sergey
20.06.2018
09:10:42
я про то что выше по треду (если правильно понял) там то сущности фиксированные но состояния меняются

Bogdan (SirEdvin)
20.06.2018
09:12:07
ну ведь не может быть так - что в один момент времени статус репликации одновременно follow , disconnected , и connecting :) я возможно не совсем правильно сделал организацию лейблов у этой метрики...
Просто если вы делаете динамические метрики - вы немного ломаете структуру того, как работает prometheus. Возможно, вам стоит сделать другие метрики?

Sergey
20.06.2018
09:12:15
с промом тут лучше другие подскажут, в графите это либо 3 метрики с 0-1 либо одна с 3 значениями (зависит от переходов)

Bogdan (SirEdvin)
20.06.2018
09:12:29
Что-то вроде: Gauge - запущена ли репликация Counter - количество ошибок

Andrey Zakharov
20.06.2018
09:12:58
тогда мне нужно будет держать маппинг состояние реплики - значение в коде экспортера

хотелось бы этого избежать

Что-то вроде: Gauge - запущена ли репликация Counter - количество ошибок
интересный вариант , спасибо подумаю над ним

Sergey
20.06.2018
09:33:52
вариант с заворачиванием состояний в один показатель лучше - если у вас сервис не занят постоянными переходами из одного состояния в другой - такое все же лучше логами держать

можно наверное кстати запуск и окончание репликации 2 метриками с типом каунтер писать - тогда аггрегация по данной метрике будет иметь смысл - количество репликаций за неделю например :)

Алексей
20.06.2018
09:42:04
> Hello, my name is Anais Dotis-Georgiou, and I’m a new Influxer. они там в инфлюксе как гугл. но инфлюксеры.

Andrey Zakharov
20.06.2018
09:43:55
можно наверное кстати запуск и окончание репликации 2 метриками с типом каунтер писать - тогда аггрегация по данной метрике будет иметь смысл - количество репликаций за неделю например :)
да) сейчас в итоге сделал отдельный (от replication lag) метрику , с названием replication_status тип каунтер , и туда просто при каждом обращение к бд инкремент делаю перестало replication_status{status="follow"} изменятся , значит всё плохо ну и irate'ом её проверять

Andor
20.06.2018
09:43:58
influx reliability engineer

Andrey Zakharov
20.06.2018
09:46:03
интересно только что будет когда достигнет максимального значения

Детсад
20.06.2018
09:52:15
Кто-нибудь собирал метрики с каких-нибудь скриптов в prometheus? Допустим у меня есть скрипт, который обрабатывает файлы раз в 10 минут например и я хочу иметь статистику по файлам и их содержимому. И вроде как планирую использовать для этого prometheus push gateway. Prometheus собирает данные раз в минуту скажем. Получается мне надо либо обнулять все данные раз в минуту скриптом в надежде на то, что prometheus их собрал (именно обнулять, а не удалять насколько я понимаю и именно все счетчики со всеми возможными значениями меток). То есть например если я в метке метрики использую информацию из файла, но заранее не знаю всех возможных значений, то я в пролете?

Google
Единорожа
20.06.2018
09:52:36
nodeexporter file collector

Andor
20.06.2018
09:52:52
тебе нужен textfile collector

pushgateway - ниочинь

Детсад
20.06.2018
09:55:00
Ну то есть решение на самом деле - персистить метрики на клиенте и только так можно добиться нормальной совместимости с моделью сбора метрик prometheus?

Andor
20.06.2018
09:55:50
¯\_(ツ)_/¯

Sergey
20.06.2018
10:06:33
интересно только что будет когда достигнет максимального значения
Переполнить float64 счетчиком репликаций? Интересно что наступит раньше: вымирание человечества или переполнение этого счетчика :)

Admin
ERROR: S client not available

Andrey Zakharov
20.06.2018
10:08:10
я всётаки надеюсь что мы не вымрем

Bogdan (SirEdvin)
20.06.2018
10:08:15
Проблема в том, что там начнутся ошибки округления и пропуски сначала единиц, потом десятков и так далее

Это уже можно назвать переполнением и это не так то далеко

Sergey
20.06.2018
10:09:10
пусть зависит, нам есть чем гордится, мы стояли у истоков :)

Bogdan (SirEdvin)
20.06.2018
10:09:24
Просто число не влезет в мантиссу и начнутся проблемы, как я понимаю.

Sergey
20.06.2018
10:09:42
побежал отливать в мраморе последние 10 сообщений

ну учитывая что репликация идет не каждую секунду...а то и не каждую неделю

Bogdan (SirEdvin)
20.06.2018
10:12:09
У меня получилось где-то максимум 9007199254740992 репликаций.

Sergey
20.06.2018
10:12:33
минутки математики в чатике :)

Google
Bogdan (SirEdvin)
20.06.2018
10:12:55
Всего-то надо делать по одной репликации 285616414 лет и будет переполнение

Sergey
20.06.2018
10:13:10
в секунду же?

Bogdan (SirEdvin)
20.06.2018
10:13:15
Да

Алексей
20.06.2018
10:13:33
У меня получилось где-то максимум 9007199254740992 репликаций.
285 милионов лет всеголишь. если раз в секунду репликация

да тоже пересчитал

смерть солнца намечена на сильно позже.

Bogdan (SirEdvin)
20.06.2018
10:14:21
Ну ... я думаю, к тому времени prometheus перейдет на float1024

Sergey
20.06.2018
10:14:27
вооот а если репликацию делать раз в 1 такт процессора то можно легко словить этот веселый эффект

может все таки уйдем на квантовое хранение?

Andor
20.06.2018
10:14:51
srsly?

Sergey
20.06.2018
10:14:58
все станут философами

хотя да, такт процессора это медленно

пусть будет распределенная база на все устройства на этой планете и каждый такт - репликация

Bogdan (SirEdvin)
20.06.2018
10:17:47
Ну, можно же запускать несколько репликаций за раз

Sergey
20.06.2018
10:17:59
это чит

у каждой должен быть свой счетчик :)

Alexander
20.06.2018
11:08:10
Alexey
20.06.2018
11:10:10
Ну да, я туда уже писал :)
ок, гланое чтобы https://github.com/grobian/carbon-c-relay/issues/216#issuecomment-383576466 не стало сюрпризом

Alexander
20.06.2018
11:11:30
ну как сказать, с цпу пока все хорошо насколько я вижу

Denys ??
20.06.2018
11:37:22
У меня cbuechter fork радостно сожрал 120ГБ памяти за 2 недели и помер. Да еще и имена метрик бил до кучи. Откатился на 2.6

Страница 567 из 681