Установка и запуск

Тема дорожной карты · Prometheus

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

Как это работает

Установка и запуск Prometheus осуществляются через Go-бинарь prometheus. Этот бинарь можно запустить как с помощью предварительно скомпилированных бинарных файлов, так и через Docker или менеджеры пакетов. Для запуска Prometheus используется конфигурационный файл prometheus.yml, в котором задаются параметры сбора метрик, оповещений и правил. Конфигурационный файл включает в себя разделы global, scrape_configs, alerting и rule_files, которые определяют интервалы сбора данных, цели сбора, адрес Alertmanager и правила записи.

Запуск Prometheus через официальный Docker-образ выполняется командой docker run -p 9090:9090 prom/prometheus, при этом можно смонтировать пользовательский prometheus.yml через том. Для Kubernetes среды рекомендуется использовать Prometheus Operator, который позволяет управлять экземплярами Prometheus как пользовательскими ресурсами Kubernetes.

Конфигурация Prometheus может быть перезагружена без необходимости перезапуска процесса, что позволяет быстро адаптироваться к изменениям в конфигурации. Это достигается с помощью команды kill -HUP <pid> или POST запроса /-/reload, если параметр --web.enable-lifecycle установлен.

Когда применять

Выбор метода установки Prometheus зависит от конкретной среды развёртывания. Для Kubernetes среды рекомендуется использовать kube-prometheus-stack, который пакетирует Prometheus, Alertmanager, Grafana, node-exporter и kube-state-metrics с разумными дефолтными настройками. Для сред, не использующих Kubernetes, рекомендуется использовать официальный Docker-образ Prometheus с persistent volume и reverse proxy для обеспечения доступности и безопасности.

Важно отметить, что при запуске Prometheus следует всегда указывать параметр --storage.tsdb.retention.time, чтобы определить политику хранения данных. Дефолтное значение 15d может быть недостаточным или избыточным в зависимости от конкретной ситуации, поэтому его следует настраивать в соответствии с требованиями к хранению данных. Также рекомендуется использовать параметр --web.enable-lifecycle для поддержки hot reload конфигурации.

Типичные ошибки

Типичные ошибки при установке и запуске Prometheus включают использование системы без persistent storage, что приводит к стиранию истории данных при каждом рестарте. Также ошибкой является использование дефолтного значения 15d retention на системе, которая генерирует большое количество данных (например, 1TB в день), что может привести к быстрому заполнению диска. Важно также обеспечить безопасность экспозиции /metrics и UI в публичный интернет, чтобы избежать утечки информации (info leak) через неавторизованный доступ.

Связанные понятия

Полезные ресурсы