Redis のモニター
「 Instana 」センサー( Redis )を使用することで、 Redis のインスタンスを監視できます。 Instana ホストエージェントをインストールすると、 Redis センサーが自動的にインストールされます。
「設定 」セクションの手順に従って設定を完了すると、 Instana のUIで Redis に関連するメトリクスを確認できるようになります。
Redis の詳細については、 Redis をご覧ください。
サポート情報
Redis センサーが現在の環境と互換性があるかどうかを確認するには、以下のサポート情報セクションをご確認ください:
サポート対象のオペレーティング・システム
Redis センサーでサポートされるオペレーティング・システムは、ホスト・エージェントの要件と整合性があります。 各ホストエージェントでサポートされているオペレーティングシステムを確認するには、各ホストエージェントの「サポートされているオペレーティングシステム」セクションを参照してください。例:「 Unix でサポートされているオペレーティングシステム」 など。
対応バージョンとサポート方針
以下の表は、最新のサポート対象バージョンとサポート方針を示しています:
| テクノロジー | サポート・ポリシー | 最新バージョン | サポートされる最新バージョン |
|---|---|---|---|
| Redis | 45 日間 | 8.8.0 | 8.8.0 |
サポートポリシーに関する詳細については、 「センサーのサポート戦略」 を参照してください。
Redis SSL とともに
Instana ( Redis )センサーは、 SSL で構成された Redis に対応しています。 エージェントのインストール用に自己署名証明書を提供するには、 「自己署名証明書」 を参照してください。
相互認証( TLS )( mTLS )を行う場合は、エージェントを起動する前に、クライアントの証明書を PKCS12 のキーストアに追加し、環境 JAVA_OPTS 変数に設定してください。
環境 JAVA_OPTS 変数をエクスポートするには、以下のいずれかの方法を使用できます。
TLS cacerts内のサーバー証明書
変 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
と
usernameを、お好みのpasswordRedis のユーザー名と強力なパスワードに置き換えてください。- 設定の変更を反映させるには、設定を更新した後、 Redis サーバーを再起動してください。
Redis の監視用に Instana エージェントを設定する
詳細なメトリクスの監視を有効にするには、 Instana エージェント内の監視情報にアクセスするための認証情報を指定してください。 以下の例に示すように <agent_install_dir>/etc/instana/configuration.yaml 、 Instana のエージェント設定ファイルを更新できます:
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
プロセス環境を使用して Redis プラグインを設定する場合は、次の例に示すように、ファイル redis.conf 内の no フラグ set-proc-title を に設定してください
# 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 .conf` ファイルに追加して、保護モードを無効にしてください:
protected-mode noこの設定により、デフォルト以外のユーザー名でも問題なく認証を行うことができます。
メトリック収集
メトリックを表示するには、以下のステップを実行します。
- ナビゲーション・メニューで、 「インフラストラクチャー」をクリックします。
- 「マップ」 タブで、モニター対象の Redis ホストをクリックします。
- 「ダッシュボードを開く」 をクリックします。 ダッシュボードには、メトリックとプロセスが表示されます。
ノード・レベル
Redis Sentinel の監視はサポートされていません。
構成データ
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 サーバーからメトリクスを読み込むには、 RedisCONFIG の設定ファイルで以下のコマンドが無効になっていないことを確認してください:
rename-command CONFIG ''
たとえば、次のようにして b840fc02d524045429941cc15f59e41cb7be6c52 ファイル redis.conf 内の CONFIG コマンドの名前を変更する場合:
rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c52
以下の構成に示すように、エージェント構成ファイル内の同じ CONFIG コマンド名 b840fc02d524045429941cc15f59e41cb7be6c52 を更新します。
com.instana.plugin.redis:
config-command: 'b840fc02d524045429941cc15f59e41cb7be6c52'