Open16

Prometheusの使い方

tomokitomoki

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

Q ユーザープロセス カーネルプロセス違い

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

tomokitomoki

NIC毎のトラフィック量

rate(node_network_receive_bytes_total{instance="localhost:9100",  device!="lo", device!="eth0"}[1m])
tomokitomoki

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])
tomokitomoki

container-exporter

docker run -p 8080:8080 -v /cgroup:/cgroup \
    -v /var/run/docker.sock:/var/run/docker.sock prom/container-exporter
tomokitomoki
  • hostのNICを監視
  • 仮想マシンのCPU使用率
  • 仮想マシンのメモリ使用率
  • Disk I/O