
私は以下を使用して、さまざまなサーバー上の一般的なユーザー定義のさまざまな統計を記録します。collectd
ネットワークリスナーを実行する単一のホストとして。設定はとても簡単です。すべてのシステムは Collectd インスタンスを実行します。収集サーバーの実行中rrd ツールプラグインデータの保存と実行ネットワークプラグインサーバーモードでポートを開いたままにして、他の人から情報を収集します。他のすべてのサーバーには書き込みプラグインはありません。ただ実行してください。ネットワーククライアントモードで収集したデータを渡します。この設定の利点は、記録されたすべてのデータがrrdtool
グラフィックスや他のモニターで扱いやすい一貫したファイル構造になっていることです。
これは、誰もが1つのハブに送信できるシンプルなレイアウトに適しています。もう少し複雑な設定を構成しようとしています。それでも同じ中央サーバーとクライアントを使用してこれらのクライアントのいずれかを実行しているデーモンは、デーモン自体をcollectd
実行できない自分以外の複数のホストから統計を収集できます。
A
/|\
B C D
|\
E F
EおよびFで収集された統計を報告するようにCで構成を設定できます。これは素晴らしい作品です。
私ができないのは、Cに複数の異なるホスト名でそのデータを報告させることです。送信するすべてのデータには独自のホストタグが付けられていますが、これは間違っています。特定のアイテムをどのように識別しますか?入れるまたはタイプブロックcollectd.conf
自体がデーモンを実行しているシステムとは異なるホストに属していると報告されていますか?
答え1
私の研究では、Pythonプラグインはタグ付きデータ(Write_tsdbプラグインなど)を送信できますが、CPU、メモリなどのシステムプラグインデータにタグを付ける簡単な方法はないことがわかりました。
答え2
collectd.conf
はい、という設定がありますHostname
。希望のホスト名に変更してください。
FQDNLookup
に設定することもできますfalse
。そうしないと、これらのシステムは FQDN ルックアップの失敗によりデータを送信できません。
Collectd.conf に以下を追加する必要があります。
Hostname "some.host.example.com"
FQDNLookup false
... all your other settings ...
Hostname
一部の設定はプラグインでは無視できます。グローバルデフォルトプラグインを変更すると、それを無視できます。