среда, 27 мая 2020 г.

Установка Prometheus на CentOS

В прошлой заметке был описан процесс установки Grafana. Но без источника данных визуализировать будет нечего. Поэтому сегодня рассмотрим установку Prometheus на CentOS, в котором мы будем хранить метрики для их дальнейшего отображения.

Установка Prometheus так же, как и Grafana, выполняется достаточно просто.
Создадим группу и пользователя для Prometheus, пользователю запретим интерактивный вход в систему.
sudo -s
groupadd --system prometheus
useradd -s /sbin/nologin --system -g prometheus prometheus
После этого, создадим необходимые каталоги
mkdir /var/lib/prometheus

for i in rules rules.d files_sd; do
    mkdir -p /etc/prometheus/${i};
done
Далее скачаем актуальную версию Prometheus и разместим файлы в необходимых каталогах
curl -s https://api.github.com/repos/prometheus/prometheus/releases/latest \
 | grep browser_download_url \
 | grep linux-amd64 \
 | cut -d '"' -f 4 \
 | wget -qi -

tar xvf prometheus-*.tar.gz
cd prometheus-*/
cp prometheus promtool tsdb /usr/local/bin/
cp -r consoles/ console_libraries/ /etc/prometheus/
cp prometheus.yml /etc/prometheus/
Назначим необходимые права на эти каталоги
chown -R prometheus:prometheus /var/lib/prometheus/

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

for i in rules rules.d files_sd; do
  chmod -R 775 /etc/prometheus/${i};
done
После этого создадим файл службы
nano /etc/systemd/system/prometheus.service
со следующим содержимым
[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.external-url=

SyslogIdentifier=prometheus
Restart=always

[Install]
WantedBy=multi-user.target
Осталось обновить информацию о службах, добавить службу в автозагрузку и запустить её.
systemctl daemon-reload
systemctl enable prometheus
systemctl start prometheus
Нужно не забыть открыть порт на сетевом экране
firewall-cmd --permanent --add-port=9090/tcp 
firewall-cmd --reload
Всё.

Комментариев нет:

Отправить комментарий