Prometheus это ?
Prometheus - это проект с открытым кодом, отвечающий за мониторинг и оповещение. Проект был выпущен в 2015 году.
У Прометея есть ряд особенностей:
- Поддерживает гибкие языки запросов;
- Имеет несколько режимов отображения и админ панели;
- Данные хранятся и передаются по протоколу HTTP.
Установка Prometheus
Для установки Prometheus, вам требуется обновить все пакеты на вашей системе, что бы обновить их, используйте команды ниже.
sudo apt upgrade
Установка веб-сервера Nginx
Nginx у нас доступен в открытых ресурсах Ubuntu. Установка начинается со следующих команд:
Если у вас выскакивает данная ошибка:
Следует прописать данные команды:
service nginx restart
и продолжайте идти по пунктам.
После всех манипуляций, прописываем последние команды из этого пункта, чтобы у нас веб-сервер(nginx) автоматически запускался когда мы включаем сервер.
Создание пользователя в Prometheus
Сначала мы начнем с создания группы, после уже создадим пользователя и сразу добавляем его в группу. Так же требуется создать каталог.
Создаем сначала группу для пользователя:
Далее создаем самого пользователя:
Создаем каталог:
Теперь устанавливаем сам Prometheus на Ubuntu
Перед дальнейшей настройки рекомендую проверить, установлен ли у вас CURL, если не установлен то прописываем следующую команду и идем дальше:
Загружаем последнюю версию Prometheus при помощи WGET команды:
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
Но перед этим зайдите в директорию, в которую мы ранее скопировали все.
После переносим файлы Prometheus и Promtool из папки Prometheus в каталог "/usr/local/bin".
Настройка Prometheus
В первую очередь нужно создать файл конфигурации под именем «Prometheus.yml» в этом каталоге "/etc/prometheus".
mv consoles/ console_libraries/ /etc/prometheus/
nano /etc/prometheus/prometheus.yml
Просматриваем содержимое prometheus.yml и если там есть данные то идем дальше.
Создание службы Prometheus Systemd
Для легкости создадим файлы для службы systemd:
Добавьте данный текст в этот файл:
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 chmod -R 775 /etc/prometheus/${i}; done
chown -R prometheus:prometheus /var/lib/prometheus/
Как только вы все прописали и проверили, перезагружаем systemd:
systemctl start/enable prometheus
Настройка брандмауэра
Теперь нам предстоит убедиться, что брандмауэр настроен верно и разрешает трафик по портам HTTPS(443), HTTP(80) и 9090.
Веб-сервер Nginx представляет себя как сервис ufw:
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