Skip to content
EN

Как настроить Prometheus + Grafana

Коротко:

Prometheus (metrics storage) + Grafana (visualization) — open-source standard для monitoring. Deploy за 15 мин через Docker compose. Prometheus scrapes /metrics endpoints ваших apps + Node exporter (system metrics). Grafana подключается к Prometheus как data source, показывает dashboards. Нет lock-in: всё open-source, own-host.

Ниже: пошаговая инструкция, рабочие примеры, типичные ошибки, FAQ.

Проверить свой сайт →

Пошаговая настройка

  1. Создайте docker-compose.yml с prometheus + grafana services
  2. Напишите prometheus.yml с scrape_configs → ваши targets
  3. Add Node exporter на каждый сервер для system metrics
  4. Expose Prometheus :9090, Grafana :3000 (за reverse proxy с auth в prod)
  5. docker compose up -d
  6. В Grafana admin/admin → добавьте Prometheus (http://prometheus:9090) как data source
  7. Import готовый dashboard: Grafana Dashboards → Node Exporter Full (ID 1860)
  8. Для монитора uptime снаружи — Enterno Monitor дополняет

Рабочие примеры

СценарийКонфиг
docker-compose.ymlservices: prometheus: image: prom/prometheus ports: ["9090:9090"] volumes: [./prometheus.yml:/etc/prometheus/prometheus.yml] grafana: image: grafana/grafana ports: ["3000:3000"] environment: - GF_SECURITY_ADMIN_PASSWORD=change_me
prometheus.ymlscrape_configs: - job_name: 'node' static_configs: - targets: ['host.docker.internal:9100'] - job_name: 'app' metrics_path: '/metrics' static_configs: - targets: ['app:8080']
Node exporterdocker run -d --name node-exporter \ --net="host" --pid="host" \ -v /:/host:ro \ prom/node-exporter --path.rootfs=/host
PromQL query (CPU idle)rate(node_cpu_seconds_total{mode="idle"}[5m])
Alert rulegroups: - name: example rules: - alert: HighCPU expr: rate(node_cpu_seconds_total{mode!="idle"}[5m]) > 0.9 for: 5m

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

  • Grafana exposed :3000 без auth → весь dashboard public
  • Prometheus без retention config держит ВСЕ metrics forever → диск кончится
  • Scrape interval 5 sec × 100 targets = heavy load. Default 15-30 sec
  • High cardinality labels (user_id) → memory explosion в Prometheus
  • Docker bridge networking: targets "localhost" не работают → используйте service name

Как настроить Prometheus и Grafana: краткое руководство

Для настройки Prometheus и Grafana в 2026 году вам нужно установить Prometheus, настроить его конфигурацию для сбора метрик, а затем подключить Grafana для визуализации данных. Используйте prometheus.yml для определения источников метрик и grafana-cli для установки Grafana. Пример команды для установки Prometheus: wget https://github.com/prometheus/prometheus/releases/download/v2.36.0/prometheus-2.36.0.linux-amd64.tar.gz.

Шаги по установке и настройке Prometheus

Для начала, скачайте последнюю версию Prometheus с официального сайта. Распакуйте архив и перейдите в директорию с исполняемыми файлами. Запустите Prometheus с помощью команды:

./prometheus --config.file=prometheus.yml

В файле prometheus.yml укажите источники метрик. Например, если вы хотите мониторить Node Exporter, добавьте следующий блок:

scrape_configs:
  - job_name: 'node'
    static_configs:
      - targets: ['localhost:9100']

После этого запустите Prometheus, и он начнет собирать метрики с указанного источника.

Настройка Grafana для визуализации метрик

После установки Prometheus, следующим шагом будет установка Grafana. Используйте следующую команду для установки:

sudo apt-get install grafana

Запустите Grafana с помощью команды:

sudo systemctl start grafana-server

Теперь откройте веб-браузер и перейдите по адресу http://localhost:3000. Введите стандартные учетные данные (логин: admin, пароль: admin) для входа в Grafana.

Добавление источника данных Prometheus в Grafana

После входа в Grafana, добавьте Prometheus как источник данных. Перейдите в Configuration > Data Sources > Add data source. Выберите Prometheus и введите URL, по которому доступен ваш Prometheus (обычно http://localhost:9090).

Теперь вы можете создавать панели и дашборды, используя метрики, собранные Prometheus. Добавьте виджет и выберите нужные метрики для визуализации. Например, для отображения загрузки CPU используйте метрику node_cpu_seconds_total.

В результате, вы получите мощную систему мониторинга, которая позволит отслеживать состояние ваших приложений и инфраструктуры в реальном времени.

Больше по теме

Часто задаваемые вопросы

Prometheus или InfluxDB?

Prometheus — pull model, простой setup, TSDB. InfluxDB — push model, SQL-like queries, better long-term. Prometheus лучше для Kubernetes/microservices.

Retention — сколько хранить?

Default 15 дней. Для long-term — remote storage (Thanos, Cortex, Grafana Mimir) или Prometheus federation.

Alerts — где настраивать?

Alertmanager (отдельный service). Routes alerts в email, Slack, PagerDuty, Telegram.

Сравнение с Datadog/New Relic?

Prometheus+Grafana — self-hosted, free. Datadog — SaaS, $15+/host/мес, лучше UX. Выбор по budget vs control.

Запустить инструмент, который описан в этой статье

Бесплатный тариф — 10 мониторов, проверки каждые 5 мин, без карты. Платные тарифы — интервал от 1 минуты и проверки из нескольких регионов.