Мониторинг Linux сервера с Prometheus Node Exporter
2 года назад·2 мин. на чтение
Мониторинг сервера очень важен. Мониторинг позволяет узнать, когда заканчивается место на диске, узнать пиковые нагрузки, потребляемые ресурсы и т.д.
В этой статье установим и настроим Node exporter. Это второй шаг настройки сбора и отображения метрик. Метрики будем собирать на сервере Ubuntu, а Grafana, для экономии ресурсов на сервере, установим на локальном компьютере.
Весь процесс можно разделить на три части:
На следующем шаге установим Grafana.
- Установка Prometheus
- Установка Node exporter (рассмотрим в этой статье)
- Установка Grafana
Установка Node Exporter
Для установки Node Exporter выясним свежую версию Node Exporter на github и скопируем адрес ссылки на выбранную версию. В нашем случае этоhttps://github.com/prometheus/node_exporter/releases/download/v1.4.0/node_exporter-1.4.0.linux-386.tar.gz
.
Скачать архив, распаковать и переименовать папку.
Переместить бинарные файлы Node Exporter вwget https://github.com/prometheus/node_exporter/releases/download/v1.4.0/node_exporter-1.4.0.linux-386.tar.gz tar -xvf node_exporter-1.4.0.linux-386.tar.gz
/usr/local/bin
.
sudo mv node_exporter-1.4.0.linux-386/node_exporter /usr/local/bin/
Запуск службы Node Exporter
Создать пользователяnode_exporter
для запуска службы Node Exporter.
Создать файлsudo useradd -rs /bin/false node_exporter
node_exporter.service
для службы node_exporter
.
Добавить в файлsudo vi /etc/systemd/system/node_exporter.service
node_exporter.service
следующее содержимое.
Перезапустить службу[Unit] Description=Node Exporter After=network.target [Service] User=node_exporter Group=node_exporter Type=simple ExecStart=/usr/local/bin/node_exporter [Install] WantedBy=multi-user.target
systemd
для регистрации службы node_exporter
и запустить службу node_exporter
.
Проверить статус службыsudo systemctl daemon-reload sudo systemctl start node_exporter
node_exporter
.
Запустить службу при запуске системы.sudo systemctl status node_exporter
Теперь Node exporter будет экспортировать метрики по адресуsudo systemctl enable node_exporter
Теперь нужно отредактировать файлhttp://localhost:9100/metrics
/etc/prometheus/prometheus.yml
, добавив новый job_name
в scrape_configs
с этим адресом.
Перезапустить службу- job_name: 'node_exporter_metrics' scrape_interval: 10s static_configs: - targets: ['localhost:9100']
prometheus
для того, чтобы изменения вступили в силу.
Теперь, если перейти по адресуsudo systemctl restart prometheus
http://localhost:9090/targets
, то можно увидеть следующий статус.
![Интрерфейс Prometheus](https://it-dev-journal.ru/api/proxy/uploads/monitoring_3_4317521ecc.jpg)
Как установить и настроить Prometheus на Linux сервере
2 года назад·1 мин. на чтение
Мониторинг сервера очень важен. Мониторинг позволяет узнать, когда заканчивается место на диске, узнать пиковые нагрузки, потребляемые ресурсы и т.д.
В этой статье установим и настроим Prometheus. Это первый шаг настройки сбора и отображения метрик. Метрики будем собирать на сервере Ubuntu, а Grafana, для экономии ресурсов на сервере, установим на локальном компьютере.
Весь процесс можно разделить на три части:
Теперь интерфейс Prometheus должен быть доступен через порт 9090.
На следующем шаге установим Node Exporter.
- Установка Prometheus (рассмотрим в этой статье)
- Установка Node exporter
- Установка Grafana
Установка 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)](https://it-dev-journal.ru/api/proxy/uploads/monitoring_1_08dfffb3df.jpg)
http://localhost:9090/graph
![Интерфейс Prometheus](https://it-dev-journal.ru/api/proxy/uploads/monitoring_2_37fe677211.jpg)