Redis

Redis は、オープンソースの高度な Key-Value ストアです。値に文字列、ハッシュ、リスト、セット、並べ替え済みセットを含めることができるので、多くの場合、データ構造サーバーと呼ばれます。 詳細については、redis.io をご覧ください。

前提条件

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

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
      endpoint: localhost:6379
      collection_interval: 60s
      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 の照合で除外するファイルシステムのパスパターンのリスト。

ログの内容

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 サーバーへの接続に使用するパスワード。

モニタリング対象

次の表に、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
 

構成を確認する

ログ エクスプローラと 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