Monitoring Redis Droplets Using Redis Exporter Service

Введение

Эффективное мониторинг баз данных Redis является незаменимым для поддержания оптимальной производительности, выявления потенциальных узких мест и обеспечения надежности системы в целом. Служба Redis Exporter – это надежное средство, предназначенное для мониторинга баз данных Redis с использованием Prometheus.

В этом руководстве вы узнаете, как полностью установить и настроить службу Redis Exporter, чтобы безупречно организовать решение для мониторинга. Следуя этому руководству, выerezervите полностью работающую установку для эффективного мониторинга метрик производительности вашей базы данных Redis.

Примечание: Ориентировочное время на установку для этого руководства составляет около 25 минут

Предварительные требования

Прежде чем начать, убедитесь, что у вас есть следующие предварительные условия:

  • Необходимо установить и запустить сервера Redis базы данных на убунту droplet. Вы можете ознакомиться с нашими учебниками по как установить и безопасно config redis на ubuntu. Сервера, которые вы хотите мониторить, должны быть доступны с машины, на которой вы планируете установить Redis Exporter Service.
  • вам потребуется доступ SSH к серверам Redis для установки и настройки сервиса экспортера Redis.
  • Прометей MySQL Exporter интегрируется с Прометеем для сбора метрик и Grafana для визуализации. Здесь мы используем Прометей и Grafana изображения с рынка DigitalOcean для мониторинга базовых дроплетов базы данных.

Примечание: В этом руководстве мы пройдем два различных метода для настройки службы экспортера Redis для мониторинга баз данных Redis. Вы можете выбрать между ручной настройкой и автоматизацией на основе скриптов, каждый из которых предназначен для различных предпочтений и операционных требований. Следуйте инструкциям для каждого метода, чтобы эффективно развернуть службу экспортера Redis на вашей инфраструктуре. Эта гибкость позволяет вам выбрать лучшую стратегию развертывания и подход к операционной работе.

Метод 1: Ручная настройка

В этом разделе мы продолжим использовать метод ручной настройки.

Создание пользователя и группы системы Prometheus

Создайте пользователя и группу системы с именем “prometheus”, чтобы управлять службой экспортера.

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

下载并安装Redis Exporter

从GitHub下载Redis Exporter的最新版本,解压下载的文件,并将二进制文件移动到/usr/local/bin/目录。

curl -s https://api.github.com/repos/oliver006/redis_exporter/releases/latest | grep browser_download_url | grep linux-amd64 | cut -d '"' -f 4 | wget -qi -
tar xvf redis_exporter-*.linux-amd64.tar.gz
sudo mv redis_exporter-*.linux-amd64/redis_exporter /usr/local/bin/

Проверка установки экспортера Redis

redis_exporter --version

Вот пример вывода:

Конфигурирование службы systemd для экспортера Redis

Создайте файл единицы службы systemd, чтобы управлять службой экспортера Redis.

sudo vim /etc/systemd/system/redis_exporter.service

Добавьте следующий контент в файл:

redis_exporter.service
[Unit]
Description=Prometheus Redis Exporter
Documentation=https://github.com/oliver006/redis_exporter
Wants=network-online.target
After=network-online.target

[Service]
Type=simple
User=prometheus
Group=prometheus
ExecReload=/bin/kill -HUP $MAINPID
ExecStart=/usr/local/bin/redis_exporter \
  --log-format=txt \
  --namespace=redis \
  --web.listen-address=:9121 \
  --web.telemetry-path=/metrics

SyslogIdentifier=redis_exporter
Restart=always

[Install]
WantedBy=multi-user.target

–log-format=txt \

sudo systemctl daemon-reload
sudo systemctl enable redis_exporter
sudo systemctl start redis_exporter

–web.listen-address=:9121 \

–web.telemetry-path=/metrics

Перезагрузите systemd и запустите службу экспортера Redis

cp /etc/prometheus/prometheus.yml /etc/prometheus/prometheus.yml-$(date +'%d%b%Y-%H:%M')

Конфигурация капсыла Prometheus (ручной метод)

Давайте настроим капсул Prometheus для ручной конфигурации.

Сделайте резервную копию файла prometheus.yml

vi /etc/prometheus/prometheus.yml
prometheus.yml
scrape_configs:
  - job_name: server1_db
    static_configs:
      - targets: ['10.10.1.10:9121']
        labels:
          alias: db1

  - job_name: server2_db
    static_configs:
      - targets: ['10.10.1.11:9121']
        labels:

Добавьте конечные точки экспортера Redis для сканирования

Войдите на сервер Prometheus и добавьте конечные точки экспортера Redis для сканирования.

Замените IP-адреса и порты на ваши конечные точки экспортера Redis (9121 является стандартным портом для службы экспортера Redis).

Это конец ручной конфигурации. Теперь попробуем настроить с помощью сценариев.

Метод 2: Конфигурация с использованием сценариев

Вы можете также достичь этого запустив два сценария – один для целевыхdroplet и другой для Prometheus droplet.

wget https://solutions-files.ams3.digitaloceanspaces.com/Redis-Monitoring/DO_Redis_Target_Config.sh

Давайте начнем конфигурирование целевых droplet.

chmod +x DO_Redis_Target_Config.sh

Подключитесь к целевому droplet по SSH.

./DO_Redis_Target_Config.sh

Скачайте скрипт настройки целевого конфигурации следующим запросом:

После скачивания скрипта, убедитесь, что у него есть права на выполнение, выполняя:

Выполните скрипт, выполняя:

Конфигурация завершена.

wget https://solutions-files.ams3.digitaloceanspaces.com/Redis-Monitoring/DO_Redis_Prometheus_Config.sh

Примечание: Если уже существует файл redis_exporter.service, скрипт не будет выполнен.

chmod +x DO_Redis_Prometheus_Config.sh

Конфигурация Prometheus Droplet (способ скрипта)

./DO_Redis_Prometheus_Config.sh

Подключитесь к Prometheus Droplet по SSH и скачайте скрипт следующим запросом:

После скачивания скрипта, убедитесь, что у него есть права на выполнение, выполняя:

Выполните скрипт, выполняя:

Введите количество droplet, которое вы хотите добавить в мониторинг.

Введите имя хоста и IP-адрес.

Конфигурация завершена.

После добавления проверьте, обновляются ли цели, доступясь по URL prometheushostname:9090/targets.

Примечание: Если вы вводите уже добавленный в мониторинг IP-адрес, вам будет просят ввести данные заново. Кроме того, если у вас нет больше серверов для добавления, вы можете ввести 0, чтобы выйти из сценария

Конфигурация Grafana

Войдите на панель Grafana, посетивйте Grafana-IP:3000 в браузере.

Перейдите к Конфигурация > источники данных.

Кликните Add data source (Добавить источник данных).

https://solutions-files.ams3.digitaloceanspaces.com/Redis-Monitoring/DO_Grafana-Redis_Monitoring.json

Поищите и выберите Prometheus.

Введите название как Prometheus и URL (Prometheushostname:9090) и нажмите “Сохранить и проверить”. Если вы видите “Источник данных работает”, успешно добавили источник данных. После этого, перейдите к Создать > Импорт.

Вы можете manуально настроить панель Grafana или импортировать ее, загрузив JSON-файл. Шаблон JSON для мониторинга Redis можно найти в следующем ссылке:

Заполните поля и импортируйте.

Панель Grafana готова. Выберите узел и проверьте, являются ли показатели видимыми. Не стесняйтесь модифицировать и редактировать панель по мере необходимости.

Заключение

В этой главе урока вы научились автоматизировать установку экспортера Redis на ваших серверах. Скрипт начинает свою работу, проверяя существует ли уже файл единицы сервиса redis_exporter.service и завершая свою работу, если это так, чтобы избежать повторной установки. Затем скрипт создает пользователя и группу Prometheus для изоляции безопасности сервиса. Скрипт скачивает и устанавливает二едственные исполняемые файлы экспортера Redis и помещает их в каталог /usr/local/bin/ для стандартизации.

Source:
https://www.digitalocean.com/community/tutorials/monitor-redis-droplet-using-redis-exporter