@metrics_ru

Страница 351 из 681
Алексей
22.11.2017
20:30:01
и на надо боятся релейбла. он не страшный правда.

(хотя если бы мне кто то сказал что он не страшный до того как я его раскурил я бы его послал)

Alexander
22.11.2017
20:31:58
Ну да, это правильный путь, лейблы для этого и сделаны.

Старый
23.11.2017
08:37:03
wmi exporter не выводит метрики IIS, кто с таким сталкивался?

Google
Fedor
23.11.2017
08:49:25
Включать их надо отдельно при инсталлировал

При инсталле

Но я не пробовал

Старый
23.11.2017
09:11:53
Включать их надо отдельно при инсталлировал
инсталяции? то есть в код лесть у wmi? msi пакет же сам всё ставит

Fedor
23.11.2017
09:12:21
Рекомендую мануал почитать на гитхабе

Там написано как модули активировать

Инсталлятором

Alexey
23.11.2017
09:27:50
Подскажите пожалуйста, в запросе прометеуса можно как то сказать ему что бы он округлил до тысячных, или вообще целых. А то текущая точность хорошо, но в графане вывод получается не красивый - To many requests on docker01-tst : 46.333333333333336

Karey
23.11.2017
09:31:14
Там в графане должно быть поле decimals

Alexey
23.11.2017
09:31:23
Поле string

Поэтому спрашивать нужно у прометеуса, но не понятно как, вообще инфы по поводу данного вопроса найти не могу

запрос для алерта

groups: - name: rule.rules rules: - alert: request_per_second expr: sum(rate(nginx_http_upstream_time_seconds_count[1m])) by (instance) > 10 for: 15s labels: severity: 1 value: '{{ $value }}'

Google
Alexey
23.11.2017
09:33:29
вот value у меня такой и прилетает 46.333333333333336

доку нашел, такой возможности нет ((( https://prometheus.io/docs/prometheus/latest/querying/functions/

приведение к инту

Старый
23.11.2017
09:51:43
Fedor
23.11.2017
09:53:20
А его вроде бы можно запускать как обычное приложение и посмотреть логи

Там может быть написано

Старый
23.11.2017
09:58:12
msiexec /a wmi_exporter-0.2.7-amd64.msi ENABLE_COLLECTORS=os,iis,cpu,cs,logical_disk,net,process,service,system LISTEN_PORT=9182 - тупо выкидывает сообщени я о нехватке параметров

для установки

Fedor
23.11.2017
10:04:45
Экзешник а не мси

Andrey
23.11.2017
13:20:06
Ребят, есть два вопроса: 1) Кто как регает node_exporter в сервисах consul'а? registrator ж только при маппинге портов это делает 2) Держит ли prometheus постоянный коннект до найденного сервиса или как мунин забирая метрики коннектится заново?

Evgeny
23.11.2017
13:23:20
Есть небольшой вопрос по графане. Я делаю git clone своего datasource плагина в каталог grafana/data/plugins/datasource, запускаю графану, пытаюсь создать datasource, выбираю выпадающем списке Akumuli и получаю:

rId=1 orgId=1 uname=admin method=GET path=/public/app/plugins/datasource/akumuli-datasource/partials/config.html status=404 remote_addr=[::1] time_ms=1 size=9405 referer=http://localhost:3000/datasources/new

соотв. grafana не находит мой config.html почему то

если положить все в public/app/plugins/datasource (предварительно удалив каталог dist и собрав все через npm) то все работает

в логе ничего нет, судя по всему

Roman
23.11.2017
14:42:55
Evgeny
23.11.2017
14:45:56
ну с id плагина там все хорошо

Roman
23.11.2017
14:47:13
можно посмотреть как здесь реализовано

https://github.com/grafana/typescript-template-datasource/blob/master/src/config_ctrl.ts

Google
Evgeny
23.11.2017
15:02:24
Спасибо, разобрался в чем дело. У меня эта строка вот так выглядит - https://github.com/akumuli/akumuli-datasource/blob/8111c44b2af9701e19714f195b1c7953958e53c8/config_ctrl.ts#L7

Alexander
23.11.2017
15:02:32
rId=1 orgId=1 uname=admin method=GET path=/public/app/plugins/datasource/akumuli-datasource/partials/config.html status=404 remote_addr=[::1] time_ms=1 size=9405 referer=http://localhost:3000/datasources/new
Надо так: // Set templateUrl as static property ZabbixQueryController.templateUrl = 'datasource-zabbix/partials/query.editor.html';

Evgeny
23.11.2017
15:04:41
Я поменял static templateUrl = 'public/app/plugins/datasource/akumuli-datasource/partials/config.html'; на static templateUrl = 'partials/config.html'; и все заработало. А получается нужно static templateUrl = 'akumuli-datasource/partials/config.html';?

Alexander
23.11.2017
15:08:42
Я поменял static templateUrl = 'public/app/plugins/datasource/akumuli-datasource/partials/config.html'; на static templateUrl = 'partials/config.html'; и все заработало. А получается нужно static templateUrl = 'akumuli-datasource/partials/config.html';?
partials/config.html не везде может работать, зависит от того, в какой момент происходит загрузка шаблона, мой вариант надежнее, но я так делал уже давно, может что-то поменялось.

Evgeny
23.11.2017
15:12:41
ок, попробую второй вариант

так тоже работает

Alexander
23.11.2017
15:35:04
так тоже работает
Да, нашел вот такой код: // handle relative template urls for plugin templates options.Component.templateUrl = relativeTemplateUrlToAbs(options.Component.templateUrl, options.baseUrl);

Но это, скорее всего, только в последней версии, поэтому я и не пользовался. В предыдущих так не работало.

Алексей
23.11.2017
18:28:26
@alexanderzobnin а можно в шаблонизатор графаны подставить такое вот select dictGetString('managedobject', 'name', managed_object) AS text, managed_object as value from noc.subscriber group by managed_object

я хочу выбирать красивое имя а в квери подставлять то чо надо

это запрос в кх

Alexander
23.11.2017
18:29:53
это SQL датасорс?

Алексей
23.11.2017
18:30:39
нет это vertamedia/ch

сейчас возвращается оба результата

что очевидно не помогает

и я смотрю на https://github.com/Vertamedia/clickhouse-grafana/blob/5e8adabfb6c9e396f08c638d44cbb8306ef3df60/specs/lib/template_srv_stub.ts и будто бы да

Alexander
23.11.2017
18:34:27
Видимо, нет, посмотрел в их код, они возвращают { text: value}

Алексей
23.11.2017
18:34:44
а как надо что бы да ?

Alexander
23.11.2017
18:42:00
Чтобы {text: myText, value: myValue}

Как здесь https://github.com/grafana/grafana/blob/master/public/app/plugins/datasource/postgres/response_parser.ts#L62

Google
Alexander
23.11.2017
18:45:38
Вот здесь описано как работает http://docs.grafana.org/features/datasources/postgres/#query-variable

типа такого SELECT hostname AS __text, id AS __value FROM host

Алексей
23.11.2017
18:50:47
ага пасиб

@alexanderzobnin а если там в результатах будет "много" сколько "много" можно ? в value конечно

ибо кх то пофиг он и гигабайтные запросы тащит, а вот яваскрипту должно быть не пофиг

Alexander
23.11.2017
19:33:49
Не уверен, что пользователю будет удобно миллион хостов из списка выбирать.

Алексей
23.11.2017
19:34:56
нет

выбирать то он будет из 10 значений

Admin
ERROR: S client not available

Алексей
23.11.2017
19:35:12
просто за каждым будет милион

Alexander
23.11.2017
19:35:24
А, интересно.

Алексей
23.11.2017
19:35:25
и результат уйдет в IN

Alexander
23.11.2017
19:36:53
Я думаю, что от гигабайта браузер сдохнет

Алексей
23.11.2017
19:36:54
там либо какой то лимит на получение данных должен быть либо упавшийбраузер пользователя

думаю ты переоцениваешь браузер.

Alexander
23.11.2017
19:37:27
А в запросе можно лимит сделать?

Алексей
23.11.2017
19:39:11
ну а чего нельзя можно конечно

меня именно графановский лимит интересует же.

предварительная полготовка сказала мне что всёголишь However, the maximum length of an array according to the ECMA-262 5th Edition specification is bound by an unsigned 32-bit integer due to the ToUint32 abstract operation, so the longest possible array could have 232-1 = 4,294,967,295 = 4.29 billion elements.

Google
Nik
23.11.2017
20:23:16
У меня тут появилась очень странная задача

Может кто пробовал

Мониторить время

Марк ☢
23.11.2017
20:24:01
Дифф с нтп надо мониторить

Гдето в графане прям график дрифта видел

Nik
23.11.2017
20:24:21
Марк ☢
23.11.2017
20:24:34
С эталоном, взятым по нтп

Алексей
23.11.2017
20:24:42
Дифф? С чем дифф
штатная метрика ntp

Марк ☢
23.11.2017
20:24:53
Команда нтпдейт прям показывает дифф

Alexey
23.11.2017
20:30:47
если у вас есть работающий ntp то откуда там может взяться разница, которую надо мониторить?

насколько я понимаю задачу - надо из-вне проверять время сервера и сравнивать его с чем-то внешним.

Nik
23.11.2017
20:31:56
Не, тут чуть другое. 1-е нтп завис/лег/пропал. 2-ое враги сменили нтп специально/непроизвольно. И эталон надо брать не на том хосте, на котором проверяем

Марк ☢
23.11.2017
20:32:20
Alexey
23.11.2017
20:38:03
Не, тут чуть другое. 1-е нтп завис/лег/пропал. 2-ое враги сменили нтп специально/непроизвольно. И эталон надо брать не на том хосте, на котором проверяем
на одной из предыдущих работ мы просто продакшен синхронизировали с одним источником, а ntp на сервере мониторинга с другим. Мониторинг проверял разницу между хостом и сервером мониторинга

Roman
23.11.2017
20:59:12
@hagen1778 завести issue ?
да, завтра постараюсь посмотреть

Nik
23.11.2017
21:12:35
ну так нынче pool.ntp.org, их весьма утомительно будет завешивать/прикладывать/терять
Только не в закрытом контуре без доступа в реальную сеть. И если это 5 разных георазнесенных площадок, которые должны быть синхронны. А региональные ntp сервера иногда шалят. Короче все сложно)

yuyu
23.11.2017
21:22:50
Если есть возможность, то воткнуть в несколько опорных серверов источники от GPS и забыть про pool.ntp.org.

Vladimir
23.11.2017
21:34:51
если на локальных машинах держать ntpd, то можно всякое разное через ntpq тыкать

например ntpq -np localhost и смотреть delay'и между теми ntp куда твой локальный будет ходить

Алексей
23.11.2017
21:37:09
но если у вас есть возможность не связываться с именно ntpd — воспользуйтесь ею. 2017 год предлагает нам более одной реализации ntp сервера

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