1つのコレクターから複数のMSSQLインスタンスをモニターするようにNRDOT Collectorを設定できます。これは、異なるホストで複数のMSSQLを実行しており、単一のNRDOT Collectorインスタンスを使用してそれらすべてからメトリクスを収集したい場合に便利です。
前提条件
MSSQLインスタンス用にNRDOTがインストールおよび設定されていること:
マルチレシーバー設定の追加
以下の例では、マルチレシーバー設定を使用して複数のMSSQLインスタンスをモニターするようにNRDOT Collectorを設定する方法を示します。環境に合ったデプロイメントタイプを選択してください。追加のインスタンス用に、必要に応じてレシーバーを追加できます。
receivers: nrsqlserver/1: &nrsqlserver-common username: "<YOUR_DB_USERNAME>" password: "<YOUR_DB_PASSWORD>" server: "<YOUR_SERVER_1>" port: <YOUR_PORT_1> collection_interval: 30s # Add any additional configuration here (metrics, events, query collection, etc.) # All settings are automatically inherited by additional receiver instances. nrsqlserver/2: <<: *nrsqlserver-common username: "<YOUR_DB2_USERNAME>" password: "<YOUR_DB2_PASSWORD>" server: "<YOUR_SERVER_2>" port: <YOUR_PORT_2> # Add more instances as needed: # nrsqlserver/3: # <<: *nrsqlserver-common # username: "<YOUR_DB3_USERNAME>" # password: "<YOUR_DB3_PASSWORD>" # server: "<YOUR_SERVER_3>" # port: <YOUR_PORT_3>
service: pipelines: metrics: receivers: [nrsqlserver/1, nrsqlserver/2] # Add nrsqlserver/3, nrsqlserver/4, ... as needed processors: [<YOUR_PROCESSORS>] exporters: [otlp] logs: receivers: [nrsqlserver/1, nrsqlserver/2] # Add nrsqlserver/3, nrsqlserver/4, ... as needed processors: [<YOUR_PROCESSORS>] exporters: [otlp]<<: *nrsqlserver-commonマージキーは、nrsqlserver/1からすべての設定を継承します。その後で明示的に設定したフィールド(username、password、server、portなど)は、その特定のレシーバーインスタンスの継承された値を上書きします。
重要
新しいレシーバーインスタンス(たとえばnrsqlserver/3)を追加するたびに、service.pipelinesの下にあるmetricsパイプラインとlogsパイプラインの両方のreceiversリストにもそれを追加してください。receiversブロックで定義されていても、service.pipelinesにないレシーバーはデータを収集しません。
NRDOT Collectorを再起動します
再起動は必須であり、任意ではありません — コレクターは起動時に一度だけ設定を読み込み、ホットリロードしません。プロセスを再起動するまで、設定の変更は反映されません。
$sudo systemctl restart nrdot-collector