mackerel-plugin-multicore はマルチコアの CPU を監視するためのプラグインです。システムメトリック の一つである cpu の値はすべてのコアの合計値ですが、このプラグインではコアごとの使用状況をメトリックとして投稿できます。
監視できるメトリック
MultiCore CPU
メトリック表示名 | メトリック名 | 差分 | 積み上げ表示 | 説明 |
---|---|---|---|---|
user | custom.multicore.cpu.#.user | - | ◯ | ユーザーモードで使用した時間 |
nice | custom.multicore.cpu.#.nice | - | ◯ | 優先順位の低いユーザーモードで使用した時間(nice) |
system | custom.multicore.cpu.#.system | - | ◯ | システムモードで使用した時間 |
idle | custom.multicore.cpu.#.idle | - | ◯ | アイドル状態の時間 |
iowait | custom.multicore.cpu.#.iowait | - | ◯ | I/O が完了するまでの待ち時間 |
irq | custom.multicore.cpu.#.irq | - | ◯ | 割り込みの処理に使用した時間 |
softirq | custom.multicore.cpu.#.softirq | - | ◯ | ソフト割り込みの処理に使用した時間 |
steal | custom.multicore.cpu.#.steal | - | ◯ | 仮想化環境において、ゲスト OS がホスト OS やハイパーバイザから CPU を割り当ててもらえなかった時間 |
guest | custom.multicore.cpu.#.guest | - | ◯ | ゲスト OS が使用した時間 |
guestNice | custom.multicore.cpu.#.guestNice | - | ◯ | nice が適用されたゲスト OS が使用した時間 |
/proc/stat の cpu0 などの各値を取得。# は cpu0 などに置き換えられます。
MultiCore loadavg5 per core
メトリック表示名 | メトリック名 | 差分 | 積み上げ表示 | 説明 |
---|---|---|---|---|
loadavg5 | custom.multicore.loadavg_per_core.loadavg5 | - | - | loadavg5 の値を CPU コア数で割った値 |
/proc/loadavg の loadavg5 の値を取得。
指定可能なオプション
オプション | 省略形 | 説明 | デフォルト値 |
---|---|---|---|
--tempfile | tempfile の保存先ファイルパスの指定 | ||
--help | -h | ヘルプを表示 |
- tempfile には最新の実行結果が記録されます
- デフォルトでは
/var/tmp/mackerel-agent
配下にmackerel-plugin-multicore
という名前で保存されます
エージェントへの設定例
[plugin.metrics.multicore] command = ["mackerel-plugin-multicore"]
リポジトリ
https://github.com/mackerelio/mackerel-agent-plugins/tree/master/mackerel-plugin-multicore