Redis Exporter Serviceを使用してRedis Dropletを監視します

紹介

Redisデータベースの効果的な監視は、最適なパフォーマンスの維持、潜在的な瓶颈の特定、および全体的なシステムの信頼性を保証に关する。Redis Exporter Serviceは、Prometheusを使用してRedisデータベースを監視する強力なユーティリティです。

このチュートリアルは、Redis Exporter Serviceの完全なセットアップと設定を指導し、 Monitoringsolutionを簡単に作成することを保証します。このチュートリアルに従って、Redisデータベースのパフォーマンスメトリクスを効果的に監視する完全に操作可能な監視環境を実現することができます。

注:このチュートリアルの設定時間はおよそ25分です。

前提条件

始める前に、以下の前提条件を確認してください。

  • Ubuntu Droplet上でRedisデータベースサーバーを設定し、稼働させる必要があります。Ubuntu上でRedisをインストールし、保護する方法のチュートリアルに従ってください。監視したいサーバーは、Redis Exporter Serviceをインストールするマシンからアクセス可能でなければなりません。
  • RedisサーバーにSSHアクセスを持っていること。
  • Prometheus MySQL Exporterは、メトリクスのスクラップとGrafanaの可视化に使用するPrometheusと統合しています。ここでは、デジタルオープンマーケットからPrometheusおよびGrafanaの画像を使用して、データベースDropletを監視します。

注意:このチュートリアルでは、Redisデータベースの監視用のRedis Exporter Serviceを設定する2つの異なる方法を説明します。手動設定とスクリプトベースの自動化に基づいて、各々が異なる偏好とoperational requirementsに合わせて選択できます。各方法の指示に従って、Infrastructure上にRedis Exporter Serviceを効果的にデプロイしてください。この柔軟性により、最適なデプロイメント戦略およびoperational workflowの取り組み方法を選択することができます。

方法1:手動設定

このセクションでは、手動設定方法を進めましょう。

Prometheusシステムユーザーとグループの作成

Exporterサービスを管理するために、“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

以下はサンプル出力です。

Redisエクスポーターのsystemdサービスを設定する

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.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:

scraping される Redis Exporter のエンドポイントを追加する

プロメテウス・サーバーにログインし、 scraping される Redis Exporter のエンドポイントを追加します。

IPアドレスとポートを、あなたの Redis Exporter のエンドポイントに置き換えます(Redis Exporter サービスのデフォルトのポートは `9121` です)。

これが手動設定の終わりです。次に、スクリプトを使用した設定を進めましょう。

手法2: スクリプトを使用した設定

目標ドロプレットとプロメテウスドロプレットのための2つのスクリプトを実行することで、これを実現することができます。

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

まず、目標ドロプレットを設定しましょう。

chmod +x DO_Redis_Target_Config.sh

目标ドロプレットに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

プロメテウスドロプレットの設定 (スクリプト方法)

./DO_Redis_Prometheus_Config.sh

プロメテウスドロプレットにSSHを接続し、以下のコマンドを使用してスクリプトをダウンロードしてください。

スクリプトをダウンロードした後、実行可能な権限を持っていることを確認します。

スクリプトを実行するには、以下のようにします。

監視に追加するドロプレットの数を入力してください。

ホスト名とIPアドレスを入力してください。

設定は完了しました。

追加した後、目标が更新されているかどうかを確認するには、prometheushostname:9090/targetsのURLにアクセスしてください。

注意:既に監視に追加されているIPアドレスを入力した場合、詳細情報を再入力するように提示されます。また、もはや追加することのできるサーバがない場合、スクリプトを終了するために0を入力することができます

Grafanaの設定

ブラウザでGrafana-IP:3000にアクセスしてGrafanaのデッキビューをログインしてください

設定 > データソース

データソースを追加するためのボタンをクリックしてください

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

Prometheusを探して選択してください

Prometheusという名前を入力し、URL(Prometheushostname:9090)を入力し、“保存 & テスト”をクリックしてください。“データソースは正常に動作しています”が表示されれば、データソースの追加が成功したことを確認できます。その後、作成 > インポート

に移動してください。

Redis監視用のJSONテンプレートは以下のリンクから入手できます:

フィールドを埋めてインポートしてください

Grafanaのデッキビューは準備完了です。ホストを選択し、指標が表示されているか確認してください。必要であれば、自由にデッキビューを修正してください。結論

このチュートリアルで、あなたはRedis Exporterのデプロイをサーバー上に自動化する方法を学びました。スクリプトは、redis_exporter.service ユニットファイルが既に存在するか確認し、そうする場合は終了し、重複する設定を避けます。その後、Prometheusシステムユーザーとグループを作成し、安全なサービス隔離を実施します。スクリプトは、Redis Exporterのバイナリーをダウンロードし、インストールし、標準化のために/usr/local/bin/に配置します。

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