Skip to content

Установка и Настройка Prometheus в Kubernetes с Helm

Prometheus — мощный инструмент для мониторинга и алертинга, который широко используется для отслеживания состояния кластеров Kubernetes. В этой статье мы рассмотрим, как установить Prometheus в Kubernetes с использованием Helm, а также как настроить алерт на перезапуски подов.

Установка Prometheus с использованием Helm

Helm — это пакетный менеджер для Kubernetes, который позволяет легко управлять приложениями и их зависимостями. Для установки Prometheus используем официальный репозиторий Helm чарты.

Шаг 1: Добавление репозитория Prometheus Community

Добавим репозиторий Prometheus Community в Helm:

helm repo add prometheus-community https://prometheus-community.github.io/helm-charts

Шаг 2: Поиск нужной версии Prometheus

Используем команду поиска, чтобы найти нужную версию чарта Prometheus:

helm search repo prometheus-community/prometheus --versions

Шаг 3: Скачивание и разархивирование чарта Prometheus

Скачаем и разархивируем конкретную версию чарта Prometheus: helm pull prometheus-community/prometheus --untar --version 25.6.0

Настройка алерта на перезапуски подов

После установки Prometheus можно настроить алерты для мониторинга различных метрик. В данном примере мы настроим алерт на перезапуски подов.

Пример правила алерта

Добавим следующее правило алерта в конфигурацию Prometheus:

- alert: 'PodRestart'
 expr: |
   rate(kube_pod_container_status_restarts[30m]) * 1800 > 2
 for: 1m
 labels:
   severity: warning
 annotations:
   title: "Pod {{$labels.namespace}}/{{$labels.pod}} restarting more than two times during last 30 minutes"
   description: "Container {{ $labels.container }} in Pod {{$labels.namespace}}/{{$labels.pod}} restarted {{ $value | printf "%.0" }} times during last 30 minutes."}

Пояснение конфигурации

  • alert: 'PodRestart': Название алерта.
  • expr: Выражение PromQL, которое вычисляет количество перезапусков контейнеров за последние 30 минут и умножает на 1800, чтобы получить значение в часах. Если значение больше 2, алерт срабатывает.
  • for: 1m: Алерт должен оставаться активным в течение 1 минуты, прежде чем сработать.
  • labels: Метки, добавляемые к алерту. В данном случае метка severity имеет значение warning.
  • annotations: Аннотации, которые содержат заголовок и описание алерта. Они помогут лучше понять причину и контекст срабатывания алерта.

Применение конфигурации

Добавьте правило алерта в файл конфигурации Prometheus и примените изменения. Это можно сделать, изменив соответствующий ConfigMap или файл конфигурации чарта Prometheus.

Установка и настройка Prometheus в Kubernetes с использованием Helm упрощает процесс мониторинга ваших кластеров. Настройка алертов, таких как отслеживание перезапусков подов, помогает своевременно выявлять и реагировать на проблемы. Следуя приведённым выше шагам, вы сможете быстро настроить Prometheus и начать мониторинг ваших приложений в Kubernetes.