Redis のモニター

Instana Redis センサーを使用して、 Redis インスタンスを監視できます。 Instana ホストエージェントをインストールすると、 Redis センサーが自動的にインストールされます。

Redis に関連するメトリクスは、 設定のセクションで説明したように設定を完了すると、Instana UI で表示できます。

Redis については、以下を参照のこと。 Redis.

サポート情報

Redis センサーが現在のセットアップと互換性があることを確認するには、以下のサポート情報セクションをチェックしてください:

サポート対象のオペレーティング・システム

Redis センサーでサポートされるオペレーティングシステムは、ホストエージェントの要件と一致している。 各ホストエージェントでサポートされているオペレーティングシステムを調べるには、各ホストエージェントのサポートされているオペレーティングシステムのセクション(Unixのサポートされているオペレーティングシステムなど )を参照してください。

対応バージョンとサポートポリシー

以下の表は、最新のサポートバージョンとサポートポリシーを示しています:

テクノロジー サポート・ポリシー 最新技術バージョン サポートされる最新バージョン
Redis 45 日間 8.4.0 8.4.0

サポート方針の詳細については、 センサーのサポート戦略を参照してください。

Redis SSL対応

Instana Redis センサーは、SSL で設定された Redis をサポートしています。 エージェントのインストールに自己署名証明書を提供するには、 自己署名証明書を参照してください。

相互 TLS ( mTLS ) の場合、エージェントを起動する前に、クライアントの証明書を PKCS12 keystore に追加し、 JAVA_OPTS 環境変数に追加してください。

環境変数 JAVA_OPTS をエクスポートするには、以下のいずれかの方法を使用する。

cacertsのサーバー証明書によるTLS

変数 JAVA_OPTS を設定する必要はない。

カスタムトラストストアのサーバー証明書を使用したTLS

以下の例のように、 JAVA_OPTS の値を設定する:

JAVA_OPTS"-Djavax.net.ssl.trustStore=<path_to_client's_truststore> -Djavax.net.ssl.trustStoreType=<trustsore_type> -Djavax.net.ssl.trustStorePassword=<truststore_password>"
 

mTLS cacertsのサーバー証明書

以下の例のように、 JAVA_OPTS の値を設定する:

JAVA_OPTS="-Djavax.net.ssl.keyStoreType=<keystore_type> -Djavax.net.ssl.keyStore=<path_to_client's_keystore> -Djavax.net.ssl.keyStorePassword=<keystore_password>"
 

mTLS カスタムトラストストアのサーバ証明書

以下の例のように、 JAVA_OPTS の値を設定する:

JAVA_OPTS"-Djavax.net.ssl.trustStore=<path_to_client's_truststore> -Djavax.net.ssl.trustStoreType=<trustsore_type> -Djavax.net.ssl.trustStorePassword=<truststore_password>
-Djavax.net.ssl.keyStoreType=<keystore_type> -Djavax.net.ssl.keyStore=<path_to_client's_keystore> -Djavax.net.ssl.keyStorePassword=<keystore_password>"
 

Redis をモニタリング用に設定する

Instana モニタリング用に Redis ユーザーを作成する場合は、アクセス制御リスト (ACL) 権限が有効になっていることを確認してください。

Redis ユーザーのACLパーミッションを有効にするには、以下のオプションのいずれかを使用する:

  • redis.conf ファイルに以下の設定を追加する:

    user username on >password ~* -@all +info +config|get +slowlog|get +pubsub|channels +pubsub|numpat +latency|latest
  • あるいは、 redis-cli から以下のコマンドを実行する:

    acl setuser username >password on -@all +info +config|get +slowlog|get +pubsub|channels +pubsub|numpat +latency|latest
注:
  • usernamepassword は、お好みの Redis ユーザー名と強力なパスワードに置き換えてください。

  • 設定を更新した後、 Redis サーバーを再起動すると、変更が有効になります。

Redis モニタリング用 Instana エージェントの設定

詳細なメトリック監視を有効にするには、Instana エージェントの監視情報にアクセスするための認証情報を提供します。 次の例に示すように、Instana エージェント設定ファイル <agent_install_dir>/etc/instana/configuration.yaml を更新できます:

com.instana.plugin.redis:
  username: '' # Used when Redis 6 ACL applied
  password: ''
  poll_rate: 10 #Values are in seconds. Default Value 1 Sec.
  # Instana requires the CONFIG command and it must not be disabled on the Redis side.
  # If it was renamed using 'rename-command', eg: rename-command CONFIG NEWCONFIG
  # this setting can be used to tell Instana the new command name
  config-command: 'NEWCONFIG'
  # Monitor certain values in Redis
  monitor:
    - db: 0           # db number - defaults to 0 if absent
      key: 'logstash' # key of value, given as string
 
注: ポーリング間隔が指定されていない場合、デフォルトは1秒です。

プロセス環境を使用して Redis プラグインを設定する場合は、次の例に示すように、 redis.conf ファイルで set-proc-title フラグを no に設定する:

# By default, Redis modifies the process title (as seen in 'top' and 'ps') to
# provide some runtime information. It is possible to disable this and leave
# the process name as executed by setting the following to no.

set-proc-title no
 

複数の Redis インスタンスを監視する場合の考慮事項

複数の Redis インスタンスをデプロイして監視する場合は、構成の競合を回避し、適切な監視を行うためのベストプラクティスに従ってください:

  • ユーザー名の設定

    Redis インスタンスごとに、ユーザー名を default

  • インスタンスごとに異なるユーザー名

    各インスタンスに固有のユーザー名を使用する必要がある場合は、 redis.conf ファイルに以下の設定を追加して、プロテクト・モードを無効にしてください:

    protected-mode no
     

    この設定により、デフォルト以外のユーザー名を問題なく認証に使用できる。

メトリック収集

メトリクスを表示するには、以下の手順を実行します:

  1. ナビゲーションメニューで、 インフラストラクチャーをクリックする。
  2. Map タブで、監視する Redis ホストをクリックします。
  3. 「ダッシュボードを開く」 をクリックします。 ダッシュボードには指標とプロセスが表示される。

ノード・レベル

Redis センチネルのモニタリングはサポートされていません。

構成データ

以下の構成データは、 Redis ノード・レベルで収集される:

  • ポート
  • 開始時刻
  • 役割
  • 使用可能なクラスター
  • スレーブ

パフォーマンス・メトリック

以下のパフォーマンス・メトリクスは、 Redis ノード・レベルで収集される:

スループット

次の表は、スループット・メトリクスの一覧です:

メトリック 説明 粒度
スループット 1秒あたりの操作回数。 1 秒

キー

次の表は、キーのメトリクスの一覧です:

メトリック 説明 粒度
ヒット数 全データベースを集計したキーヒットの数。 1 秒
ミス数 全データベースを集計したキーミス数。 1 秒
ヒット率 全データベースを集計したキーレートのパーセンテージ。 1 秒
期限切れ すべてのデータベースから集計された、期限切れの鍵の数。 1 秒
強制削除 全データベースを集計した、退避したキーの数。 1 秒

データベース

次の表に、データベース・メトリクスを示します:

メトリック 説明 粒度
キー Redis のデータベースキー。 1 秒
期限切れ数 Redis の期限切れキー。 1 秒

メモリー

次の表は、メモリ・メトリクスの一覧です:

メトリック 説明 粒度
使用中 全データベースを集計した使用メモリ。 1 秒
ユーザー RSS 全データベースから集約されたメモリRSSを使用。 1 秒
Lua ヒープ・サイズ Luaスクリプトのヒープサイズ。 1 秒
フラグメント率 全データベースを集計したメモリ断片化率。 1 秒

接続数

次の表は、接続メトリクスの一覧です:

メトリック 説明 粒度
接続数 ノード上のエンドポイントに接続されているクライアントの数 conns 1 秒

Pub/Sub サブスクライブされたパターン数

次の表は、パターン・メトリクスの一覧です:

メトリック 説明 粒度
サブスクライブされたパターン数 送信者(パブリッシャー)が特定の受信者(サブスクライバー)にメッセージを送信するようにプログラムされていないメッセージングパラダイム。 1 秒

持続性

次の表は、永続メトリクスの一覧です:

メトリック 説明 粒度
Rdbカレントbgsave 現在のrdbの保存期間。 1 秒
現在の書き換え時間のA 現在のaofログの書き換え期間。 1 秒
  • スローログ

スローログでは、スナップショットの履歴を検索することができます。 スナップショットは1ヶ月間保持される。

正常性シグニチャー

各センサーは、入力されるメトリクスに対して継続的に評価され、ユーザーの影響に応じて問題やインシデントを提起するために使用される健康シグネチャのキュレーションされた知識ベースを持っています。

組み込みイベントはエンティティのヘルスシグネチャの異常に基づいて問題やインシデントをトリガーし、 カスタムイベントは任意のエンティティの個別メトリクスのしきい値に基づいて問題やインシデントをトリガーします。

Redis ノードの組み込みイベントについては、 組み込みイベント・リファレンスを参照。

クラスター・レベル

クラスター・レベルの情報は、Redis バージョン 3.0.0 以降で使用可能です。

構成データ

以下の構成データは、 Redis クラスタ・レベルで収集されます:

  • ID
  • クラスター状況
  • ノードの総数
  • マスター・ノードの数

パフォーマンス・メトリック

以下のパフォーマンス・メトリクスは、 Redis クラスタ・レベルで収集されます:

スループット

次の表は、スループット・メトリクスの一覧です:

メトリック 説明 粒度
スループット 1秒あたりの操作数(クラスタ内の全ノードの合計)。 1 秒

キー

次の表は、主な指標の一覧である:

メトリック 説明 粒度
ヒット数 クラスター内の全ノードから集約されたキーヒットの数。 1 秒
ミス数 クラスタ内の全ノードから集計されたキーミスの数。 1 秒
ヒット率 クラスタ内の全ノードから集計されたキーレートのパーセンテージ。 1 秒
期限切れ クラスタ内の全ノードから集約された期限切れ鍵の数。 1 秒
強制削除 クラスタ内の全ノードから集約された、退避された鍵の数。 1 秒

メモリー

次の表は、メモリ・メトリクスの一覧です:

メトリック 説明 粒度
使用中 クラスタ内のすべてのノードから集約された使用済みメモリ。 1 秒
ユーザー RSS クラスタ内の全ノードから集約された使用済みメモリRSS。. 1 秒
Lua ヒープ・サイズ Luaスクリプトのヒープサイズ。クラスタ内の全ノードから集計される。 1 秒

接続数

次の表は、接続メトリクスの一覧です:

メトリック 説明 粒度
接続済み 接続数 1 秒
ブロック済み ブロックされた接続の数。 1 秒
拒否 拒否された接続の数。 1 秒

メッセージ

次の表は、メッセージ・メトリクスの一覧です:

メトリック 説明 粒度
送信済み クラスタのノード間バイナリバスを通じて送信されるメッセージの数。 1 秒
受信済み クラスタのノード間バイナリバスを介して受信されたメッセージの数。 1 秒

トラブルシューティング

Redis 有効化も設定もされていないCONFIGコマンド名

モニタリングの問題タイプ: redis_config_command_name_not_configured

Redis のコンフィギュレーションは redis.conf ファイルにある。 Instana エージェントが Redis サーバーからメトリクスを読み取るには、 Redis 構成ファイルで CONFIG コマンドが無効になっていないことを、次の方法で確認します:

rename-command CONFIG ''
 

b840fc02d524045429941cc15f59e41cb7be6c52 例えば、CONFIGコマンドを redis.conf

rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c52
 

以下の設定に示すように、エージェント設定ファイルの同じCONFIGコマンド名 b840fc02d524045429941cc15f59e41cb7be6c52

com.instana.plugin.redis:
  config-command: 'b840fc02d524045429941cc15f59e41cb7be6c52'