Prometheus高可用性(HA)

高可用性(HA)設定でPrometheusリモート書込みインテグレーションを使用している場合、Prometheusサーバーが同じメトリックスの複数のコピーをNew Relicに送信していないことを確認する必要があります。本ドキュメントでは、New Relicが重複したメトリックスを保存しないようリモート書込みインテグレーションを設定する方法について説明しています。

高可用性設定を使用しない標準のPrometheusリモート書込みインテグレーションに関する情報については、Prometheusリモート書込みインテグレーションの設定をご覧ください。

外部ラベル

New Relicでは、高可用性構成でレプリカからのデータ複製を解除するには、次の2つの外部ラベルが必要です:

ラベル名 説明 値の例
prometheus 値が高可用性クラスターの名前またはPrometheusサーバーのグループを特定するラベル。 monitoring-cluster
prometheus_replica 値がこのデータを送信する一意のレプリカを特定するラベル。 replica-1

残りのセクションでは、Prometheus OperatorとスタンドアロンのPrometheusでラベルがどのように動作するかについて説明します。

Prometheus Operator

この外部ラベルは、Prometheus Operatorバージョン0.19.0(またはそれ以上)を使用している場合、デフォルトで追加されます。Prometheus Operatorを直接使用しているか、helm chartを介しているかは関係ありません。

この演算子は、prometheusラベル(クラスターを特定しているもの)の値を<prometheus deployment namespace>/<prometheus deployment name>に設定します。たとえば、Prometheusデプロイメントのネームスペースがmonitoringで、デプロイメントの名前がprometheus-cluster1の場合、値はmonitoring/prometheus-cluster1となります。

演算子は、prometheus_replicaラベルの値を、各レプリカのポッドの名前として設定します。この場合、形式replica-<replica number>に従います。ここで、数字はそのレプリカの序数となります(たとえば、最初のレプリカの名前はreplica-1となります)。

それでもレプリカデータのコピーが重複して表示される場合、replicaExternalLabelNameまたはprometheusExternalLabelNameはラベル名の変更を上書きするため、これらがPrometheusの仕様またはチャート設定にないことを確認します。

スタンドアロンのPrometheus

Prometheusサーバーを直接デプロイしている場合、外部ラベルを設定ファイルに追加する必要があります。同じ高可用性クラスター内のレプリカの2つの異なる設定の例は次のとおりです。

Replica 1 (prometheus.yml)

global:
	external_labels:
		prometheus: monitoring-cluster
		prometheus_replica: replica-1

Replica 2 (prometheus.yml)

global:
	external_labels:
		prometheus: monitoring-cluster
		prometheus_replica: replica-2

その他のヘルプ

さらに支援が必要な場合は、これらのサポートと学習リソースを確認してください: