collectdは、パフォーマンスと移植性のためにC言語で記述されています。
そのため、スクリプト言語や組み込みシステムなどの「cronデーモン」を使用せずにシステムで実行できます。
「標準的ケース」から「非常に専門的で高度なケース」まで、100を超えるプラグインが用意されています。
→collectd.org →wiki →Table_of_Plugins
collectdのすべてはプラグインベースで実行されます。
そのため、メインデーモンには外部依存関係がありません。
collectdは「データプッシュモデル」を採用しています。
データ収集後「マルチキャスト」または「サーバプッシュ」されます。
そのためメトリックを照会するための中央インスタンスは存在しません。
collectdは、高度なネットワーク技術を使用し、データ送受信を個別に構成できるため、さまざまなケースに対応できます。
・ネットワークなし
・マルチキャスト
・ユニキャスト
・プロキシ操作
ネットワークプロトコルは軽量に設計されており、なおかつ拡張可能であるため、将来的に下位互換性を損なうことなく新しい機能を利用できるようになります。
SNMP(Simple Network Management Protocol)とは、IPネットワーク上のネットワーク機器を監視(制御)するための通信プロトコルです。
collectdはSNMPをサポートしているため、多くのネットワーク機器のメトリックを収集できます。
・スイッチ機器
・ルータ機器
・監視システム
・温度計
・サーバーラック
・UPS など
collectdは、リソースを可能な限り効率的に利用することで、「1から数千までのホスト」を処理できます。
マルチスレッドレイアウトにより、IOレイテンシによる問題が発生することなく、複数のプラグインを同時にクエリできます。
collectdの機能をニーズに合わせて拡張できるさまざまな方法が用意されています。
・Cプラグイン
・Perlプラグイン
・Javaプラグイン
・Pythonプラグイン
・UNIXドメインソケット
・バイナリ(スクリプト)の実行
・Java MBeanのサポート など
OSS×Cloud ACCESS RANKING