Установка и Настройка 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.