
Vladimir
23.11.2017
21:41:42
и ваще что у тебя за статус

Andrey
23.11.2017
21:55:46

Алексей
23.11.2017
21:56:36

Vladimir
23.11.2017
21:57:12

Google

Vladimir
23.11.2017
21:57:16
и на это сделать мониторинг

Алексей
23.11.2017
21:57:28
ага да

Karey
23.11.2017
22:08:03
Вечер добрый. Поделитесь опытом, а вы как-нибудь собираете метрики или обрабатываете ситуации когда сервис теряет коннект с другим хостом или базой? Держать на каждом хосте blackbox_exporter и с него собирать инфу о доступности?

Andrey
23.11.2017
22:11:38
Прям как мы любим :)
Yes, that is a lot of graphs and data.
https://blog.ntpsec.org/2016/12/19/ntpviz-intro.html

evix
23.11.2017
22:12:25
если сервис теряет что-то, то он пишет логи, и это уже собирается

Сергей
23.11.2017
22:13:20

Karey
23.11.2017
22:14:14
Тоже думаю про это, мне вроде нравится вариант
С логами есть проблема, что хотелось бы все получать через один источник
А не отдельные алерты от прометея, сентри и вероятно кибаны

Сергей
23.11.2017
22:16:37
Ну на прошлом месте работы мы в один момент пришли к тому, что метрики нужные мы сами шлем куда надо

evix
23.11.2017
22:16:38
у нас есть приложения, которые пишут state-файлы, но чаще и проще всего парсить логи

Сергей
23.11.2017
22:19:56

evix
23.11.2017
22:24:43
лишние, конечно, но это иногда проще чем заставить погромистов написать аудит нормальный как вы вапще посмели усомниться в качестве моего кода засранцы

Google

Alexander
24.11.2017
00:05:12
проще гнать поганой метлой программеров, которые не хотят, чтобы работу их говнокода мониторили

Dmitry
24.11.2017
01:50:37
https://github.com/smpio/kubernator

Alexander
24.11.2017
02:01:45
интересно, но всё больше вспоминается анекдот про "14 несовместимых протоколов" ...

Сергей
24.11.2017
06:28:31

Dmitry
24.11.2017
06:51:14
Мне кажется пора уже написать инструментарий для основных языков, чтоб декораторами все вызвалось.
И потом в statsd
Для начала простейшее - эксепшен на функции. Типа @monitorIt

Сергей
24.11.2017
06:59:44
Спасибо

Alexey
24.11.2017
07:18:19
Дмитрий - либы же есть, для основных языков ))
капитаню )

Dmitry
24.11.2017
07:25:38
Дмитрий - либы же есть, для основных языков ))
Они есть, но все равно сложно для народа добавлять, приходится wrapperы делать итд. Для. Scala - kamon, например. он хорошо работает, но народ не хочет юзать инструментарий потому что оно как "тесты" - долго писать и особо не нужно

Nik
24.11.2017
07:28:27

b0g3r
24.11.2017
09:42:43
Есть инфлукс, где хранятся counter-метрики, есть графана, куда вывожу их в singlestat с помощью non_negative_difference. Можно ли как-нибудь полученное суммировать за час/минуту?

Alexey
24.11.2017
10:21:36

Alexander
24.11.2017
10:37:59
Но лучше запрос правильный написать, если это возможно.

b0g3r
24.11.2017
10:39:31
С удовольствием напишу, но пока не придумал как)

Zlokot
24.11.2017
12:15:04
вопрос про графану опять)) и видимо про cadvisor тоже.
надо получить список имен контейнеров на ноде.
и потом обратиться к каждому имени на определенный порт с помощью blackbox exporter для проверки доступности этого порта.
ну типа как telnet-ом это можно сделать - telnet host:port
если порт живой - OK
если не отзывается - алерт.
с чего начать?
например список контейнеров пока могу увидеть в графане в Table по подобному реквесту:
container_memory_usage_bytes{name=~".+",instance=~"$server:.*"}
если на табе Time range указать в Override relative time == 10s
то в таблице в графане отобразится точное кол-во сервисов с их полными именами.
например:
service1.awhwccj51cg691ouio6ghlxoy.s7nt0txv3ojcvupk9spmovcgu
этот хостнейм я могу изнутри сварм сетки пинговать и телнетиться на него на нужный порт.
вот как можно доставать такие хостнеймы и делать проверки на них?


Alexander
24.11.2017
13:10:22
Дошли наконец руки на потетсить go-stack graphite, ребят, подскажите, в каком порядке и какие сервисы инсталлить?

Google

Alexey
24.11.2017
13:20:35
go-carbon+carbonapi+grafana это минималка

Fedor
24.11.2017
13:50:25
всем привет. Умеет ли прометей повторно опрашивать экспортер в случае, если с экспортером не удалось соединиться? или откладывает до следующего цикла опроса?
например три попытки
перед признанием экспортера дохлым

Andrey
24.11.2017
16:01:10
Ребят, видимо я уже торможу, но ... ни у кого не было проблем с отображением трафика на интерфейсах в графане, собираемую prometheus'ом с node_exporter раз в 10 секунд? Судя по показаниям, скорость занижена в 10 раз

Andrey
24.11.2017
16:02:52
ну так вы в чём меряете и в чём отображаете :)

Andrey
24.11.2017
16:03:47

Andrey
24.11.2017
16:04:05
ну вот так прямо, чего ж тут не понятного

Andrey
24.11.2017
16:09:46

Alexey
24.11.2017
16:18:13
Точно не биты вместо байтов?

Andrey
24.11.2017
16:18:51
irate(node_network_transmit_bytes{instance=~"$node"}[5m])
я ж говорю, стандартный набор: prom, node_exporter, grafana, dashboard: node exporter full

Zhenia
24.11.2017
16:19:34
это в осях
вкладка axes, посмотри в чем измеряется ось Y

Andrey
24.11.2017
16:22:15
bytes in/out
Посмотрел в другом готовом дашборде, irate(node_network_receive_bytes{instance=~'$node'}[5m])*8, сволочи) Всем спасибо
И вот кто виноват? Это ж судя по всему глобальная проблема...

Andrey
24.11.2017
16:31:10
это не проблема, это вы видимо не совсем понимаете что творится ;)
подумайте, с чего волшебная цифирь 8 ВНЕЗАПНЕ берётся

Andrey
24.11.2017
16:34:47

Google

Zhenia
24.11.2017
16:36:35
просто нужно смотреть, что у вас отображается, когда используете чужие дашборды

Andrey
24.11.2017
16:44:01

Alexander
24.11.2017
16:48:32

Andrey
24.11.2017
16:49:14
где?

Alexander
24.11.2017
16:49:30
на вкладке Axes

Andrey
24.11.2017
16:51:18

Admin
ERROR: S client not available

Alexander
24.11.2017
16:53:47
А node_exporter что отдает?

Andrey
24.11.2017
16:56:21

Alexander
24.11.2017
16:56:41
не, значение какое?

Andrey
24.11.2017
16:57:55
там gauge же

Alexander
24.11.2017
17:05:53
А значения занижены по сравнению с чем?

Andrey
24.11.2017
17:10:21
Спасибо

Alexander
24.11.2017
17:11:12
Ok, с этими единицами измерения постоянно путаница.


Zlokot
24.11.2017
20:48:08
эх вот бы мне про мой вопрос так ответили, как выше)
вопрос про графану опять)) и видимо про cadvisor тоже.
надо получить список имен контейнеров на ноде.
и потом обратиться к каждому имени на определенный порт с помощью blackbox exporter для проверки доступности этого порта.
ну типа как telnet-ом это можно сделать - telnet host:port
если порт живой - OK
если не отзывается - алерт.
с чего начать?
например список контейнеров пока могу увидеть в графане в Table по подобному реквесту:
container_memory_usage_bytes{name=~".+",instance=~"$server:.*"}
если на табе Time range указать в Override relative time == 10s
то в таблице в графане отобразится точное кол-во сервисов с их полными именами.
например:
service1.awhwccj51cg691ouio6ghlxoy.s7nt0txv3ojcvupk9spmovcgu
этот хостнейм я могу изнутри сварм сетки пинговать и телнетиться на него на нужный порт.
вот как можно доставать такие хостнеймы и делать проверки на них?

Alexander
24.11.2017
20:57:56


Karey
24.11.2017
20:58:50
1) Не обязательно пользоваться telnet есть tcp проверки
2) Есть какой-нибудь sd? DNS, Consul
3) Откуда такие хостнэймы монструозные?
4) И да, графана тут вообще ни при чем.
В том же Consul есть проверка живучести через docker engine, как вижу этот вариант хорошо подойдет.

Google

Zlokot
24.11.2017
21:03:58
3) - так именуется контейнер после старта в докер стеке. каждая реплика имеет после имени, такой вот цифробуквенный ID
dns есть только бортовой от докера. его и не поконфигурить то толком..

Karey
24.11.2017
21:05:17
Хотя нет, хэсчеки от консула тут не очень помогут, состояние сервиса не передается в метриках, что печально

Zlokot
24.11.2017
21:05:52
1) я про телнет в качестве примера - тако то да - в blackbox есть tcp проверка, но мне надо проверять именно те контейнеры, которые на выбранном хосте, ибо если проверять просто по хостнейму service1 - то сработает Round Robin и реквест уйдет на рандомный контейнер-реплику сервиса
а мне хочется понимать статус реплик контейнеров на каждой ноде - то есть надо обращаться именно к конкретной реплике - а это надо добавлять к хостнейму этот ID
и ID я пока смог "снимать". только в графане, из метрик cadvisor похоже
технически надо както сразу в конфиг blackbox exporter передавать эти уникальные хостнеймы реплик и уже их и опрашивать.
но надо учесть, что после рестарта контейнера - ID ведь меняется

Karey
24.11.2017
21:09:43
А вот такой способ не работает discovery? https://github.com/prometheus/prometheus/issues/1766#issuecomment-245423308

Andrey
24.11.2017
21:13:19

Zlokot
24.11.2017
21:16:24
ну всмысле - это мне дашборд покажет что какаято реплика DOWN - как мне понять на какой ноде ее искать..
вот

Karey
24.11.2017
21:18:38
А в instance будет только ip?

Andrey
24.11.2017
21:18:55

Karey
24.11.2017
21:19:47
А почему не сделать relabel
__meta_dns_name
в какой нибудь host?

Zlokot
24.11.2017
21:20:22
ну там у меня счас то, что в конфиге прометея описано - там file_sd_config и список нод

Karey
24.11.2017
21:20:27
Прошу прощения, не работал со swarm и может не понимаю сложности в полной мере

Zlokot
24.11.2017
21:22:14
вот такая job в конфиге прома
- job_name: 'env'
scrape_interval: 5s
file_sd_configs:
- files:
- /etc/prometheus/env.yml