
Maxim
24.09.2016
12:01:11
ну это я тогда и предложил
подампить счетчик и посчитать руками

Phil
24.09.2016
12:03:36
Тут это @demeliorator спрашивал про конфигурирование графаны. У графаны REST API есть. curl'ом же всё можно

Алексей
24.09.2016
12:03:52
9702004251
9702018989
9702032952
9702047309
9702061903
9702076114
9702090594
9702105415
9702119243
9702133650

Google

Maxim
24.09.2016
12:03:52
да причем тут это

Алексей
24.09.2016
12:03:55
вот оно

Maxim
24.09.2016
12:04:00
графана - последнее звено

Алексей
24.09.2016
12:04:04
10 последовательных значений
вот запрос net_bytes_sent{host="wrk",interface="eno16780032"}
график
rate(net_bytes_sent{host="wrk01_tambov",interface="eno16780032"}[60s])

Phil
24.09.2016
12:06:45

Maxim
24.09.2016
12:09:44
так, простите, коллеги, мне надо отойти минут на 20

Алексей
24.09.2016
12:14:14
9702004251-9702018989=-14738/10*8=11790.4
9702018989-9702032952=-13963/10*8=11170.4
9702032952-9702047309=-14357/10*8=11485.6
9702047309-9702061903=-14594/10*8=11675.2
9702061903-9702076114=-14211/10*8=11368.8
9702076114-9702090594=-14480/10*8=11584.0
9702090594-9702105415=-14821/10*8=11856.8
9702105415-9702119243=-13828/10*8=11062.4
9702119243-9702133650=-14407/10*8=11525.6
не врет.
rate(net_bytes_sent{host="wrk",interface="eno16780032"}[60s])*8
тоже самое из инфлюкса

Google

Алексей
24.09.2016
12:18:19
SELECT non_negative_derivative(mean("bytes_recv"), 10s) FROM "net" WHERE "host" =~ /^$host$/ AND $timeFilter GROUP BY time(10s) fill(null)

Maxim
24.09.2016
13:58:30
@freeseacher а у тебя в irate какой интервал стоит?

Алексей
24.09.2016
13:58:38
@pipopolam данные отдаются один раз.

Maxim
24.09.2016
13:58:48
нене

Алексей
24.09.2016
13:58:52
да да

Maxim
24.09.2016
13:59:05
я про irate(...)[чо-тут-написато]?
я кароч вроде починил :D

Алексей
24.09.2016
13:59:46
60s
https://github.com/prometheus/prometheus/issues/1904
это мой запрос по тому сколько ставить

Maxim
24.09.2016
14:02:51
> you can only compute a rate over at least two samples of a counter (this is not a Prometheus restriction, it's a mathematical one).
вот тут юлиус все правильно сказал
я тут короче привлек двух математиков и одного ведущего собаковода
и они мне все объяснили :D
короче

Алексей
24.09.2016
14:04:25
сейчас ты скажешь resolution и я окончательно запутаюсь

Maxim
24.09.2016
14:04:59
когда у тебя scrape_interval: 1m, ты в irate()[time] НЕ МОЖЕШЬ поставить значение меньше двух минут

Алексей
24.09.2016
14:05:17
но у меня 10s

Maxim
24.09.2016
14:05:17
потому что ему нужно минимум две точки
scrape_interval десять секунд?

Google

Алексей
24.09.2016
14:05:41
а rate 60s это 5 точек минимум

Maxim
24.09.2016
14:05:59
так

Алексей
24.09.2016
14:06:03
и в telegraf и в проме

Maxim
24.09.2016
14:06:04
соотсно получается так
ты берешь два значения с разницей в десять секунд
вычитаешь первое из последнего, делишь на разницу по времени.

Алексей
24.09.2016
14:07:51
я это и сделал
результаты праивльные
но бесполезные. и отличаются в 10 раз.

Maxim
24.09.2016
14:08:22
и дальше умножаешь на восемь, чтобы из bytes per sec получить bits per sec

Maxim
24.09.2016
14:08:40
и с учетом двадцатисекундной погрешности получаешь верный результат
то есть дрехсекундный пик на десять гбпс ты все-равно не поймаешь
только если он не попадет на момент съема показателей
это не баг, это фича ;)
такие дела

Алексей
24.09.2016
14:10:05
это не gauge
это counter

Maxim
24.09.2016
14:10:18
so what?

Google

Алексей
24.09.2016
14:10:18
увидешь же

Maxim
24.09.2016
14:10:21
нет

Dmitry
24.09.2016
14:10:27
-14738
-14738/10*8
-11784
-14738*8/10
-11790

Maxim
24.09.2016
14:10:29
ну он размазан будет

Алексей
24.09.2016
14:10:36
на 10 секунд?
и фиг с ним

Admin
ERROR: S client not available

Maxim
24.09.2016
14:10:42
по этим двадцати секундам

Dmitry
24.09.2016
14:10:42
ошибки округлегления вводите

Maxim
24.09.2016
14:10:50
дада, и я об этом

Dmitry
24.09.2016
14:11:02
умножать до деления надо

Maxim
24.09.2016
14:11:21
бррр
погодите
а чего вы там делите
ааааблин, время
извините

Dmitry
24.09.2016
14:14:29
да

Maxim
24.09.2016
14:14:39
ну в общем да

Dmitry
24.09.2016
14:14:40
или хотя бы разность

Google

Maxim
24.09.2016
14:14:43
makes sense

Dmitry
24.09.2016
14:14:52
сначала все умножения, потом все деления

Maxim
24.09.2016
14:15:00
только я не уверен, что в прометее так можно

Dmitry
24.09.2016
14:15:14
я в NOC'е долго возился, чтобы корректно сделать преобразование counter'ов с минимальной потерей точности
мне пришлось отдельно передавать значения, отдельно - масштаб
потому как просто counter нельзя умножить на 8
может разрядности не хватить

Maxim
24.09.2016
14:18:50
да, похоже что нельзя
всмысле - помножить перед делением

Алексей
24.09.2016
14:34:19
делать то чо :)

Maxim
24.09.2016
14:34:22
в общем, тут уже лучше не сделать, как я понимаю
sum by(host, interface) (rate(net_bytes_recv{host=~"$host.*", interface=~"eth.*"}[1m]))*8
sum by(host, interface) (rate(net_bytes_sent{host=~"$host.*", interface=~"eth.*"}[1m]))*8
sum by наверное не нужен
это я по привычке
ща сверю
да, никакой разницы
rate(net_bytes_recv{host=~"$host.*", interface=~"eth.*"}[1m])*8
rate(net_bytes_sent{host=~"$host.*", interface=~"eth.*"}[1m])*8
https://dl.dropboxusercontent.com/s/xka2ilwib7nfk21/Grafana_-_Host_Stats_2016-09-24_17-37-30.png?dl=0
вот так выглядит в итоге