Что такое Prometheus?
Prometheus – это проект с открытым кодом, отвечающий за мониторинг и оповещение. Проект был выпущен в 2015 году.
У Прометея есть ряд особенностей:
- Поддерживает гибкие языки запросов;
- Имеет несколько режимов отображения и админ панели;
- Данные хранятся и передаются по протоколу HTTP.
Установка Prometheus
Для установки Prometheus, вам требуется обновить все пакеты на вашей системе, что бы обновить их, используйте команды ниже.
sudo apt update
sudo apt upgrade

Установка веб-сервера Nginx
Nginx у нас доступен в открытых ресурсах Ubuntu. Установка начинается со следующих команд:
apt install nginx
Если у вас выскакивает данная ошибка:

Следует прописать данные команды:
rm /etc/nginx/sites-enabled/default
service nginx restart
и продолжайте идти по пунктам.
После всех манипуляций, прописываем последние команды из этого пункта, чтобы у нас веб-сервер(nginx) автоматически запускался когда мы включаем сервер.
systemctl enable nginx.serviceСоздание пользователя в Prometheus
Сначала мы начнем с создания группы. После создадим пользователя и добавим его в группу. Так же потребуется создать каталог.
Создаем группу для пользователя:
groupadd prometheus![]()
Далее создаем самого пользователя:
useradd -s /sbin/nologin --system -g prometheus prometheus![]()
Создаем каталог:
mkdir /var/lib/prometheus![]()
for i in rules rules.d files_sd; do sudo mkdir -p /etc/prometheus/${i}; done![]()
Теперь устанавливаем сам Prometheus на Ubuntu
Перед дальнейшей настройкой рекомендую проверить, установлен ли у вас CURL, если не установлен то прописываем следующую команду и идем дальше:
apt install curlЗагружаем последнюю версию Prometheus при помощи WGET команды:
mkdir -p /tmp/prometheus
cd /tmp/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 /tmp/prometheus/prometheus-2.46.0.linux-amd64После переносим файлы Prometheus и Promtool из папки Prometheus в каталог «/usr/local/bin».
mv prometheus promtool /usr/local/bin/Настройка Prometheus
В первую очередь нужно создать файл конфигурации под именем «Prometheus.yml» в этом каталоге «/etc/prometheus».
mv prometheus.yml /etc/prometheus/prometheus.yml
mv consoles/ console_libraries/ /etc/prometheus/
nano /etc/prometheus/prometheus.ymlПросматриваем содержимое prometheus.yml и если там есть данные то идем дальше.
Создание службы Prometheus Systemd
Для легкости создадим файлы для службы systemd:
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
Итог после этих команд:

И в завершении, меняем владельца этих каталогов на раннее созданного пользователя и группу 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
chown -R prometheus:prometheus /var/lib/prometheus/Как только вы все прописали и проверили, перезагружаем systemd:
systemctl daemon-reload
systemctl enable prometheusНастройка брандмауэра
Теперь нам предстоит убедиться, что брандмауэр настроен верно и разрешает трафик по портам HTTPS(443), HTTP(80) и 9090.
Веб-сервер Nginx представляет себя как сервис ufw:
ufw allow in "Nginx Full"
ufw allow 9090/tcpДоступ к веб-интерфейсу Prometheus
По стандарту Prometheus у нас доступен на HTTP-порту 9090. Чтобы проверить это, открываем наш браузер, и в адресной строке прописываем либо ip-адрес хоста, на который мы ставили Prometheus или домен. И если все настроили верно, то у вас откроется вкладка дашбоарда Prometheus.
http://your-domain.com:9090 (пример http://domen1:9090)
http://server-ip-addreess:9090 (пример http://38.123.34.54:9090)

Вывод
Благодаря данной публикации вы с легкостью установите систему мониторинга Prometheus на сервер с операционной системой Ubuntu 20.04