В настоящее время мониторинг приложений и инфраструктуры является неотъемлемой частью любого проекта, особенно в условиях быстрого развития цифровых технологий. Несмотря на то, что рынок мониторинговых решений довольно насыщен, Prometheus и Grafana все еще остаются одними из наиболее популярных инструментов для мониторинга и анализа метрик приложений и инфраструктуры.
В этой статье мы рассмотрим, что такое Prometheus и Grafana, и как их можно использовать для мониторинга и анализа метрик приложений и инфраструктуры. Мы также рассмотрим процесс установки и настройки Prometheus и Grafana на Ubuntu 22.04.
Так же Вам будет полезно ознакомиться со статьёй, в которой рассказывается как установить и настроить систему мониторинга Zabbix в Ubuntu 22.04
- Что такое Prometheus?
- Что такое Grafana?
- Как установить и настроить Prometheus и Grafana на Ubuntu 22.04?
- Установка Prometheus
- Установка Grafana
- Настройка Prometheus и Grafana
- Настройка Prometheus
- Настройка Grafana
- Создание панелей мониторинга
- Примеры использования Prometheus и Grafana для мониторинга и анализа метрик
- Мониторинг CPU
- Мониторинг памяти
- Мониторинг дискового пространства
- Заключение
Что такое Prometheus?
Prometheus – это система мониторинга с открытым исходным кодом, которая использует модель метрик с метаданными временных рядов для сбора, агрегирования и анализа данных мониторинга. Prometheus был разработан для решения проблем, связанных с масштабированием и управлением метриками, которые обычно возникают в больших распределенных системах.
Prometheus использует язык запросов PromQL, который позволяет анализировать и сравнивать временные ряды. Он также поддерживает алертинг, который позволяет оповещать администраторов о проблемах в режиме реального времени.
Что такое Grafana?
Grafana – это платформа для визуализации данных с открытым исходным кодом, которая позволяет создавать и настраивать графики, диаграммы и панели для мониторинга метрик. Он интегрируется с различными источниками данных, включая Prometheus, и позволяет анализировать и визуализировать данные в режиме реального времени.
Как установить и настроить Prometheus и Grafana на Ubuntu 22.04?
Установка Prometheus
Первым шагом является установка Prometheus на сервер. Для этого выполните следующие действия:
- Обновите список пакетов и установите менеджер загрузок wget:
sudo apt-get update sudo apt-get install wget
- Скачайте последнюю версию Prometheus из официального репозитория и распакуйте архив:
wget https://github.com/prometheus/prometheus/releases/download/v2.32.0/prometheus-2.32.0.linux-amd64.tar tar xvfz prometheus-2.32.0.linux-amd64.tar.gz
- Перейдите в директорию с распакованными файлами:
cd prometheus-2.32.0.linux-amd64
- Создайте пользователя prometheus:
sudo useradd --no-create-home --shell /bin/false prometheus
- Скопируйте исполняемые файлы в директорию /usr/local/bin/:
sudo cp prometheus /usr/local/bin/ sudo cp promtool /usr/local/bin/
- Скопируйте файл конфигурации в директорию /etc/prometheus/:
sudo mkdir /etc/prometheus sudo cp prometheus.yml /etc/prometheus/
- Назначьте владельца и права на файлы и директории:
sudo chown prometheus:prometheus /usr/local/bin/prometheus sudo chown prometheus:prometheus /usr/local/bin/promtool sudo chown -R prometheus:prometheus /etc/prometheus/
- Создайте службу systemd для автоматического запуска Prometheus:
sudo nano /etc/systemd/system/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/data \ --web.console.templates=/etc/prometheus/consoles \ --web.console.libraries=/etc/prometheus/console_libraries [Install] WantedBy=multi-user.target
- Сохраните и закройте файл, затем перезапустите systemd:
sudo systemctl daemon-reload
- Запустите Prometheus и добавьте его в автозапуск:
sudo systemctl start prometheus sudo systemctl enable prometheus
Установка Grafana
Теперь, когда у вас есть установленный Prometheus, вы можете установить Grafana. Для этого выполните следующие действия:
- Добавьте ключ и репозиторий Grafana в систему:
sudo apt-get install -y apt-transport-https gnupg wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add - echo "deb https://packages.grafana.com/oss/deb stable main" | sudo tee -a /etc/apt/sources.list.d/grafana.list
- Обновите список пакетов и установите Grafana:
sudo apt-get update sudo apt-get install grafana
- Назначьте владельца и права на файлы и директории:
sudo chown -R grafana:grafana /etc/grafana sudo chown -R grafana:grafana /var/lib/grafana sudo chown -R grafana:grafana /var/log/grafana
- Запустите Grafana и добавьте его в автозапуск:
sudo systemctl start grafana-server sudo systemctl enable grafana-server
- Откройте порты в брандмауэре, чтобы разрешить доступ к интерфейсу Grafana. Для этого выполните следующие команды:
sudo ufw allow 3000/tcp sudo ufw reload
Настройка Prometheus и Grafana
Теперь, когда Prometheus и Grafana установлены, вы можете начать настройку для мониторинга и анализа метрик приложений и инфраструктуры. Настройка состоит из нескольких шагов:
Настройка Prometheus
Перейдите в директорию /etc/prometheus/ и отредактируйте файл prometheus.yml:
sudo nano /etc/prometheus/prometheus.yml
Вставьте следующий текст:
global: scrape_interval: 15s evaluation_interval: 15s scrape_configs: - job_name: 'prometheus' scrape_interval: 5s static_configs: - targets: ['localhost:9090'] - job_name: 'node' scrape_interval: 5s static_configs: - targets: ['localhost:9100']
В этом примере настройки Prometheus определены две работы (job): prometheus и node. Работа prometheus собирает метрики самого Prometheus, а работа node собирает метрики узла (node) в вашей инфраструктуре.
Настройка Grafana
Откройте веб-интерфейс Grafana в браузере, перейдя по адресу http://<IP-адрес сервера>:3000/. Войдите в систему с помощью учетных данных по умолчанию admin/admin.
После входа в систему вы увидите страницу «Настройка источников данных». Нажмите кнопку «Добавить источник данных».
Выберите «Prometheus» в качестве типа источника данных и введите URL-адрес http://localhost:9090/. Нажмите кнопку «Сохранить и проверить».
На следующей странице вы увидите сообщение «Источник данных успешно добавлен».
Создание панелей мониторинга
Теперь вы можете создавать панели мониторинга, используя метрики, собранные Prometheus. Для этого выполните следующие действия:
- Нажмите кнопку «Создать» на панели навигации слева.
- Выберите «Панель» в качестве типа.
- Нажмите кнопку «Добавить запрос» и выберите метрику, которую вы хотите отобразить на панели.
- Настройте запрос и дополнительные параметры
- Нажмите кнопку «Сохранить панель», чтобы добавить панель на страницу мониторинга.
Примеры использования Prometheus и Grafana для мониторинга и анализа метрик
Для примера, рассмотрим мониторинг метрик системы. Prometheus и Grafana могут использоваться для мониторинга таких метрик, как CPU, память, дисковое пространство и т.д.
Мониторинг CPU
Для мониторинга использования CPU вам нужно настроить работу node в файле prometheus.yml:
scrape_configs: - job_name: 'node' scrape_interval: 5s static_configs: - targets: ['localhost:9100']
Затем вы можете создать панель мониторинга в Grafana, используя следующий запрос PromQL:
100 - (avg by(instance) (irate(node_cpu_seconds_total{mode="idle"}[5m])) * 100)
Этот запрос вычисляет процент использования CPU на узле.
Мониторинг памяти
Для мониторинга использования памяти вам нужно использовать следующий запрос PromQL:
sum(node_memory_MemTotal) - sum(node_memory_MemFree + node_memory_Buffers + node_memory_Cached)
Этот запрос вычисляет использование памяти на узле.
Мониторинг дискового пространства
Для мониторинга дискового пространства вам нужно использовать следующий запрос PromQL:
node_filesystem_size{fstype="ext4"} - node_filesystem_free{fstype="ext4"}
Этот запрос вычисляет использование дискового пространства на узле.
Заключение
В этой статье мы рассмотрели, как использовать Prometheus и Grafana для мониторинга и анализа метрик приложений и инфраструктуры. Мы начали с описания Prometheus и Grafana и шагов по установке их на Ubuntu 22.04. Затем мы рассмотрели настройку Prometheus и Grafana для мониторинга и анализа метрик. Мы также привели несколько примеров использования Prometheus и Grafana для мониторинга метрик системы.
С помощью Prometheus и Grafana вы можете быстро и эффективно мониторить и анализировать метрики приложений и инфраструктуры, что позволяет быстро выявлять проблемы и улучшать производительность системы.