他のさまざまなサーバーの統計を収集するサーバーをセットアップしました。 collectdのネットワークプラグインを使用しているので、リスナーを設定してプラグインネットワークを構成しました。
私のネットワークでは、構成で「サーバー」のプライベートIPを使用できます。すべてが機能します。これらのサーバーの1つはリモートサーバーであり、インターネット経由でのみアクセスできます。したがって、サーバーはデータをDNSアドレスに送信するように構成されます(構成スニペットを参照)。このサーバーでcollectdのサービスを開始した後、それは完全に機能します。接続用の新しい動的IPアドレスを取得した場合、リモートサーバーはcollectdにデータを送信しません。リモートサーバーでcollectdを再起動した場合にのみ、IPアドレスが再度変更されるまで機能します。
私の意見では、プラグインは起動時に一度だけDNSアドレスを解決します。 collectdサービスを再起動せずに問題を解決するオプションはありますか?
構成:
<Plugin network>
# # client setup:
Server "name.of.server" "25826"
</Plugin>
Collectdサービスを再起動せずに問題を解決するオプションはありますか?
この質問は尋ねられました これも7年前 。ただし、collectdを再起動する以外は、この制限の回避策はありません。
同様のgithubの問題も参照してください: ネットワークプラグインが動的IPアドレスで自動的に再接続しない
ネットワークプラグインはUDPを使用しているため、実際の「接続」は行われません。これを修正すると、ネットワーク経由で送信された値のバッチごとにDNSルックアップを実行することになり、パフォーマンスが低下します。
これは、このセットアップを共有する他の「クライアントサーバー」システムでも見られる問題だと思いますか?サーバーのIPアドレスの変更をcollectdに通知できませんか?または、DHCPリースの有効期限が切れたときにcollectdのリロードをcronしますか?または、AMQPプラグインを使用して、損失のリスクを冒さずに値をサーバーに送信しますか?ネットワーク設定の問題のように見える他の解決策を想像できると確信しています。