@metrics_ru

Страница 34 из 681
ptchol
21.09.2016
13:32:18
или вобще все ?

Maxim
21.09.2016
13:32:26
вообще все

в рамках DC = selectel

ptchol
21.09.2016
13:32:46
а все.

Google
ptchol
21.09.2016
13:32:48
я вкурил

вы через консул просто дискаверите агентов node_exporter

заведя node_exporter как сервис

тоесть чтобы не держать статичный список узлов, каждый раз перед опросом метрик, вы его получаете из консула.

Maxim
21.09.2016
13:35:27
дада

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

типа: # cat /var/lib/consul/checks/cadvisor_process_check #!/bin/bash processes=$(/usr/bin/sudo /usr/bin/docker ps -q -f 'name=cadvisor' -f 'status=running'|wc -l) if [ "${processes}" -eq "1" ]; then exit 0; fi exit 255

это будет поджигать датчик consul_catalog_service_node_healthy

c именем cadvisor

ptchol
21.09.2016
13:40:03
а кстати вы как разделяете мониторинг хотстовый и контейнеров ?

Alexandr
21.09.2016
13:41:24
Коллеги, окажите хепл с графитом

[default_1min_for_1day] pattern = .* retentions = 30s:7d,1m:7d,10min:1y

коллектд метрики идут на 24h, а карбон живет уже хз сколько..

Google
Maxim
21.09.2016
13:41:59
в кадвизор смотрит одна жоба

в ноде_експортеры - другая

- job_name: 'cadvisor' consul_sd_configs: - server: 127.0.0.1:8500 datacenter: selectel services: [cadvisor] relabel_configs: - source_labels: [__meta_consul_node] regex: (.+) target_label: instance replacement: '${1}' metric_relabel_configs: - source_labels: [__meta_consul_tags] regex: (production|staging) target_label: environment replacement: '${1}'

ptchol
21.09.2016
13:42:58
типа вот есть у нас collectd и мониторит диски \интерфейсы, туда насыпает постоянно шлака от контейнеров. А есть cadvisor который от этого избавляет. но вроде как не умет сам запушить данные в какой нить графит. все равно получается каким то образом сами тащите данные опредленным образом из cadvisor ?

Maxim
21.09.2016
13:48:17
ну так прометей на это и заточен

в него нельзя запушать ничего

он ходит по таргетам и собирает

кстати из коллектд он тоже может выгребать

@ptchol возьми любой кадвизор свой и постучи ему курлом на :10250/metrics

вот именно это у него попросит прометей

Vladimir
21.09.2016
14:26:40
а он говорят не очень
он не очень, но быстрее него нет

но мониторинг по висперу это странно

ptchol
21.09.2016
15:36:19
у меня опять засада с графитом

приходят метрики. каждые 10 минут приходят нули но раз в час норм значение

как мне эти нули либо ремувнуть из серии, либо превратить в предыдущее значение )

Dmitry
21.09.2016
15:45:04
не слать нули

ахах, простите

но это правда проще всего

ptchol
21.09.2016
15:49:39
я смог сам)

Google
Magistr
22.09.2016
08:27:02
Заходят метрики форматов opentsdb, graphite, influxdb, zabbix, nagios, sensu и prometheus в бар, бармен пиздит админа-хипстера

ptchol
22.09.2016
08:34:48
0_о

Maxim
22.09.2016
08:35:32
а чо хипстера-то

вон он заббикс с нагиосом тож принес

ptchol
22.09.2016
08:37:40
и опентсдб))

Magistr
22.09.2016
08:56:50
вот потому что все вместе и принес

ptchol
22.09.2016
08:57:48
почему потому то ?

Kirill
22.09.2016
09:20:45
выбирает между баром и антикафе

Dmitry
22.09.2016
09:21:12
ptchol
22.09.2016
09:26:53
фу

всегда весело ребутить что то такое что у тебя обвешено тонной лампочек

Artur
22.09.2016
10:17:34
ну ты же про алертинг спрашивал
консул и скрипты для мониторинга ему шефом разворачиваете?

Maxim
22.09.2016
10:19:45
да

Artur
22.09.2016
10:20:23
консул в контейнерах или демоном?

Maxim
22.09.2016
10:20:34
демоном

написал враппер вот для этого кукбука: https://github.com/johnbellone/consul-cookbook

и все в нем гоняю

ptchol
22.09.2016
10:25:40
посоны

вопрос есть ))

Google
ptchol
22.09.2016
10:26:30
смотрите, приходят данные вот так.

если сделать по этому производную то я получу нифига )

потому что там нули

а если среднее то тоже хрень.

Igor
22.09.2016
10:27:09
Сделай интеграл по объёму

И бочку — дельфинчиком

Aleksandr
22.09.2016
10:27:38
поставь Group by time interval побольше

ptchol
22.09.2016
10:28:44
непонял

Aleksandr
22.09.2016
10:29:00
это же инфлюкс?

ptchol
22.09.2016
10:29:26
нет это графит

Aleksandr
22.09.2016
10:30:06
тогда извиняй

ptchol
22.09.2016
10:30:19
и групбай не спасет, если точка пустая

Igor
22.09.2016
10:31:40
Нужна какая-нить интерполяция

КМК

ptchol
22.09.2016
10:31:57
а туплю.

производная от суммы же будет такая же ))

а не, не такая же

Vladimir
22.09.2016
12:00:37
Чтоб дыр не быоо

Dmitry
22.09.2016
12:01:21
написать функцию, которая из нулей делает Nan'ы, а потом сделать discreteDataSticking

Google
Dmitry
22.09.2016
12:01:30
функцию написать - 10 строк кода

Vladimir
22.09.2016
12:01:57
Или так, да

Dmitry
22.09.2016
12:15:26
diff —git a/webapp/graphite/render/functions.py b/webapp/graphite/render/functions.py index ca29925..e3e3669 100644 —- a/webapp/graphite/render/functions.py +++ b/webapp/graphite/render/functions.py @@ -2519,6 +2519,20 @@ def threshold(requestContext, value, label=None, color=None): return [series] + +def transformZeroToNull(requestContext, seriesList, default=0): + def transform(v): + if v == 0: return None + else: return v + + for series in seriesList: + series.name = "transformZeroToNull(%s,%g)" % (series.name, default) + series.pathExpression = series.name + values = [transform(v) for v in series] + series.extend(values) + del series[:len(values)] + return seriesList + def transformNull(requestContext, seriesList, default=0): """ Takes a metric or wild card seriesList and an optional value @@ -3337,6 +3351,7 @@ SeriesFunctions = { 'areaBetween' : areaBetween, 'threshold' : threshold, 'transformNull' : transformNull, + 'transformZeroToNull' : transformZeroToNull, 'isNonNull' : isNonNull, 'identity': identity, 'discreteSticking': discreteSticking,

простите, не удержался)

Maxim
22.09.2016
12:15:52
use triple backticks, luke

Igor
22.09.2016
12:16:03
`пиздец тебе`

Dmitry
22.09.2016
12:16:49
не пиздец тебе Вот так.

о

Kirill
22.09.2016
12:33:57
#naming как вы метрики именуете? нагуглил кучу советов вроде hostname.app.subsystem.noun.past_verbтипа s1.huifikator.webserver.words.huified, но это всё про каунтеры, а как называть gauges и timers?

Dmitry
22.09.2016
12:39:35
у нас всегда было retention.hostname.subsystem.counter и я ни разу не жалел о такой схеме

ptchol
22.09.2016
12:43:03
вобще хреновый подход

под каждую проблему переисывать код под себя

а потом еще саппортить его как то

а потом кучу внешних систем аля графаны завязывать на это

Dmitry
22.09.2016
12:44:12
странно так размышлять. Какой то интырпрайз у тебя в голове

ptchol
22.09.2016
12:44:28
0_о

а при чем тут интерпрайз и чего странного ?

Dmitry
22.09.2016
12:45:27
странно отказываться от возможности писать код, когда она у тебя есть

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