Size: a a a

Церковь метрик

2020 June 15

AS

Aleksey Shirokikh in Церковь метрик
Andrey Korviakov
Привет!

Ребят, хочу закинуть свою поделку, может кому-то тоже будет полезна.

В своей работе часто сталкивался с ситуацией когда мы почти или уже проморгали домен. Когда это случилось в очередной раз, пришлось трансформировать кофе в код и сделать утилиту, которая уже не раз спасала наши задницы. Приложение мониторит Ingress ресурсы в Kubernetes кластере, агрегирует информацию обо всех доменах и отдает метрики c информацией об их экспайре в Prometheus.

Буду рад получить фидбэк и замечания по коду.

Немного больше информации вы можете найти здесь https://github.com/shurshun/domain-harvester
Крутяк!
источник

Д

Даня in Церковь метрик
Andrey Korviakov
Честно говоря, у blackbox задумка хорошая, но с реализацией немного беда.
как и во всем прометее
источник

AS

Aleksey Shirokikh in Церковь метрик
Andrey Korviakov
Привет!

Ребят, хочу закинуть свою поделку, может кому-то тоже будет полезна.

В своей работе часто сталкивался с ситуацией когда мы почти или уже проморгали домен. Когда это случилось в очередной раз, пришлось трансформировать кофе в код и сделать утилиту, которая уже не раз спасала наши задницы. Приложение мониторит Ingress ресурсы в Kubernetes кластере, агрегирует информацию обо всех доменах и отдает метрики c информацией об их экспайре в Prometheus.

Буду рад получить фидбэк и замечания по коду.

Немного больше информации вы можете найти здесь https://github.com/shurshun/domain-harvester
42 ?
источник

AK

Andrey Korviakov in Церковь метрик
Ну не скучное же “Initial commit” писать)
источник

SK

Sergey Korobov in Церковь метрик
Если писать 42 значит это последний коммит )
источник

AK

Andrey Korviakov in Церковь метрик
Это, конечно, злостный оффтоп, но я только недавно пересматривал фильм и категорически не согласен: это было лишь начало)
источник

ЕП

Евгений Павлов... in Церковь метрик
Всем привет, первый раз передо мной стоит задача замониторить "траффик" . Конкретно сейчас разбираюсь с его количеством на примере "активных соеденений" и хочется сделаеть алерт, если их ВНЕЗАПНО стало слишком мало или слишком много

Речь про AWS ELB и Grafana/Prometheus

ELB много и трафик на них разный, под каждый вручную настраивать не вариант, думаю над универсальным правилом каким-то

1) Есть у кого опыт/мнение, использовать ли Datasource Cloudwatch для этой этой задачи сразу в Grafana или использовать для прометея CloudWatch exporter?

2) Какие вообще best practice есть (можно ссылку или запрос в гугл) для такого мониторинга? Я далеко не дата аналитик и у меня в голове только что-то вроде "текущее значение - предыдущее значение, алерт если эта разница больше среднего значения за промежуток между измерениями"

3) Стоит ли alert сам делать в Grafana + CloudWatch, Grafana + Prometheus (exporter) или только через Prometheus alert ?


По любому из вопросов если хоть какие-то идеи накинете или вообще с чем лучше ознакомиться, какой в гугл запрос послать скажите, буду благодарен
источник

ST

Sergey Trapeznikov in Церковь метрик
а кто то пробовал мониторить состояния подов в кубе и делать алерты скажеем на ООМ статус? чет репу почесал - не помню чтобы такая метрика вообще существовала, есть какие то способы ее собирать без большого количества костылей?
источник

A

Alexander in Церковь метрик
Sergey Trapeznikov
а кто то пробовал мониторить состояния подов в кубе и делать алерты скажеем на ООМ статус? чет репу почесал - не помню чтобы такая метрика вообще существовала, есть какие то способы ее собирать без большого количества костылей?
kube-state-metrics, вроде, репортит oom-ы (хоть и довольно топорно). Или тебе надо именно по-pod-ово?
источник

PK

Pavel Kolobaev in Церковь метрик
Sergey Trapeznikov
а кто то пробовал мониторить состояния подов в кубе и делать алерты скажеем на ООМ статус? чет репу почесал - не помню чтобы такая метрика вообще существовала, есть какие то способы ее собирать без большого количества костылей?
node_vmstat_oom_kill
источник

ST

Sergey Trapeznikov in Церковь метрик
Pavel Kolobaev
node_vmstat_oom_kill
это же тупо счетчик, а не мониторинг статуса
источник

A

Alexander in Церковь метрик
Sergey Trapeznikov
это же тупо счетчик, а не мониторинг статуса
А что ты подразумеваешь под "мониторингом статуса"?
источник

ST

Sergey Trapeznikov in Церковь метрик
Alexander
kube-state-metrics, вроде, репортит oom-ы (хоть и довольно топорно). Или тебе надо именно по-pod-ово?
да, у меня немного нестандартное юзание куба и нет постоянных релизов с постоянными апдейтами рестартами подов, поды в массе своей статичные, и нужно лишь знать что под был убит ООМ
источник

PK

Pavel Kolobaev in Церковь метрик
да счетчик. увеличивается кажды раз когда что-то было убито по oom
источник

ST

Sergey Trapeznikov in Церковь метрик
Alexander
А что ты подразумеваешь под "мониторингом статуса"?
у приложений есть по 6-8 статусов обычно
вроде
RUNNING
READY
WAITING
STOPPED
TERMINATING и тому подобные
хочу получать алерт в слаку когда под перейдет в статус OOM
источник

ST

Sergey Trapeznikov in Церковь метрик
источник

ST

Sergey Trapeznikov in Церковь метрик
Pavel Kolobaev
да счетчик. увеличивается кажды раз когда что-то было убито по oom
счетчик бесполезен и не помогает детектить кто умер
источник

PK

Pavel Kolobaev in Церковь метрик
kube_pod_status_phase там есть статус пода
источник

A

Alexander in Церковь метрик
Sergey Trapeznikov
да, у меня немного нестандартное юзание куба и нет постоянных релизов с постоянными апдейтами рестартами подов, поды в массе своей статичные, и нужно лишь знать что под был убит ООМ
Можешь написать свой экспортер, который поллит значение из cgroup-ы или юзает oom_control для подписки на событие
https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/resource_management_guide/sec-Using_the_Notification_API
источник

ST

Sergey Trapeznikov in Церковь метрик
Pavel Kolobaev
kube_pod_status_phase там есть статус пода
я это понимаю, я про сами правила имею ввиду
я правильно понимаю что эту метрику должен давать kube-state-metrics?

скажем на обычной локальной инфре в прошлом на проекте я имел supervisord над приложениями, у Node exporter был модулек под него, и можно было читать статусы приложений
вот чет такое искал
источник