Архив метки: Prometheus

Prometheus: мониторинг сети с node_exporter – метрики сети CloudWatch и Docker –net=host

16 декабря 2021
 

 Начал обновлять дашборды в Grafana, и столкнулся с двумя интересными вещами. Первое – что же на самом деле показывается в CloudWatch для сети в графиках NetworkIn/Out (Bytes), как эти данные правильно интерпретировать, и как данные CloudWatch коррелируют с данными самого node_exporter? Второе – почему node_exporter должен быть запущен именно в режиме host network mode? Сначала… Читать далее »

Prometheus: мониторинг AWS Load Balancer Controller Controller в AWS EKS

10 декабря 2021
 

 “Внезапно”, но AWS ALB Controller умеет в метрики для Prometheus. Используем стандартный URI /metrics. Для начала – проверим, что метрики в поде есть. Находим под: Пробрасываем на него порт: И пробуем с рабочей машины: Супер – метрики есть. Осталось их собрать. Настройка Prometheus У нас на каждом AWS Elastic Kubernetes кластере свой Prometheus, который запускается… Читать далее »

Prometheus: Recording Rules и теги – разделяем алерты в Slack

26 ноября 2021
 

 С 2018 года используем Opsgenie, который получает алерты от Prometheus, CloudWatch и Uptrends, которые потом через Slack-интеграцию отправляет нам в Slack. Интеграции Slack на данный момент выглядят так: В каждой из них настроен фильтр по уровню важности, например интеграция P1, P2 > Slack #devops-alarms-warning: Но есть проблема: так как каналы получаются общие, то все алерты… Читать далее »

Prometheus: prometheus_replica и дублирование метрик

4 августа 2021
 

 После запуска Prometheus в виде трёх подов, см. Prometheus: ошибки «federation failed: broken pipe» и «Received SIGTERM, exiting gracefully» — постоянные рестарты – метрики начали дублироваться: Одна метрика получена от инстанса prometheus_replica=”prometheus-prometheus-prometheus-oper-prometheus-1″, вторая – от prometheus_replica=”prometheus-prometheus-prometheus-oper-prometheus-2″, так как запущено три пода: И в Grafana потом неправильно рисуются графики – вместо одного получаем три: Для решения… Читать далее »

AWS: мониторинг Simple Email Service с CloudWatch и Prometheus

10 июня 2021
 

 Случилась у нас бяда – AWS отключил нам отправку писем через AWS SES из-за bounce-рейта. Проверить это можно в AWS SES > Reputation Dashboard, аккаунт сейчас в статусе Under review: После обращения в тех. поддержку отправку почты нам временно включили, но решить проблему надо, а заодно – следить, что бы подобное не случалось в будущем.… Читать далее »

Prometheus: ошибки “federation failed: broken pipe” и “Received SIGTERM, exiting gracefully” – постоянные рестарты

7 апреля 2021
 

 Имеется Prometheus сервер, запущенный через Prometheus Operator в Kubernetes-кластере, см. Kubernetes: мониторинг кластера с Prometheus Operator. Prometheus сервера в каждом Kubernetes-кластере через Prometheus federation отправляют данные на центральный сервер. При больших нагрузках, например на нашем Kubernetes Dev кластере, где очень много подов, Prometheus начинает падать с ошибками: level=error ts=2021-03-31T07:31:18.765Z caller=federate.go:192 component=web msg=”federation failed” err=”write tcp… Читать далее »

Kubernetes: namespace висит в Terminating и неочевидности с metrics-server

23 марта 2021
 

 Столкнулся с весьма интересной проблемой при удалении Kubernetes Namespace. При попытке удалить неймспейс – он зависает в статусе Terminating, и никакие попытки его удалить не помогали. Рассмотрим варианты удаления, и докопаемся до причины. Создаём тестовый namespace: Пробуем его удалить – и удаление зависает: Проверяем – висит в Terminating: При этом в логах API-сервера никаких ошибок… Читать далее »

OpsGenie: настройка Incidents и Incidents Management проекта в целом

3 марта 2021
 

 Со временем в проекте пришли к тому, что пора бы записывать все инциденты, влияющие на работу сервисов и приложний. Раньше вели документ в Confluence, который заполняли руками – но решение так себе, ибо 90% инцидентов просто решали без добавления записей о них. Захотелось как-то навести порядок, ввести более адекватный Incidents Management (IcM), и вообще автоматизировать… Читать далее »

Prometheus: Alertmanager Web UI и Silence алертов

30 декабря 2020
 

 Частота отправки активных алертов из Alertmanager определяется параметром repeat_interval в файле /etc/alertmanager/config.yml. У нас этот интервал задан в 15 минут, в результате чего в Slack каждые 15 минут приходят уведомления обо всех активных алертах в системе. Но некоторые алерты это такие себе “known issue”, когда о проблеме мы знаем, девелоперы её взяли в работу для… Читать далее »

Kubernetes: HorizontalPodAutoscaler – обзор и примеры

11 августа 2020
 

 Kubernetes HorizontalPodAutoscaler, как видно из названия, предназначен для автоматического скейлинга Kubernetes Pods в кластере, которые управляются ReplicationController, Deployment или ReplicaSet контроллерами, основываясь на их метриках потребления ресурсов – CPU, память и т.д. Кратко его рассматривали в посте Kubernetes: запуск metrics-server в AWS EKS для Kubernetes Pod AutoScaler, теперь разберёмся с доступными метриками. Для HPA доступны… Читать далее »