Redis

Redis 統合では、パフォーマンスと使用状況に関連する指標を収集します。パフォーマンス指標は、CPU、メモリ、ネットワーク スループットの状況を表し、使用状況の指標はキー、コマンド、レプリケーションの状況を表します。この統合では、Redis ログも収集され、JSON ペイロードが生成されます。このプロセス中に、ロールとレベルのシンボルは、人が読める形式に変換されます。

Redis の詳細については、redis.io をご覧ください。

前提条件

Redis テレメトリーを収集して取り込むには、バージョン 2.7.0 以降の Ops エージェントをインストールする必要があります。

このレシーバは Redis バージョン 6.2 に対応しています。

Redis 用の Ops エージェントを構成する

Ops エージェントの構成のガイドに従って、Redis インスタンスから指標を収集するために必要な要素を追加して、エージェントを再起動します。

構成の例

次のコマンドは、Redis のログを収集して取り込み、Linux で Ops エージェントを再起動するための構成ファイルを作成します。

sudo tee /etc/google-cloud-ops-agent/config.yaml > /dev/null << EOF
logging:
  receivers:
    redis:
      type: redis
  service:
    pipelines:
      redis:
        receivers:
        - redis
metrics:
  receivers:
    redis:
      type: redis
      password: Strong_Password123
  service:
    pipelines:
      redis:
        receivers:
        - redis
EOF
sudo service google-cloud-ops-agent restart

ログの収集を構成する

Redis からログを取り込むには、Redis が生成するログのレシーバーを作成し、新しいレシーバーのパイプラインを作成する必要があります。redis ログのレシーバーを構成するには、次のフィールドを指定します。

フィールド デフォルト 説明
type 値は、redis にする必要があります。
include_paths [/var/log/redis/redis-server.log, /var/log/redis_6379.log, /var/log/redis/redis.log, /var/log/redis/default.log, /var/log/redis/redis_6379.log] 各ファイルのテーリングで読み込むファイルシステムのパスのリスト。パスには、/var/log/redis/*.log のように、ワイルドカード(*)を使用できます。
exclude_paths [] include_paths の照合で除外するファイルシステム パスのパターンのリスト。
record_log_file_path false true に設定すると、ログレコードの取得元のファイルのパスが agent.googleapis.com/log_file_path ラベルの値として出力ログエントリに表示されます。ワイルドカードを使用する場合、レコードを取得したファイルのパスのみが記録されます。
wildcard_refresh_interval 60s include_paths のワイルドカード ファイルのパスの更新間隔。時間を指定します(例: 30s2m)。このプロパティは、ログファイルのローテーションがデフォルトの間隔よりも速く、ロギングのスループットが高い場合に有用です。

ログの内容

Redis ログでは、LogEntry に次のフィールドが含まれます。

フィールド タイプ 説明
jsonPayload.roleChar 文字列 Redis ロール文字(X、C、S、M)
jsonPayload.role 文字列 Redis ロール文字(sentinel、RDB/AOF_writing_child、slave、master)から変換
jsonPayload.level 文字列 ログエントリ レベル
jsonPayload.pid 数値 プロセス ID
jsonPayload.message 文字列 ログ メッセージ
severity 文字列(LogSeverity ログエントリ レベル(翻訳済み)
timestamp 文字列(Timestamp エントリがログに記録された時刻

指標の収集を構成する

Redis から指標を収集するには、Redis 指標を表示するレシーバーを作成し、新しいレシーバー用のパイプラインを作成する必要があります。Redis 指標のレシーバーを構成するには、次のフィールドを指定します。

フィールド デフォルト 説明
type 値は、redis にする必要があります。
address localhost:6379 Redis によって公開される URL。
collection_interval 60s time.Duration 値(例: 30s5m)。
password サーバーへの接続に使用するパスワード。
insecure true セキュア TLS 接続を使用するかどうかを設定します。false に設定すると、TLS が有効になります。
insecure_skip_verify false 証明書の検証をスキップするかどうかを指定します。insecuretrue に設定されている場合、insecure_skip_verify 値は使用されません。
cert_file TLS で必要な接続に使用する TLS 証明書のパス。
key_file TLS で必要な接続に使用する TLS キーのパス。
ca_file CA 証明書のパス。クライアントとして、これによりサーバー証明書が検証されます。空の場合、レシーバはシステムルート CA を使用します。

モニタリング対象

次の表に、Ops エージェントが Redis インスタンスから収集する指標の一覧を示します。

指標タイプ
種類、タイプ
モニタリング対象リソース
ラベル
workload.googleapis.com/redis.clients.blocked
GAUGEINT64
gce_instance
 
workload.googleapis.com/redis.clients.connected
GAUGEINT64
gce_instance
 
workload.googleapis.com/redis.clients.max_input_buffer
GAUGEINT64
gce_instance
 
workload.googleapis.com/redis.clients.max_output_buffer
GAUGEINT64
gce_instance
 
workload.googleapis.com/redis.commands.processed
CUMULATIVEINT64
gce_instance
 
workload.googleapis.com/redis.connections.received
CUMULATIVEINT64
gce_instance
 
workload.googleapis.com/redis.connections.rejected
CUMULATIVEINT64
gce_instance
 
workload.googleapis.com/redis.cpu.time
CUMULATIVEDOUBLE
gce_instance
state
workload.googleapis.com/redis.keys.evicted
CUMULATIVEINT64
gce_instance
 
workload.googleapis.com/redis.keys.expired
CUMULATIVEINT64
gce_instance
 
workload.googleapis.com/redis.keyspace.hits
CUMULATIVEINT64
gce_instance
 
workload.googleapis.com/redis.keyspace.misses
CUMULATIVEINT64
gce_instance
 
workload.googleapis.com/redis.latest_fork
GAUGEINT64
gce_instance
 
workload.googleapis.com/redis.memory.fragmentation_ratio
GAUGEDOUBLE
gce_instance
 
workload.googleapis.com/redis.memory.lua
GAUGEINT64
gce_instance
 
workload.googleapis.com/redis.memory.peak
GAUGEINT64
gce_instance
 
workload.googleapis.com/redis.memory.rss
GAUGEINT64
gce_instance
 
workload.googleapis.com/redis.memory.used
GAUGEINT64
gce_instance
 
workload.googleapis.com/redis.net.input
CUMULATIVEINT64
gce_instance
 
workload.googleapis.com/redis.net.output
CUMULATIVEINT64
gce_instance
 
workload.googleapis.com/redis.rdb.changes_since_last_save
GAUGEINT64
gce_instance
 
workload.googleapis.com/redis.replication.backlog_first_byte_offset
GAUGEINT64
gce_instance
 
workload.googleapis.com/redis.replication.offset
GAUGEINT64
gce_instance
 
workload.googleapis.com/redis.slaves.connected
GAUGEINT64
gce_instance
 

ダッシュボードの例

サンプルの Cloud Monitoring ダッシュボードを使用して、この統合からの指標を表示できます。サンプル ダッシュボードのインストール手順を完了して、サンプル ライブラリから Redis GCE の概要ダッシュボードをインポートし、Redis 指標を表示するグラフを表示します。

構成を確認する

ログ エクスプローラと Metrics Explorer を使用して、Redis レシーバが正しく構成されていることを確認できます。Ops エージェントがログと指標の収集を開始するまでに 1~2 分かかる場合があります。

ログが取り込まれていることを確認するには、ログ エクスプローラに移動し、次のクエリを実行して Redis のログを表示します。

resource.type="gce_instance"
logName=("projects/PROJECT_ID/logs/redis")


指標が取り込まれていることを確認するには、Metrics Explorer に移動し、[MQL] タブで次のクエリを実行します。

fetch gce_instance
| metric 'workload.googleapis.com/redis.connections.received'
| align rate(1m)
| every 1m

次のステップ

Ansible を使用して Ops エージェントをインストールし、サードパーティ アプリケーションを構成してサンプル ダッシュボードをインストールする方法については、Ops エージェントをインストールして、サードパーティ アプリケーションのトラブルシューティングを行うの動画をご覧ください。