Open16
Prometheusの使い方

CPU使用時間
- node_cpu_seconds_total
各mode(idleを除く)の直近1分間のCPU使用時間の平均
- rate(node_cpu_seconds_total{mode!="idle"}[1m])
- rate(node_cpu_seconds_total{instance="node_exporter:9100", mode!="idle"}[1m])

mode | desc |
---|---|
user | ユーザープロセスがCPUを使用する時間 |
system | カーネルプロセスがCPUを使用する時間 |
nice | ユーザープロセススペースで優先度が変更されたプロセスによって使用されるCPU時間 |
idle | アイドル(誰も使用しない)CPU時間 |
iowait | ioを待機しているCPU時間 |
irq | ハード割り込みのCPU時間(hardware interrupts) |
softirq | ソフト割り込みのCPU時間(software interrupts) |
steal | ハイパーバイザーによって使用されるCPU時間 |

Q ユーザープロセス カーネルプロセス違い
A. ユーザープロセスは、ユーザーアカウントで実行されるアプリケーションやプログラムのことです。カーネルプロセスは、OSカーネルが実行するプロセスで、システムリソースの管理やデバイスドライバの管理などを行います。ユーザープロセスはカーネルプロセスによって管理されますが、ユーザープロセスはカーネルプロセスよりも低い権限を持ちます。

NIC毎のトラフィック量
rate(node_network_receive_bytes_total{instance="localhost:9100", device!="lo", device!="eth0"}[1m])

CPU使用率
(
(1 - rate(node_cpu_seconds_total{job="node", mode="idle", instance="node_exporter:9100"}[$__interval]))
/ ignoring(cpu) group_left
count without (cpu)( node_cpu_seconds_total{job="node", mode="idle", instance="node_exporter:9100"})
)
100 -
(
avg(node_memory_MemAvailable_bytes{job="node", instance="node_exporter:9100"})
/
avg(node_memory_MemTotal_bytes{job="node", instance="node_exporter:9100"})
* 100
)
(
node_memory_MemTotal_bytes{job="node", instance="node_exporter:9100"}
-
node_memory_MemFree_bytes{job="node", instance="node_exporter:9100"}
-
node_memory_Buffers_bytes{job="node", instance="node_exporter:9100"}
-
node_memory_Cached_bytes{job="node", instance="node_exporter:9100"}
)
rate(node_disk_read_bytes_total{job="node", instance="node_exporter:9100", device!=""}[$__interval])
rate(node_disk_written_bytes_total{job="node", instance="node_exporter:9100", device!=""}[$__interval])
rate(node_disk_io_time_seconds_total{job="node", instance="node_exporter:9100", device!=""}[$__interval])

container-exporter
docker run -p 8080:8080 -v /cgroup:/cgroup \
-v /var/run/docker.sock:/var/run/docker.sock prom/container-exporter

- hostのNICを監視
- 仮想マシンのCPU使用率
- 仮想マシンのメモリ使用率
- Disk I/O

ネットワーク受信量(バイト)

cAdviser