
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
почему потому то ?

Zon
22.09.2016
09:19:49

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
странно отказываться от возможности писать код, когда она у тебя есть