Elasticsearch は、Elastic Stack の中核をなす分散型検索・分析エンジンです。 インデックス作成、検索、分析が行われる場所です。
この記事では、Azure Kubernetes Service (AKS) と Azure Arc 対応 Kubernetes を使用して Prometheus 機能用 の Azure Monitor マネージド サービスを構成し、Prometheus メトリックをスクレイピングして Elasticsearch クラスターを監視する方法について説明します。
前提条件
- AKS または Azure Arc 対応 Kubernetes で実行されている Elasticsearch クラスター
- クラスターで有効になっている Prometheus のマネージド サービス。 詳細については、「 Prometheus と Grafana を有効にする」を参照してください。
Elasticsearch Exporter をインストールする
Helm チャートを使用して Prometheus Elasticsearch Exporter をインストールします。
helm install azmon-elasticsearch-exporter --version 5.7.0 prometheus-community/prometheus-elasticsearch-exporter --set es.uri="https://username:password@elasticsearch-service.namespace:9200" --set podMonitor.enabled=true --set podMonitor.apiVersion=azmonitoring.coreos.com/v1
Elasticsearch Exporter Helm チャートは 、値を使用して構成できます。 Elasticsearch サーバーにアクセスできる適切なサーバー アドレスを指定します。
構成に基づいて、Elasticsearch サーバーでの認証に使用するユーザー名、パスワード、または証明書を設定します。 引数 es.uri
を使用して Elasticsearch に到達できるアドレスを設定します。
注
Helm チャートのインストールを使用したマネージド Prometheus サービス/ポッド モニター構成は、Helm チャート バージョン 5.7.0 以降でのみサポートされます。
--set serviceMonitor.enabled=true
Helm チャート パラメーターを使用して、ポッド モニターの代わりにサービス モニターを使用することもできます。 パラメーター serviceMonitor.apiVersion=azmonitoring.coreos.com/v1
を使用して、Prometheus のマネージド サービスでサポートされている API バージョンを使用してください。
他のサービスまたはポッド モニターを構成する場合は、次の 手順に従います。
ルールをデプロイする
ルールを記録するために、次のファイルをダウンロードします。
アラート ルール用に次のファイルをダウンロードします。
パラメーター ファイルで次の値を編集します。
パラメーター 値 azureMonitorWorkspace
Azure Monitor ワークスペースのリソース ID。 Azure Monitor ワークスペースの [概要] ページの JSON ビューから取得します。 ___location
Azure Monitor ワークスペースの場所。 Azure Monitor ワークスペースの [概要] ページの JSON ビューから取得します。 clusterName
クラスターの名前。 クラスターの [概要] ページの JSON ビューから取得します。 actionGroupId
アラート アクション グループのリソース ID。 アクション グループの [概要] ページの JSON ビューから取得します。 アクション グループの詳細を確認します。 Azure Resource Manager テンプレートをインストールするための標準的な方法を使用して、テンプレートをデプロイします。 ガイダンスについては、 Azure Monitor の Resource Manager テンプレートのサンプルを参照してください。
テンプレートをデプロイした後、「 Prometheus ルール グループの表示」の説明に従って、Azure portal でルールを表示できます。 アラートのしきい値を確認して、クラスターとワークロードに合っていることを確認します。 それに応じてしきい値を更新します。
注
ルールのスコープはクラスターに限定されません。 ルールのスコープを特定のクラスターに設定する場合は、「ルール を特定のクラスターに制限する」を参照してください。
Prometheus アラートの詳細を確認できます。 他のオープンソースの Prometheus アラート/記録ルールを使用する場合は、 az-prom-rules-converter を使用して、Azure と同等の Prometheus ルールを作成します。
Grafana ダッシュボードをインポートする
ID または JSON を使用して次の Grafana ダッシュボードをインポートするには、「 Grafana Labs からダッシュボードをインポートする」の手順を使用します。
トラブルシューティング
サービス モニターが正常に適用されたら、アドオンがサービス モニター ターゲットを確実に選択できるようにする場合は、 次の手順に従います。