Couchbase

Couchbase の統合により、オペレーション、メモリ使用量、エジェクションなどのバケット指標が収集されます。このインテグレーションにより、ノードで公開されている Prometheus サーバーから指標が収集されます。このインテグレーションでは、Couchbase の一般ログ、HTTP アクセスログ、データセンター間(goxdcr)のログも収集されます。

Couchbase の詳細については、Couchbase のドキュメントをご覧ください。

前提条件

Couchbase のテレメトリーを収集するには、バージョン 2.18.2 以降の Ops エージェントをインストールする必要があります。

この統合は、Couchbase バージョン 6.5、6.6、7.0 をサポートしています。

couchbase 用に Ops エージェントを構成する

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

構成の例

次のコマンドは、couchbase のテレメトリーを収集して取り込み、Ops エージェントを再起動するための構成を作成します。

# Configures Ops Agent to collect telemetry from the app and restart Ops Agent.

set -e

# Create a back up of the existing file so existing configurations are not lost.
sudo cp /etc/google-cloud-ops-agent/config.yaml /etc/google-cloud-ops-agent/config.yaml.bak

# Configure the Ops Agent.
sudo tee /etc/google-cloud-ops-agent/config.yaml > /dev/null << EOF
metrics:
  receivers:
    couchbase:
      type: couchbase
      username: admin
      password: password
      collection_interval: 30s
  service:
    pipelines:
      couchbase:
        receivers:
          - couchbase

logging:
  receivers:
    couchbase_general:
      type: couchbase_general
    couchbase_http_access:
      type: couchbase_http_access
    couchbase_goxdcr:
      type: couchbase_goxdcr
  service:
    pipelines:
      couchbase:
        receivers:
          - couchbase_general
          - couchbase_http_access
          - couchbase_goxdcr

EOF

sudo service google-cloud-ops-agent restart
sleep 30s

ログの内容

logName は、構成で指定されたレシーバ ID から取得されます。LogEntry 内の詳細なフィールドは、次のとおりです。

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

フィールド タイプ 説明
jsonPayload.level 文字列 couchbase ログのログエントリ重大度
jsonPayload.message 文字列 ログメッセージ
jsonPayload.module_name 文字列 エントリを発行するモジュールの名前
jsonPayload.node_name 文字列 ログ メッセージを発行するノードの名前
jsonPayload.source 文字列 ログの生成元のソース
jsonPayload.type 文字列 ログのタイプ
severity 文字列(LogSeverity ログエントリ レベル(変換済み)。

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

フィールド タイプ 説明
httpRequest オブジェクト HttpRequest を参照
jsonPayload.host 文字列 HTTP リクエストを呼び出すクライアントの IP アドレス
jsonPayload.level 文字列 couchbase ログのログエントリ重大度
jsonPayload.message 文字列 ログメッセージ
jsonPayload.user 文字列 基本認証が使用されている場合は、HTTP リクエストを行っているユーザー名。
severity 文字列(LogSeverity ログエントリ レベル(変換済み)。

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

フィールド タイプ 説明
jsonPayload.level 文字列 couchbase ログのログエントリ重大度
jsonPayload.log_type 文字列 データセンター間ログを発行するコンポーネントの名前
jsonPayload.message 文字列 ログメッセージ
severity 文字列(LogSeverity ログエントリ レベル(変換済み)。

指標の収集を構成する

Couchbase から指標を取り込むには、Couchbase が生成する指標のレシーバーを作成してから、新しいレシーバー用のパイプラインを作成する必要があります。

このレシーバーでは、複数のエンドポイントのモニタリングなど、構成で複数のインスタンスを使用することはできません。このようなインスタンスはすべて同じ時系列に書き込まれるため、Cloud Monitoring ではインスタンスを区別できません。

couchbase 指標のレシーバーを構成するには、次のフィールドを指定します。

フィールド デフォルト 説明
collection_interval 60s time.Duration 値(例: 30s5m)。
endpoint localhost:8091 モニタリングするノードの URL。
password couchbase サーバーへの接続に使用するパスワード。
type 値は、couchbase にする必要があります。
username couchbase サーバーへの接続に使用するユーザー名。

モニタリング対象

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

指標タイプ
種類、タイプ
モニタリング対象リソース
ラベル
workload.googleapis.com/couchbase.bucket.error.oom.count
CUMULATIVEINT64
gce_instance
bucket_name
error_type
workload.googleapis.com/couchbase.bucket.item.count
GAUGEDOUBLE
gce_instance
bucket_name
state
workload.googleapis.com/couchbase.bucket.item.ejection.count
CUMULATIVEINT64
gce_instance
bucket_name
workload.googleapis.com/couchbase.bucket.memory.high_water_mark.limit
GAUGEDOUBLE
gce_instance
bucket_name
workload.googleapis.com/couchbase.bucket.memory.low_water_mark.limit
GAUGEDOUBLE
gce_instance
bucket_name
workload.googleapis.com/couchbase.bucket.memory.usage
GAUGEDOUBLE
gce_instance
bucket_name
workload.googleapis.com/couchbase.bucket.operation.count
CUMULATIVEINT64
gce_instance
bucket_name
op
workload.googleapis.com/couchbase.bucket.vbucket.count
GAUGEDOUBLE
gce_instance
bucket_name
state

構成を確認する

このセクションでは、Couchbase レシーバが正しく構成されていることを確認する方法について説明します。Ops エージェントがテレメトリーの収集を開始するまでに 1~2 分かかる場合があります。

Couchbase ログが Cloud Logging に送信されていることを確認するには、次のようにします。

  1. Google Cloud コンソールのナビゲーション パネルで、[ロギング] を選択してから、[ログ エクスプローラ] を選択します。

    [ログ エクスプローラ] に移動

  2. エディタに次のクエリを入力し、[クエリを実行] をクリックします。
    resource.type="gce_instance"
    (log_id("couchbase_general") OR log_id("couchbase_http_access") OR log_id("couchbase_goxdcr"))
    

Couchbase 指標が Cloud Monitoring に送信されていることを確認するには、次のようにします。

  1. Google Cloud コンソールのナビゲーション パネルで [Monitoring] を選択し、次に [ Metrics Explorer] を選択します。

    Metrics Explorer に移動

  2. クエリビルダー ペインのツールバーで、名前が [MQL] または  [PromQL] のボタンを選択します。
  3. [言語] 切り替えで [MQL] が選択されていることを確認します。言語切り替えボタンは、クエリの書式設定を行うのと同じツールバーにあります。
  4. エディタに次のクエリを入力し、[クエリを実行] をクリックします。
    fetch gce_instance
    | metric 'workload.googleapis.com/couchbase.bucket.memory.usage'
    | every 1m
    

ダッシュボードを表示する

Couchbase 指標を表示するには、グラフまたはダッシュボードが構成されている必要があります。Couchbase インテグレーションには、1 つ以上のダッシュボードが含まれています。インテグレーションを構成して Ops エージェントが指標データの収集を開始すると、ダッシュボードは自動的にインストールされます。

インテグレーションをインストールすることなく、ダッシュボードの静的プレビューを表示することもできます。

インストールされているダッシュボードを表示する手順は次のとおりです。

  1. Google Cloud コンソールのナビゲーション パネルで、[Monitoring] を選択してから、[ダッシュボード] を選択します。

    [ダッシュボード] に移動

  2. [ダッシュボード リスト] タブを選択し、[統合] カテゴリを選択します。
  3. 表示するダッシュボードの名前をクリックします。

インテグレーションを構成してもダッシュボードがインストールされていない場合は、Ops エージェントが実行されていることを確認します。ダッシュボードにグラフの指標データがない場合、ダッシュボードのインストールは失敗します。Ops エージェントが指標の収集を開始した後に、ダッシュボードがインストールされます。

ダッシュボードの静的プレビューを表示する手順は次のとおりです。

  1. Google Cloud コンソールのナビゲーション パネルで、[Monitoring] を選択してから、[インテグレーション] を選択します。

    [インテグレーション] に移動

  2. [デプロイメント プラットフォーム] フィルタの [Compute Engine] をクリックします。
  3. Couchbase のエントリを見つけて [詳細を表示] をクリックします。
  4. [ダッシュボード] タブを選択すると、静的プレビューが表示されます。ダッシュボードがインストールされている場合は、[ダッシュボードを表示] をクリックして移動できます。

Cloud Monitoring のダッシュボードについて詳しくは、ダッシュボードとグラフをご覧ください。

[インテグレーション] ページの使用方法については、インテグレーションを管理するをご覧ください。

アラート ポリシーをインストールする

アラート ポリシーは、指定した条件が成立した際に通知するように Cloud Monitoring に指示します。Couchbase インテグレーションには、使用する 1 つ以上のアラート ポリシーが含まれています。これらのアラート ポリシーは、Monitoring の [インテグレーション] ページで表示してインストールできます。

使用可能なアラート ポリシーの説明を表示してインストールする手順は次のとおりです。

  1. Google Cloud コンソールのナビゲーション パネルで、[Monitoring] を選択してから、[インテグレーション] を選択します。

    [インテグレーション] に移動

  2. Couchbase のエントリを見つけて [詳細を表示] をクリックします。
  3. [アラート] タブを選択します。このタブには、利用可能なアラート ポリシーの説明と、それらをインストールするためのインターフェースが表示されます。
  4. アラート ポリシーをインストールします。アラート ポリシーでは、アラートがトリガーされた通知の送信先を特定する必要があるため、インストール環境の情報が必要になります。アラート ポリシーをインストールする手順は次のとおりです。
    1. 利用可能なアラート ポリシーのリストから、インストールするアラート ポリシーを選択します。
    2. [通知の構成] セクションで、1 つ以上の通知チャンネルを選択します。通知チャンネルの使用を無効にすることもできますが、無効にすると、アラート ポリシーは通知なく起動します。Monitoring でステータスを確認できますが、通知は受信しません。

      通知チャンネルの詳細については、通知チャンネルを管理するをご覧ください。

    3. [ポリシーの作成] をクリックします。

Cloud Monitoring のアラート ポリシーの詳細については、アラートの概要をご覧ください。

[インテグレーション] ページの使用方法については、インテグレーションを管理するをご覧ください。

次のステップ

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