優れたソフトウェアと実用的なチュートリアル
collectd システム統計収集デーモン
収集 はデーモンは、定期的にシステムとアプリケーションのパフォーマンスメトリックを収集し、さまざまな方法で値を保存するメカニズムを提供します。 規制当局書類真ん中。
collectdは、オペレーティングシステム、アプリケーション、ログファイル、外部デバイスなど、様々なソースからメトリクスを収集し、その情報を保存したり、ネットワーク上で公開したりします。これらの統計情報は、システムの監視、パフォーマンスのボトルネックの発見(パフォーマンス分析)、将来のシステム負荷の予測(キャパシティプランニング)に活用できます。また、プライベートサーバー用の見やすいグラフが欲しいだけで、自作のソリューションに飽き飽きしている方にも、collectdは最適なツールです。
collectdとは
collectd は、システムおよびアプリケーションのパフォーマンス メトリックを定期的に収集し、これらのメトリック値をさまざまな方法で保存するためのメカニズムを提供するデーモン プロセスです。
collectdは、オペレーティングシステム、アプリケーション、ログファイル、外部デバイスなど、様々なソースからメトリクスを収集し、その情報を保存したり、ネットワーク経由で利用できるようにします。これらの統計情報は、システムの監視、パフォーマンスのボトルネックの特定(パフォーマンス分析)、将来のシステム負荷の予測(キャパシティプランニング)などに活用できます。
- 完全にC言語で記述されているため、高いパフォーマンスと優れた移植性を備えており、組み込みシステムなど、スクリプト言語のサポートやcronデーモンを備えていないシステムでも実行できます。同時に、数百のデータセットを最適化および処理するための新機能も搭載されています。
- collectdには100以上のプラグインが含まれています。同時に、collectdは強力なネットワーク機能を提供し、様々な方法で拡張可能です。
collectd公式サイト:https://collectd.org/
collectd wikiアドレス:https://collectd.org/wiki/index.php/Main_Page
collectdのインストール方法
wget https://storage.googleapis.com/collectd-tarballs/collectd-5.12.0.tar.bz2 tar xf collectd-5.12.0.tar.bz2 cd collectd-5.12.0 ./configure make all をインストールします
最後に、次のようなオプションを追加することもできます。
--prefix=/usr --sysconfdir=/etc -localstatedir=/var --libdir=/usr/lib --mandir=/usr/share/man --enable-all-plugins すべてインストールします
または、次のコマンドを直接実行してインストールします。
dnf インストール collectd
- 設定ファイルディレクトリ: /etc/collectd/collectd.conf
- 起動ファイルディレクトリ: /etc/init.d/collectd
- ログファイルディレクトリ: /var/log/syslog
- データ保存ディレクトリ: /var/lib/collectd/rrd/
collectdの設定方法
vim /opt/collectd/etc/collectd.conf
監視する必要があるシステム項目(通常は CPU、メモリ、プロセス、負荷、インターフェース、ディスク、スワップなど)に対応するプラグインを有効にします。
通常は、ネットワーク プラグインを変更するだけで済みます。
ネットワーク プラグインは、collectd のリモート インスタンス (データベース、csv ファイル、キャッシュなど) にデータを送信したり、リモート サーバーからデータを受信したりできます。
LoadPluginネットワーク# プラグインをロードするには#を削除します# # クライアント設定: サーバー "10.24.106.1" "25826" # アドレスとポートは、データを受信するサーバーのアドレスとポートです。例: データベース (influxdb など) がインストールされているサーバーのアドレスとポート # # 暗号化されたデータを送信する必要がある場合は、この小さな部分を構成します # SecurityLevel Encrypt # ユーザー名 "user" # パスワード "secret" # インターフェース "eth0" # ResolveInterval 14400 # # TimeToLive 128 # # # サーバー設定: # Listen "ff18::efc0:4a42" "25826" # この部分が構成されている場合、他のcollectdインスタンスから送信されたデータを受信することを意味します ## セキュリティレベル 署名 # 認証ファイル "/etc/collectd/passwd" # インターフェース "eth0" # # MaxPacketSize 1452 # # # プロキシ設定(クライアントとサーバーは上記と同じ): # Forward true # # # ネットワークプラグイン自体に関する統計 # ReportStats false # # # 「ガベージコレクション」 # CacheFlush 1800
collectd の起動方法
コマンド実行 sudo /etc/init.d/collectd を起動します
または systemctl 開始 collectd
そしてブートをセットする systemctl enable collectd
collectdデータを表示する方法
rrdtoolプラグインが有効になっている場合は、 /var/lib/collectd/rrd/ ディレクトリ下の対応する統計を参照してください。
次のコマンドを使用して特定のデータを表示できます。
rrdtool は *.rrd 平均を取得します
*.rrdは.rrdで終わるファイルを指します。rrdtoolコマンドの詳しい使い方については、Baiduで検索してください。
最初の列はタイムスタンプです。date -d @timestamp コマンドを使用すると、タイムスタンプ(秒単位)を date コマンドで表示される時刻形式に変換できます。date +%s コマンドは、時刻をタイムスタンプ形式で表します。
collectd関連プラグインの紹介
プラグイン: CPU
- jiffies: 単位です。jiffies はカーネルのグローバル変数で、システム起動後に生成されたティック数を記録します。Linux では、ティックはオペレーティングシステムのプロセススケジューリングにおける最小の時間単位と大まかに捉えることができます。Linux カーネルによって値は異なりますが、通常は 1 ミリ秒から 10 ミリ秒の範囲です。
- user: システムの起動から現在までのユーザー モードでの実行時間 (負の nice 値を持つプロセスを除く)。
- nice: システムの起動から現在までの、負の nice 値を持つプロセスによって占有された CPU 時間。
- アイドル: システム起動時から現在までの I/O 待機時間以外の累積待機時間。
- wait-io: システムの起動から現在までの I/O 操作の待機時間の累積値。
- システム: システムの起動から現在までのカーネル状態の実行時間の累積値。
- softIRQ: システムの起動から現在までのソフト割り込み時間の累積値。
- IRQ: システムの起動から現在までのハード割り込み時間の累計。
- スティール: 仮想環境で他のオペレーティング システムを実行するのに費やされた時間。
プラグイン: インターフェース
インターフェース プラグインは、トラフィック (1 秒あたりのオクテット数)、1 秒あたりのパケット数、およびインターフェース エラー (1 秒あたり) に関する情報を収集します。
- rxpck/s: 1秒あたりに受信されたパケット数
- txpck/s: 1秒あたりに送信されたデータパケット数
- rxbyt/s: 1秒あたりに受信したバイト数
- txbyt/s: 1秒あたりに送信されたバイト数
プラグイン: プロセス
プラグイン: メモリ
システムの物理メモリの使用率を収集します
プラグイン: swap
スワップスペースの使用量を収集する
Linuxでは、システム関連のデータはコマンドで取得できる。 /proc/ へ移動
このディレクトリを参照してください。