Aerospike

コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。

このドキュメントでは、Google Cloud Managed Service for Prometheus を使用して Aerospike から指標を収集できるように、Google Kubernetes Engine の Deployment を構成する方法について説明します。このドキュメントでは、次の方法について説明します。

  • Aerospike のエクスポータを設定して、指標を報告する。
  • エクスポートされた指標を収集するために、Managed Service for Prometheus の PodMonitoring リソースを構成する。
  • Cloud Monitoring のダッシュボードにアクセスして指標を表示する。

以下の手順は、Managed Service for Prometheus でマネージド コレクションを使用している場合にのみ適用されます。セルフデプロイ コレクションを使用している場合は、Aerospike エクスポータのソース リポジトリでインストール情報をご覧ください。

Aerospike の詳細については、Aerospike をご覧ください。

前提条件

Managed Service for Prometheus とマネージド コレクションを使用して Aerospike から指標を収集するには、デプロイが次の要件を満たしている必要があります。

  • クラスタで Google Kubernetes Engine バージョン 1.21.4-gke.300 以降を実行している必要があります。
  • マネージド コレクションを有効にして、Managed Service for Prometheus を実行する必要があります。詳細については、マネージド コレクションを使ってみるをご覧ください。

  • Aerospike とのインテグレーションに Cloud Monitoring で利用可能なダッシュボードを使用するには、aerospike-prometheus-exporter バージョン 1.8.0 以降を使用する必要があります。

    利用可能なダッシュボードの詳細については、ダッシュボードを表示するをご覧ください。

Aerospike エクスポータをインストールする

Aerospike エクスポータ aerospike-prometheus-exporter をサイドカーとして Aerospike ワークロードにインストールすることをおすすめします。サイドカーの使用方法については、マルチコンテナ Pod を使用した Kubernetes での拡張アプリケーションをご覧ください。

aerospike-prometheus-exporter をサイドカーとして Aerospike にインストールするには、次の例に示すように Aerospike 構成を変更します。

# Copyright 2022 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: aerospike
  labels:
    app.kubernetes.io/name: aerospike
spec:
  serviceName: aerospike
  replicas: 1
  selector:
    matchLabels:
+     app.kubernetes.io/name: aerospike
  template:
    metadata:
      labels:
+       app.kubernetes.io/name: aerospike
    spec:
      containers:
      - name: aerospike
        image: aerospike/aerospike-server:6.0.0.2
        ports:
        - containerPort: 3000
+     - name: aerospike-prometheus-exporter
+       image: aerospike/aerospike-prometheus-exporter:1.8.0
+       ports:
+       - containerPort: 9145
+         name: prometheus
+       env:
+         - name: AS_HOST
+           value: localhost
+         - name: AS_PORT
+           value: "3000"

+ 記号で始まるすべての行を構成に追加する必要があります。

以下の手順では、稼働している Aerospike がすでに存在し、それをエクスポータを含むように変更することを前提としています。Aerospike の設定については、Aerospike オペレーターのドキュメントをご覧ください。

構成の変更をローカル ファイルから適用するには、次のコマンドを実行します。

kubectl apply -n NAMESPACE_NAME -f FILE_NAME

Terraform を使用して構成を管理することもできます。

PodMonitoring リソースを定義する

ターゲット ディスカバリの場合、Managed Service for Prometheus Operator には、同じ Namespace 内の Aerospike エクスポータに対応する PodMonitoring リソースが必要です。

次の PodMonitoring 構成を使用できます。

# Copyright 2022 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

apiVersion: monitoring.googleapis.com/v1
kind: PodMonitoring
metadata:
  name: aerospike
  labels:
    app.kubernetes.io/name: aerospike
    app.kubernetes.io/part-of: google-cloud-managed-prometheus
spec:
  endpoints:
  - port: prometheus
    interval: 30s
  selector:
    matchLabels:
      app.kubernetes.io/name: aerospike

ラベルセレクタとポートが、Aerospike エクスポータをインストールするで使用されているセレクタとポートと一致していることを確認します。

構成の変更をローカル ファイルから適用するには、次のコマンドを実行します。

kubectl apply -n NAMESPACE_NAME -f FILE_NAME

Terraform を使用して構成を管理することもできます。

構成を確認する

Metrics Explorer を使用すると、Aerospike エクスポータが正しく構成されていることを確認できます。Cloud Monitoring が指標を取り込むまでに 1~2 分かかる場合があります。

指標が取り込まれていることを確認します。

  1. Google Cloud コンソールで [Monitoring] を選択するか、次のボタンをクリックします。
    [Monitoring] に移動
  2. ナビゲーション パネルで、 Metrics Explorer を選択します。
  3. [PromQL] タブを選択し、次のクエリを実行します。
    up{job="aerospike", cluster="CLUSTER_NAME", namespace="NAMESPACE_NAME"}

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

Cloud Monitoring インテグレーションには、Aerospike Prometheus の概要ダッシュボードが含まれています。ダッシュボードは、インテグレーションを構成すると自動的にインストールされます。インテグレーションをインストールすることなく、ダッシュボードの静的プレビューを表示することもできます。

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

  1. Google Cloud コンソールで [Monitoring] を選択するか、次のボタンをクリックします。
    [Monitoring] に移動
  2. ナビゲーション パネルで、 [ダッシュボード] を選択します。
  3. [ダッシュボード リスト] タブを選択します。
  4. [統合] カテゴリを選択します。
  5. ダッシュボードの名前(Aerospike Prometheus Overview など)をクリックします。

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

  1. Google Cloud コンソールで [Monitoring] を選択するか、次のボタンをクリックします。
    [Monitoring] に移動
  2. ナビゲーション パネルで、 [インテグレーション] を選択します。
  3. [デプロイメント プラットフォーム] フィルタの [Kubernetes Engine] をクリックします。
  4. Aerospike インテグレーションを見つけ、[詳細を表示] をクリックします。
  5. [ダッシュボード] タブを選択します。

トラブルシューティング

指標の取り込みに関する問題のトラブルシューティングについては、取り込み側の問題のトラブルシューティングエクスポータからの収集に関する問題をご覧ください。