高可用性(HA)設定でPrometheusリモート書込みインテグレーションを使用している場合、Prometheusサーバーが同じメトリクスの複数のコピーをNew Relicに送信していないことを確認する必要があります。本ドキュメントでは、New Relicが重複したメトリックスを保存しないようリモート書込みインテグレーションを設定する方法について説明しています。
ヒント
高可用性設定を使用しない標準のPrometheusリモート書込みインテグレーションに関する情報については、Prometheusリモート書込みインテグレーションの設定をご覧ください。
外部ラベル
New Relicでは、高可用性構成でレプリカからのデータ複製を解除するには、次の2つの外部ラベルが必要です:
ラベル名 | 説明 | 値の例 |
---|---|---|
| 値が高可用性クラスターの名前またはPrometheusサーバーのグループを特定するラベル。 |
|
| 値がこのデータを送信する一意のレプリカを特定するラベル。 |
|
残りのセクションでは、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>
に従います。ここで、数字はそのレプリカの序数となります(たとえば、最初のレプリカの名前はplica-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