

# Amazon OpenSearch Service の統合
<a name="managed-prometheus-collectors-opensearch-setup"></a>

Amazon CloudWatch マネージド Prometheus コレクターを使用して、Amazon OpenSearch Service ドメインから Prometheus 互換メトリクスを自動的に収集します。マネージドコレクターは VPC に接続し、クラスター、ノード、およびインデックスのメトリクスをドメインから収集して、これらのメトリクスを直接 CloudWatch に配信します。この統合により、エージェントやエクスポーターをデプロイせずに、CloudWatch でドメインのヘルスとパフォーマンスをモニタリングできます。

**注記**  
Amazon CloudWatch マネージド Prometheus コレクターが Amazon OpenSearch Service メトリクスを CloudWatch に配信する際、各メトリクスにはその発信元を識別する属性が自動的に追加されます。すべてのメトリクスには、コレクターの計装スコープ、AWS アカウントとリージョンを記録するクラウド属性、およびコレクターがメトリクス名から推測する単位が含まれます。PromQL でメトリクスをクエリする際に、これらの属性でフィルタリングやグループ化を行うことができます。

## 前提条件
<a name="managed-prometheus-collectors-opensearch-prerequisites"></a>

この手順では、Amazon OpenSearch Service ドメインの管理と Amazon VPC ネットワーキングの概念に精通していることを前提としています。
+ VPC アクセスを備えた Amazon OpenSearch Service ドメイン。マネージドコレクターは、VPC アクセスがあるドメインのみをサポートします。パブリックアクセスを備えたドメインはサポートされていません。
+ 異なるアベイラビリティーゾーンにある少なくとも 2 つのサブネット
+ コレクターが HTTPS (ポート 443) 経由でドメインエンドポイントに到達できるようにするセキュリティグループルール。ドメインのセキュリティグループに、コレクター用に指定したセキュリティグループからの HTTPS トラフィックを許可するインバウンドルールを追加します。

## ステップ 1: スクレープ設定を構成する
<a name="managed-prometheus-collectors-opensearch-scrape-config"></a>

以下は、Amazon OpenSearch Service のためのスクレープ設定の例です。マネージドコレクターは指定したドメインに接続してメトリクスを自動的に収集するので、設定内でスクレープターゲットを指定する必要はありません。設定には、`scrape_configs` が正確に `job_name` であるジョブがある `opensearch-exporter` セクションを含める必要があります。次のステップでスクレイパーを作成する際に、この設定を参照します。 の設定オプションの詳細については、「」を参照してください[スクレイパー設定](managed-prometheus-collectors-scraper-configuration.md)

```
global:
  external_labels:
    domain_name: {{my-opensearch-domain}}

scrape_configs:
  - job_name: opensearch-exporter
    scrape_interval: 60s
```

## ステップ 2: スクレイパーを作成する
<a name="managed-prometheus-collectors-opensearch-create-scraper"></a>

CloudWatch 送信先を持つスクレイパーを作成します。`exporters` フィールドで収集対象のドメインを指定し、`source` フィールドでネットワーキング (サブネットとセキュリティグループ) を提供します。

------
#### [ AWS API ]

`CreateScraper` API オペレーションを使用して、CloudWatch 送信先を持つスクレーパーを作成します。サブネット、セキュリティグループ、ドメイン、およびデータセットの情報を独自の值に置き換えます。

```
POST /scrapers HTTP/1.1

{
  "alias": "opensearch-metrics-scraper",
  "source": {
    "vpcConfiguration": {
      "subnetIds": ["{{subnet-subnet-id-1}}", "{{subnet-subnet-id-2}}"],
      "securityGroupIds": ["{{sg-security-group-id}}"]
    }
  },
  "exporters": [
    {
      "openSearchConfiguration": {
        "domainArn": "arn:aws:es:{{us-west-2}}:{{123456789012}}:domain/{{my-opensearch-domain}}"
      }
    }
  ],
  "destination": {
    "cloudWatchConfiguration": {
      "datasetArn": "arn:aws:cloudwatch:{{us-west-2}}:{{123456789012}}:dataset/default"
    }
  },
  "scrapeConfiguration": {
    "configurationBlob": "{{base64-encoded-blob}}"
  }
}
```

------
#### [ AWS CLI ]

`create-scraper` コマンドを使用して、CloudWatch 送信先を持つスクレーパーを作成します。サブネット、セキュリティグループ、ドメイン、およびデータセットの情報を独自の值に置き換えます。

```
aws amp create-scraper \
  --alias "opensearch-metrics-scraper" \
  --source '{
    "vpcConfiguration": {
      "subnetIds": ["{{subnet-subnet-id-1}}", "{{subnet-subnet-id-2}}"],
      "securityGroupIds": ["{{sg-security-group-id}}"]
    }
  }' \
  --exporters '[
    {
      "openSearchConfiguration": {
        "domainArn": "arn:aws:es:{{us-west-2}}:{{123456789012}}:domain/{{my-opensearch-domain}}"
      }
    }
  ]' \
  --scrape-configuration configurationBlob=$(base64 -w 0 {{opensearch-config.yaml}}) \
  --destination '{
    "cloudWatchConfiguration": {
      "datasetArn": "arn:aws:cloudwatch:{{us-west-2}}:{{123456789012}}:dataset/default"
    }
  }'
```

------

## 使用可能なメトリクス
<a name="managed-prometheus-collectors-opensearch-available-metrics"></a>
+ **クラスターメトリクス** – クラスターのヘルスとステータス、ノード数とデータノード数、アクティブなシャード数と再配置中のシャード数、保留中のタスク数。
+ **ノードメトリクス** – 各ノードの CPU 使用率、JVM ヒープ使用率とガベージコレクション、オペレーティングシステムメモリ、ディスク使用率、スレッドプールのアクティビティ。
+ **インデックスメトリクス** – インデックス作成と検索のレートと遅延、ドキュメント数、マージとリフレッシュのアクティビティ、キャッシュ使用率。

利用可能なメトリクスの完全なリストについては、*Amazon Managed Service for Prometheus ユーザーガイド* の「[Amazon OpenSearch Service から収集されるメトリクス](https://docs.aws.amazon.com/prometheus/latest/userguide/prom-opensearch-integration.html#prom-opensearch-metrics)」を参照してください。

## メトリクスの収集を検証する
<a name="managed-prometheus-collectors-opensearch-validate"></a>

コレクターがドメインからメトリクスを配信していることを確認するには、CloudWatch の[クエリスタジオ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-PromQL-QueryStudio.html)で次のクエリを実行します。このクエリは、ドメインのクラスターヘルスステータスを返します。データポイントが返される場合、コレクターは正常にドメインからメトリクスを収集しています。

```
opensearch_cluster_health_status
```

## クロス アカウント オブザーバビリティ
<a name="managed-prometheus-collectors-opensearch-cross-account"></a>

クロスアカウントの Amazon OpenSearch Service モニタリングでは、Amazon CloudWatch メトリクスの一元化を使用することをお勧めします。詳細については、「[CloudWatch メトリクスの一元化](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Unified-Cross-Account.html)」を参照してください。

ロールチェーンを使用した代替のクロスアカウントスクレイパー設定については、*Amazon Managed Service for Prometheus ユーザーガイド*の「[Amazon OpenSearch Service の統合](https://docs.aws.amazon.com/prometheus/latest/userguide/prom-opensearch-integration.html)」を参照してください。

## 現在の制限事項
<a name="managed-prometheus-collectors-opensearch-limitations"></a>
+ マネージドコレクターは、VPC アクセスを備えたドメインのみをサポートします。
+ スクレイパーは、単一の Amazon OpenSearch Service ドメインからメトリクスを収集します。複数のドメインからメトリクスを収集するには、各ドメインごとに個別のスクレイパーを作成します。