Установка ПО · 9 min read · Oct 09, 2025

Как установить Grafana и Prometheus на Ubuntu 24.04

Grafana — это платформа визуализации данных с открытым исходным кодом и многоплатформенная, разработанная компанией Grafana Labs. Grafana предоставляет интерактивное веб-приложение для визуализации данных, которое включает графики, диаграммы и оповещения. С помощью Grafana вы можете запрашивать, визуализировать, настраивать оповещения и исследовать метрики, логи и трассировки TSDB. Это мощный инструмент, который превращает данные временной базы данных (TSDB) в информативные графики и визуализации.

В Grafana вы можете добавить данные вашей временной базы данных через «Источник данных». Grafana поддерживает множество источников данных, таких как Prometheus, InfluxDB, PostgreSQL, Loki, Jaeger, Graphite, Google Cloud Monitoring, AWS CloudWatch, Azure Monitor и многие другие.

В этом руководстве вы узнаете, как установить Grafana, Prometheus и node_exporter на серверах Ubuntu 24.04. Вы также установите Nginx в качестве обратного прокси для Grafana, интегрируете node_exporter и Prometheus, а затем добавите Prometheus в качестве источника данных на панели управления Grafana.

Предварительные требования

Перед тем как начать, убедитесь, что у вас есть:

  • Два или три сервера Ubuntu 24.04.
  • Непривилегированный пользователь с правами администратора.

Установка Grafana на Ubuntu

Grafana — это веб-приложение для визуализации данных. Чтобы установить Grafana, вам нужно добавить репозиторий Grafana. В этом примере вы также установите Nginx в качестве обратного прокси для Grafana.

Установка зависимостей и добавление репозитория

В этом разделе вы установите зависимости, включая Nginx, а затем добавите репозиторий Grafana.

Сначала выполните команду ниже, чтобы установить зависимости для Grafana. Наберите Y, чтобы подтвердить установку.

sudo apt install gnupg2 apt-transport-https software-properties-common wget nginx

install deps

Теперь добавьте GPG-ключ и репозиторий Grafana с помощью следующей команды.

wget -q -O - https://packages.grafana.com/gpg.key > grafana.key cat grafana.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/grafana.gpg > /dev/null
echo ‘deb [signed-by=/etc/apt/trusted.gpg.d/grafana.gpg] https://packages.grafana.com/oss/deb stable main’ | sudo tee /etc/apt/sources.list.d/grafana.list

Затем обновите и обновите индекс пакетов с помощью команды ниже:

sudo apt update

add repo and update

Установка и настройка Grafana

После добавления репозитория Grafana вы установите пакет Grafana с помощью менеджера пакетов APT. Затем настройте Grafana для работы на localhost с доменом, таким как howtoforge.local.

Чтобы установить Grafana, выполните следующую команду apt. Наберите Y, чтобы продолжить установку.

sudo apt install grafana

install grafana

После завершения установки перезагрузите менеджер systemd с помощью команды ниже:

sudo systemctl daemon-reload

Теперь вы можете запустить и включить grafana-server с помощью следующей команды systemctl. Затем проверьте, чтобы убедиться, что служба работает.

sudo systemctl enable --now grafana-server  
sudo systemctl status grafana-server

В следующем выводе вы можете увидеть, что grafana-server работает и включен.

start enable verify grafana

С работающим grafana-server вы настроите его для работы на localhost.

Откройте конфигурацию Grafana /etc/grafana/grafana.ini с помощью редактора nano.

sudo nano /etc/grafana/grafana.ini

Измените конфигурацию по умолчанию следующим образом. Убедитесь, что вы изменили параметр domain на ваше локальное доменное имя для Grafana. В этом примере вы будете запускать Grafana в домене howtoforge.local.

[server]

# IP-адрес для привязки, пустой будет привязываться ко всем интерфейсам
http_addr = localhost

# Порт http для использования
http_port = 3000

# Публичное доменное имя, используемое для доступа к grafana из браузера
domain = howtoforge.local

Когда закончите, сохраните файл и выйдите из редактора.

Теперь выполните команду ниже, чтобы перезапустить grafana-server и применить ваши изменения. С этим Grafana должно работать на localhost с портом HTTP по умолчанию 3000.

sudo systemctl restart grafana-server

Настройка Nginx в качестве обратного прокси

В этом разделе вы создадите новый блок сервера Nginx в качестве обратного прокси для grafana-server, который работает на localhost с портом 3000.

Создайте новую конфигурацию блока сервера Nginx /etc/nginx/sites-available/grafana.conf с помощью редактора nano.

sudo nano /etc/nginx/sites-available/grafana.conf

Добавьте следующую конфигурацию, чтобы настроить Nginx в качестве обратного прокси для Grafana. Убедитесь, что вы изменили параметр server_name на ваше доменное имя Grafana.

# это необходимо для проксирования соединений WebSocket Grafana Live.
map $http_upgrade $connection_upgrade {
  default upgrade;
  '' close;
}

server {
    listen      80;
    server_name howtoforge.local;

  root /usr/share/nginx/html;
  index index.html index.htm;


  access_log /var/log/nginx/grafana-access.log;
  error_log /var/log/nginx/grafana-error.log;

  location / {
    proxy_set_header Host $http_host;
    proxy_pass http://localhost:3000/;
  }

  # Прокси соединений WebSocket Grafana Live.
  location /api/live {
    rewrite  ^/(.*)  /$1 break;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $connection_upgrade;
    proxy_set_header Host $http_host;
    proxy_pass http://localhost:3000/;
  }
}

Сохраните файл и выйдите из редактора.

Теперь выполните следующую команду, чтобы активировать блок сервера grafana.conf и проверить синтаксис вашего Nginx. Если у вас правильный синтаксис, вы увидите вывод test is Successful - syntax is OK.

sudo ln -s /etc/nginx/sites-available/grafana.conf /etc/nginx/sites-enabled/  
sudo nginx -t

setup nginx

Затем выполните команду systemctl ниже, чтобы перезапустить и проверить статус веб-сервера Nginx.

sudo systemctl restart nginx  
sudo systemctl status nginx

Вы увидите, что веб-сервер Nginx работает:

check nginx

Теперь посетите ваше доменное имя Grafana, например http://howtoforge.local/. Если ваша установка успешна, вы увидите страницу входа в Grafana.

Войдите с помощью имени пользователя по умолчанию admin и пароля admin.

login grafana

После входа в систему введите новый пароль для вашей установки Grafana и нажмите Отправить, чтобы подтвердить.

change password

Вы увидите панель управления Grafana, как показано ниже:

dashboard

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

Prometheus — это платформа мониторинга и оповещения. С работающей Grafana вы установите Prometheus на сервер 192.168.5.16.

Установка Prometheus

В этом разделе вы установите Prometheus вручную, загрузив бинарный файл Prometheus на вашу систему. Перед этим вы также создадите нового системного пользователя и prometheus.

Сначала выполните команду ниже, чтобы добавить нового пользователя и группу prometheus.

sudo groupadd --system prometheus  
sudo useradd -s /sbin/nologin --system -g prometheus prometheus

Создайте новый каталог данных /var/lib/prometheus и каталоги конфигурации /etc/prometheus.

sudo mkdir -p /var/lib/prometheus  
for i in rules rules.d files_sd; do sudo mkdir -p /etc/prometheus/${i}; done

Загрузите последнюю версию Prometheus для Linux с помощью следующей команды.

curl -s https://api.github.com/repos/prometheus/prometheus/releases/latest|grep browser_download_url|grep linux-amd64|cut -d ‘"’ -f 4|wget -qi -

После загрузки извлеките бинарный файл Prometheus с помощью команды tar и перейдите в него.

tar xvf prometheus*.tar.gz  
cd prometheus*/

Переместите бинарные файлы prometheus и promtool в каталог /usr/local/bin. Затем переместите каталоги конфигурации и файл prometheus.yml в каталог /etc/prometheus.

sudo mv prometheus promtool /usr/local/bin/  
sudo mv consoles console_libraries prometheus.yml /etc/prometheus/

Наконец, выполните команду ниже, чтобы изменить разрешения и владельца каталога конфигурации и данных Prometheus на пользователя prometheus.

for i in rules rules.d files_sd; do sudo chown -R prometheus:prometheus /etc/prometheus/${i}; done  
for i in rules rules.d files_sd; do sudo chmod -R 775 /etc/prometheus/${i}; done  
sudo chown -R prometheus:prometheus /var/lib/prometheus/

Настройка Prometheus

После установки Prometheus вы обеспечите безопасность Prometheus с помощью basic_auth или базовой аутентификации.

Установите пакет apache2-utils с помощью следующей команды apt.

sudo apt install apache2-utils -y

install apache2-utils

Теперь выполните команду htpasswd ниже, чтобы сгенерировать bcrypt пароль для пользователя admin. Введите ваш пароль и повторите, а затем скопируйте сгенерированный пароль.

htpasswd -nB admin

Затем выполните команду nano ниже, чтобы создать новый файл /etc/prometheus/web.yml.

sudo nano /etc/prometheus/web.yml

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

# basic_auth
basic_auth_users:
  admin: $2y$05$s8U/BrE5JhSO31XKSbtj8u8cPECULs3emEhlDfCB2GW1UefQ9x00C

Сохраните и выйдите из файла, когда закончите.

Теперь откройте конфигурацию Prometheus по умолчанию /etc/prometheus/prometheus.yml с помощью nano.

sudo nano /etc/prometheus/prometheus.yml

Измените значение job_name для prometheus следующим образом и убедитесь, что вы изменили пользователя и пароль basic_auth.

scrape_configs:
  # Имя задания добавляется как метка `job=` к любым временным рядам, собранным из этой конфигурации.
  - job_name: "prometheus"

    # metrics_path по умолчанию равен '/metrics'
    # схема по умолчанию равна 'http'.
    # добавьте настройки для сертификата и аутентификации
    scheme: http
    basic_auth:
      username: "admin"
      password: "password"

    static_configs:
      # если используется действительный сертификат, установите то же имя хоста в сертификате
      - targets: ["localhost:9090"]

Сохраните и выйдите из файла.

Наконец, выполните команду ниже, чтобы изменить владельца файлов prometheus.yml и web.yml на пользователя prometheus.

sudo chown prometheus: /etc/prometheus/{prometheus.yml,web.yml}

Запуск Prometheus как службы systemd

Создайте новый файл службы systemd /etc/systemd/system/prometheus.service с помощью следующего редактора nano.

sudo nano /etc/systemd/system/prometheus.service

Добавьте следующие строки в файл. С этим вы будете запускать Prometheus в фоновом режиме как службу systemd и защищать веб-консоль через файл web.yml.

[Unit]
Description=Prometheus
Documentation=https://prometheus.io/docs/introduction/overview/
Wants=network-online.target
After=network-online.target

[Service]
Type=simple
User=prometheus
Group=prometheus
ExecReload=/bin/kill -HUP $MAINPID
ExecStart=/usr/local/bin/prometheus \
 --config.file=/etc/prometheus/prometheus.yml \
 --storage.tsdb.path=/var/lib/prometheus \
 --web.console.templates=/etc/prometheus/consoles \
 --web.console.libraries=/etc/prometheus/console_libraries \
 --web.listen-address=0.0.0.0:9090 \
 --web.config.file=/etc/prometheus/web.yml \

SyslogIdentifier=prometheus
Restart=always

[Install]
WantedBy=multi-user.target

Сохраните файл и выйдите из редактора.

Теперь выполните команду ниже, чтобы перезагрузить менеджер systemd и применить ваши изменения.

sudo systemctl daemon-reload

configure prometheus

Затем запустите и включите службу prometheus с помощью команды systemctl ниже и убедитесь, что служба работает.

sudo systemctl enable --now prometheus  
sudo systemctl status prometheus

В следующем выводе вы можете увидеть, что служба prometheus работает и включена.

check prometheus

Установка node_exporter

Теперь, когда Grafana и Prometheus работают, вы загрузите и установите node_exporter. node_exporter позволяет вам собирать данные для базового мониторинга системы.

Загрузите бинарный файл node_exporter с помощью команды curl ниже.

curl -s https://api.github.com/repos/prometheus/node_exporter/releases/latest| grep browser_download_url|grep linux-amd64|cut -d ‘"’ -f 4|wget -qi -

После загрузки извлеките node_exporter и перейдите в него.

tar -xvf node_exporter*.tar.gz cd node_exporter*/

Теперь скопируйте бинарный файл node_exporter в каталог /usr/local/bin.

sudo cp node_exporter /usr/local/bin

После этого выполните следующую команду, чтобы создать новый файл службы systemd /etc/systemd/system/node_exporter.service для node_exporter.

sudo tee /etc/systemd/system/node_exporter.service <

install node exporter

Перезагрузите менеджер systemd с помощью следующей команды:

sudo systemctl daemon-reload

Теперь вы можете запустить и включить службу node_exporter с помощью команды ниже. Затем проверьте статус службы node_exporter.

sudo systemctl enable --now node_exporter sudo systemctl status node_exporter

Вы увидите, что служба node_exporter работает и начнет собирать и заполнять данные. Служба node_exporter работает на порту по умолчанию 9100.

start check node_exporter

Интеграция node_exporter с Prometheus

В этом разделе вы интегрируете и добавите node_exporter в Prometheus.

Откройте конфигурацию Prometheus по умолчанию /etc/prometheus/prometheus.yml.

sudo nano /etc/prometheus/prometheus.yml

Добавьте новое job_name с именем node_exporter и укажите цель на target, такую как 192.168.5.16:9100.

  - job_name: "node_exporter"

    static_configs:
      - targets: ["192.168.5.100:9100"]

Сохраните и выйдите из файла, когда закончите.

Теперь выполните команду ниже, чтобы перезапустить службу prometheus и применить изменения.

sudo systemctl restart prometheus

Затем получите доступ к серверу Prometheus http://192.168.5.16:9090 через ваш веб-браузер, и вам будет предложено ввести базовую аутентификацию.

Введите ваше имя пользователя и пароль и нажмите Войти.

Log in prometheus

После входа в панель управления Prometheus введите node_memory_Active_bytes в запрос и нажмите Выполнить. Вы увидите график текущей активной памяти, как показано ниже:

prometheus dashboard

Наконец, нажмите Статус > Цели и убедитесь, что обе цели prometheus и node_exporter активны и работают, как показано ниже:

list targets

Интеграция Prometheus с Grafana в качестве источника данных

Теперь, когда Prometheus готов, вы добавите и интегрируете Prometheus в Grafana в качестве источника данных. Затем вы создадите новую систему панели управления для мониторинга.

В панели управления Grafana нажмите Подключения > Источники данных > Добавить источник данных, чтобы добавить новый источник данных в Grafana.

add data source

Выберите Prometheus в качестве источника данных.

prometheus

Введите URL Prometheus, например http://192.168.5.16:9090/, и введите имя пользователя и пароль для вашего сервера Prometheus.

add prometheus details

Прокрутите вниз и нажмите Сохранить и протестировать. Если успешно, вы увидите сообщение Успешно выполнен запрос к API Prometheus.

save and test data source

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

Нажмите на меню Панель управления > Создать панель управления.

create dashboard

Выберите Импортировать панель управления, чтобы импортировать панель управления.

import dashboard

Посетите https://grafana.com/grafana/dashboards/ и найдите подходящую для вас панель управления. В этом примере вы загрузите панель управления Grafana с id 15172.

Нажмите Загрузить, чтобы импортировать панель управления.

Load dashboard id

Теперь выберите Prometheus в качестве бэкенда и нажмите Импортировать, чтобы подтвердить.

select prometheus as backend

Если все пройдет хорошо, ваша панель управления Grafana должна быть создана. Ниже приведен скриншот панели управления Grafana с мониторингом Prometheus и node_exporter:

dashboard monitoring

Заключение

Поздравляем! Вы завершили установку Grafana, Prometheus и node_exporter на серверах Ubuntu 24.04. Вы запустили Grafana с Nginx в качестве обратного прокси, обеспечили безопасность Prometheus с помощью аутентификации по паролю, интегрировали node_exporter с Prometheus, добавили Prometheus в качестве источника данных в Grafana и импортировали панель управления Grafana.

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.