Prometheus (https://prometheus.io/) это open-source решение, состоящее из нескольких компонентов, самым главным из них является сервер, который хранит собранные метрики и alertmanager и который отвечает за отправку уведомлений. Для сбора данных необходимо настраивать экспортёры, специализирующиеся на разных сервисах и системах, например:
· Для мониторинга СУБД – MSSQL, MongoDB, PostgreSQL, Redis и пр.
· Для мониторинга железа – IBM, NVIDIA, Netgear, DELL и пр.
· Для мониторинга ITSM – Jira, BitBucket, Jenkins и пр.
· Для мониторинга систем сообщений – Apache Kafka, RabbitMQ, Mirth и пр.
· Для мониторинга хранилищ – Ceph, NetApp, HPE, GPFS и пр.
· Для мониторинга web – apache, nginx, squid и пр.
· Для мониторинга огромного количества систем, которые взаимодействуют с Prometheus – Kubernetes, Dovecot, Docker, Ansible и пр.
Более того, есть большое комьюнити специалистов, которые постоянно разрабатывают новые и новые экспортёры. Для удобства мониторинга, как правило, используют различные системы визуализации, т.к. сам Prometheus собирает данные в текстовом виде, который тяжело воспринимать. Наиболее часто используемым для визуализации решением является Grafana (https://grafana.com/).
Устанавливать Prometheus мы будем на машину под управлением Debian 11. Последнюю версию всегда берём с github Prometheus:
Затем нужно распаковать архив:
Tar xvf Prometheus-2.41.0.linux-amd64.tar.gz
Затем скопируйте исполняемые файлы prometheus и promtool в папку /usr/local/bin:
sudo cp prometheus-2.41.0.linux-amd64/prometheus /usr/local/bin
sudo cp prometheus-2.41.0.linux-amd64/promtool /usr/local/bin
Для конфигурационных файлов необходимо создать папку /etc/prometheus:
sudo mkdir /etc/prometheus
Затем скопируйте туда такие папки с конфигурационными файлами:
sudo cp -r prometheus-2.41.0.linux-amd64/consoles /etc/prometheus
sudo cp -r prometheus-2.41.0.linux-amd64/console_libraries /etc/Prometheus
Для запуска программы понадобится пользователь prometheus:
sudo useradd --no-create-home --shell /bin/false prometheus
Осталось только создать файл systemd службы для удобного запуска prometheus. Для этого выполните команду:
sudo systemctl edit --full --force 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
Нужно создать папку для логов:
Sudo mkdir /var/lib/prometheus
Sudo chown -R prometheus:prometheus /var/lib/Prometheus
Кроме того, нужно создать конфигурационный файл /etc/prometheus/prometheus.yml со следующим содержимым:
sudo nano /etc/prometheus/prometheus.yml
global:
scrape_interval: 15s
scrape_configs:
- job_name: 'prometheus'
scrape_interval: 5s
static_configs:
- targets: ['localhost:9090']
После этого можно запустить Prometheus и проверить его работу. Для этого выполните:
sudo systemctl start prometheus
Затем для того, чтобы убедиться что всё запустилось, выполните:
sudo systemctl status Prometheus
Если программа запущена, вы можете получить доступ к веб-интерфейсу в браузере. Откройте порт 9090 на сервере, куда вы устанавливали Prometheus
Далее мы займёмся установкой Grafana, установив перед этим несколько компонентов:
sudo apt install -y apt-transport-https
sudo apt install -y software-properties-common
Для установки Grafana придётся обойти geo-fancing, в этом нам может помочь расширение для Firefox BrowSec. Нужно зайти на официальную страницу Grafana и скачать там dpkg-пакет напрямую, через браузер, а потом уже установить пакет используя команду:
sudo dpkg -i grafana-enterprise_9.3.2_amd64.deb
Далее выполним команды для первого запуска:
sudo /bin/systemctl enable grafana-server
sudo systemctl start grafana-server
По умолчанию Grafana доступна на порту 3000. Логин и пароль при первом входе: admin и admin соответственно.
Далее нужно настроить подключение к Prometheus, откройте Configuration -> Data Sources и нажмите кнопку Add Data Source:
В открывшемся окне выберите тип Data Source - Prometheus:
На шаге настройки подключения необходимо в поле URL ввести адрес сервера, на котором доступен Prometheus и его порт. Если Grafana находится на той же машине, что и Prometheus, можно использовать localhost, а порт по умолчанию 9090:
Доску для метрик, собираемых по умолчанию сервером Prometheus, можно взять https://grafana.com/grafana/dashboards/3662. На этой странице вам нужен только идентификатор 3362, который находится под надписью Get this dashboard:
Эта доска специально разработана для экспортера Prometheus и отображает с него данные. Для её добавления в интерфейсе Grafana откройте Dashboards -> Manage -> Import и введите идентификатор доски
Затем нажмите кнопку Load и на следующей странице введите имя доски и выберите ранее созданный источник данных (Data source)
После нажатия на кнопку Import перед вами откроется доска с метриками
Для подробной информации об этом процессе и возможности настроить всё в живую приглашаем вас на курс PROMETHEUS+GRAFANA - МОНИТОРИНГ ИНФРАСТРУКТУРЫ И ПРИЛОЖЕНИЙ
Курсы к статье
Подпишись на рассылку актуальных новостей
и читай нас в соц. сетях