news
Serverspace запустил услугу Managed Kubernetes
БС
Борислав Сухарев
13 сентября 2022
Обновлено 17 сентября 2022

Установка Prometheus на Ubuntu 20.04

Linux Ubuntu VPS

Prometheus это ?

Prometheus - это проект с открытым кодом, отвечающий за мониторинг и оповещение. Проект был выпущен в 2015 году.

У Прометея есть ряд особенностей:

  • Поддерживает гибкие языки запросов;
  • Имеет несколько режимов отображения и админ панели;
  • Данные хранятся и передаются по протоколу HTTP.

Установка Prometheus

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

sudo apt update
sudo apt upgrade

prom 1

prom 2

Установка веб-сервера Nginx

Nginx у нас доступен в открытых ресурсах Ubuntu. Установка начинается со следующих команд:

apt install nginx

prom 3

Если у вас выскакивает данная ошибка:

prom 4

Следует прописать данные команды:

rm /etc/nginx/sites-enabled/default

service nginx restart

и продолжайте идти по пунктам.

После всех манипуляций, прописываем последние команды из этого пункта, чтобы у нас веб-сервер(nginx) автоматически запускался когда мы включаем сервер.

systemctl stop/start/enable nginx.service

Создание пользователя в Prometheus

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

groupadd prometheus

prom 5

Далее создаем самого пользователя:

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

prom 6

Создаем каталог:

mkdir /var/lib/prometheus

prom 7

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

prom 8

 

Теперь устанавливаем сам 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.38.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

Итог после этих команд:

prom 9

И в завершении, меняем владельца этих каталогов на раннее созданного пользователя и группу 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 start/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)

prom 10

Вывод:

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

 

Оценка:
5 из 5
Аverage rating : 5
Оценок: 1
191028 Санкт-Петербург Литейный пр., д. 26, Лит. А
+7 (812) 403-06-99
700 300
ООО «ИТГЛОБАЛКОМ ЛАБС»
700 300