ホスト詳細画面やサービス詳細画面で表示されるメトリックの種類について解説します。
システムメトリック
システムメトリックとは、mackerel-agent をインストールすると自動的にホストに投稿されるメトリック群です。
Linux
loadavg, cpu, memory, disk, interface, filesystem の6種類のグラフが表示され、それぞれ以下のメトリック名の値が描画されます。
- loadavg(折れ線)
loadavg1
loadavg5
loadavg15
- cpu(積み上げ)
cpu.user.percentage
cpu.iowait.percentage
cpu.system.percentage
cpu.idle.percentage
cpu.nice.percentage
cpu.irq.percentage
cpu.softirq.percentage
cpu.steal.percentage
cpu.guest.percentage
- memory(積み上げ。ただし
total
,swap_total
,swap_used
,swap_cached
は折れ線)- Kernel 3.14以降のLinux
memory.used
(total - available で算出した値)memory.available
memory.total
memory.swap_used
memory.swap_cached
memory.swap_total
- それ以外のLinux
memory.free
memory.buffers
memory.cached
memory.used
(total - free - buffers - cached で算出した値)memory.total
memory.swap_used
memory.swap_cached
memory.swap_total
- Kernel 3.14以降のLinux
- disk(折れ線)
disk.*.reads.delta
disk.*.writes.delta
- interface(折れ線)
interface.*.rxBytes.delta
(受信バイト数)interface.*.txBytes.delta
(送信バイト数)
- filesystem(折れ線)
filesystem.*.size
filesystem.*.used
また、mackerel-agent を用いた場合の上記それぞれのメトリックの取得元は以下の通りです。mackerel-agent のソースコードは こちら で公開していますので併せてご確認ください。
- loadavg
/proc/loadavg
の内容をパースすることで取得
- cpu
/proc/stat
の内容をパースすることで取得
- memory
/proc/meminfo
の内容をパースすることで取得
- disk
/proc/diskstats
の内容をパースすることで取得
- interface
/proc/net/dev
の内容をパースすることで取得
- filesystem
df
コマンドの実行結果をパースすることで取得
Windows
processor queue length, cpu, memory, disk, interface, filesystem の6種類のグラフが表示され、それぞれ以下のメトリック名の値が描画されます。
- processor queue length(折れ線)
processor_queue_length
- cpu(積み上げ)
cpu.user.percentage
cpu.system.percentage
cpu.idle.percentage
- memory(積み上げ。ただし
total
,pagefile_free
,pagefile_total
は折れ線)memory.free
memory.used
memory.total
memory.pagefile_free
memory.pagefile_total
- disk(折れ線)
disk.*.reads.delta
disk.*.writes.delta
- interface(折れ線)
interface.*.rxBytes.delta
(受信バイト数)interface.*.txBytes.delta
(送信バイト数)
- filesystem(折れ線)
filesystem.*.size
filesystem.*.used
また、mackerel-agent を用いた場合の上記それぞれのメトリックの取得元は以下の通りです。mackerel-agent のソースコードは こちら で公開していますので併せてご確認ください。
- processor queue length
- Windows Performance Data Helper API によって情報を取得
- cpu
- Windows Performance Data Helper API によって情報を取得
- memory
- Win32 API である
GlobalMemoryStatusEx
を呼び出した結果から取得
- Win32 API である
- disk
- WMI を使用して
Win32_PerfFormattedData_PerfDisk_LogicalDisk
クラスから情報を取得
- WMI を使用して
- interface
- Windows Performance Data Helper API によって情報を取得
- filesystem
- Win32 API である以下の関数を呼び出した結果から取得し計算。
GetLogicalDriveStringsW
QueryDosDeviceW
GetVolumeInformationW
GetDiskFreeSpaceExW
- Win32 API である以下の関数を呼び出した結果から取得し計算。
カスタムメトリック
カスタムメトリックとは、プラグインや Mackerel API などを利用してユーザが任意でホストに投稿できる、システムメトリック以外のメトリックです。
- 例:
custom.foo
,custom.foo.bar
- メトリック名の最後の
.
(ドット)までが共通するメトリックを、ひとつのグラフに投稿します。 - メトリック名にはプレフィックスが必要です。mackerel-agent から投稿されるカスタムメトリックには
custom.
が自動的に付与されます。(バージョン 0.6.1 以降) - カスタムメトリック名の詳しい仕様については こちら を参照してください。
- メトリック名の最後の
カスタムメトリックを投稿する方法については下記を参照してください。
- 公式プラグインを利用してカスタムメトリックを投稿する
- mackerel-agent からユーザー定義のカスタムメトリックを投稿する
- Mackerel API を利用してユーザー定義のカスタムメトリックを投稿する
サービスメトリック
サービスメトリックとは、特定のホストではなくサービスに紐付くメトリックです。URL 外形監視 をサービスに紐付けた際に可視化されるレスポンスタイムもサービスメトリックとして投稿されます。サービスメトリックのグラフは 各サービス の詳細画面で閲覧できます。
サービスメトリックを投稿する方法については Mackerel API ドキュメント の サービスメトリックの投稿 を参照してください。