Как установить и настроить Prometheus на Linux сервере

2 года назад·1 мин. на чтение

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

В этой статье установим и настроим Prometheus. Это первый шаг настройки сбора и отображения метрик. Метрики будем собирать на сервере Ubuntu, а Grafana, для экономии ресурсов на сервере, установим на локальном компьютере. Весь процесс можно разделить на три части:
  1. Установка Prometheus (рассмотрим в этой статье)
  2. Установка Node exporter
  3. Установка Grafana
Prometheus получает метрики из разных сервисов и собирает их в одном месте. В нашем случае Prometheus будет собирать данные из экземпляра Node Exporter. Node exporter собирает метрики операционной системы и через HTTP предоставляет к ним доступ. Grafana отображает данные, полученные из Prometheus. Эти данные можно отобразить в виде диаграмм и графиков, объединив в дашборды.

Установка Prometheus

Для установки Prometheus выясним свежую версию prometheus на github и скопируем адрес ссылки на выбранную версию. В нашем случае это https://github.com/prometheus/prometheus/releases/download/v2.40.2/prometheus-2.40.2.linux-amd64.tar.gz. Скачать архив, распаковать и переименовать папку.
wget https://github.com/prometheus/prometheus/releases/download/v2.40.2/prometheus-2.40.2.linux-amd64.tar.gz
tar -xvf prometheus-2.40.2.linux-amd64.tar.gz
mv prometheus-2.40.2.linux-amd64 prometheus-files
Создать пользователя prometheus, необходимые папки, и сделать пользователя prometheus владельцем этих папок.
sudo useradd --no-create-home --shell /bin/false prometheus
sudo mkdir /etc/prometheus
sudo mkdir /var/lib/prometheus
sudo chown prometheus:prometheus /etc/prometheus
sudo chown prometheus:prometheus /var/lib/prometheus
Скопировать бинарные файлы prometheus и promtool из prometheus-files в /usr/local/bin и изменить владельца на пользователя prometheus.
sudo cp prometheus-files/prometheus /usr/local/bin/
sudo cp prometheus-files/promtool /usr/local/bin/
sudo chown prometheus:prometheus /usr/local/bin/prometheus
sudo chown prometheus:prometheus /usr/local/bin/promtool
Переместить папки consoles и console_libraries из prometheus-files в /etc/prometheus и изменить владельца на пользователя prometheus.
sudo cp -r prometheus-files/consoles /etc/prometheus
sudo cp -r prometheus-files/console_libraries /etc/prometheus
sudo chown -R prometheus:prometheus /etc/prometheus/consoles
sudo chown -R prometheus:prometheus /etc/prometheus/console_libraries

Конфигурация Prometheus

Создать файл prometheus.yml.
sudo vi /etc/prometheus/prometheus.yml
Вставить конфиг в файл prometheus.yml. Порт 9090.
global:
  scrape_interval: 10s

scrape_configs:
  - job_name: 'prometheus'
    scrape_interval: 5s
    static_configs:
      - targets: ['localhost:9090']
Изменить владельца на пользователя prometheus.
sudo chown prometheus:prometheus /etc/prometheus/prometheus.yml

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

Создать файл prometheus.service для службы prometheus.
sudo vi /etc/systemd/system/prometheus.service
Добавить в файл prometheus.service следующее содержимое.
[Unit]
Description=Prometheus
Wants=network-online.target
After=network-online.target

[Service]
User=prometheus
Group=prometheus
Type=simple
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

[Install]
WantedBy=multi-user.target
Перезапустить службу systemd для регистрации службы prometheus и запустить службу prometheus.
sudo systemctl daemon-reload
sudo systemctl start prometheus
Проверить статус службы prometheus.
sudo systemctl status prometheus
Статус должен быть active (running). Статус службы prometheus active (running) Теперь интерфейс Prometheus должен быть доступен через порт 9090.
http://localhost:9090/graph
Интерфейс Prometheus На следующем шаге установим Node Exporter.

Как установить Grafana для визуализации метрик

2 года назад·2 мин. на чтение

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

В этой статье установим Grafana. Это третий шаг настройки сбора и отображения метрик. Метрики будем собирать на сервере Ubuntu, а Grafana, для экономии ресурсов на сервере, установим на локальном компьютере. Весь процесс можно разделить на три части:
  1. Установка Prometheus
  2. Установка Node exporter
  3. Установка Grafana (рассмотрим в этой статье)
Prometheus получает метрики из разных сервисов и собирает их в одном месте. В нашем случае Prometheus будет собирать данные из экземпляра Node Exporter. Node exporter собирает метрики операционной системы и через HTTP предоставляет к ним доступ. Grafana отображает данные, полученные из Prometheus. Эти данные можно отобразить в виде диаграмм и графиков, объединив в дашборды.

Настройка Grafana

Так как мы хотим отображать метрики в Grafana в Windows, необходимо сделать данные из Prometheus доступными. Для этого можно создать поддомен, например prometheus, и включить его в конфигурацию nginx.
server {
	server_name prometheus.example.com;

	location / {
		proxy_pass http://localhost:9090;
		proxy_http_version 1.1;
		proxy_set_header Upgrade $http_upgrade;
		proxy_set_header Connection 'upgrade';
		proxy_set_header Host $host;
		proxy_cache_bypass $http_upgrade;
	}

	listen 80;
}
Этот домен нужно добавить в настройках VPS провайдера. Например, в reg.ru, нужно зайти в Домены, перейти в домен. Домены reg ru Во вкладке Управление, в пункте "DNS-серверы и управление зоной" нажать кнопку "Изменить". DNS-серверы и управление зоной
Далее, нажать "+ Добавить запись", выбрать запись типа А. В поле Subdomain пишем prometheus, в поле IP Address - ip адрес нашего сервера или VPS. Таким образом интерфейс Prometheus будет доступен через поддомен нашего сервера, например, prometheus.example.com. Создание A-записи reg ru Устанавливаем Grafana, скачав установочный файл на официальном сайте grafana. Grafana будет установлена как служба и располагаться по адресу localhost:3000. После регистрации нового пользователя, переходим в настройки и нажимаем "Add data source". Добавление data source в Grafana Далее, вводим адрес prometheus.example.com в поле URL и нажимаем кнопку "Save & test". После успешного добавления создаем новый дашборд и наполняем его графиками. Дашборд  Grafana