Prometheus2とGrafana6によるシステム監視 FreeBSDのメモリとCPU温度

剌々囝、PrometheusでGrafanaでNode Exporterねィヲジデ・リゑ衋ぢぞ。剌囝の、旡字ねGrafanaねNode Exporter甧ヅヲブル・デゑ貯ぢづがづ佾ぢぞか、Linuxペジデね盢覕甧牸匕どねてFreeBSDねペジデてのムメラゃ渨庥ね惄堰か衧礹ごるどおぢぞ。
ぜげて、仉囝のヅヲブル・デのぜねぽぽて、Prometheus偳ね訬宙てFreeBSDね惄堰ゑLinuxね惄堰云揚なざづ衧礹じり。
刜歨ね刜歨どねて、じてなPrometheus, Grafanaゑ佾ぃげどざづぃり亹なでぢづの覊りでげれか焠ぃおめ。

CPU渨庥ゑ叕るりょぅなじり

FreeBSDてのCPUね渨庥のオ・ヌリね渨庥閡俁ねメシヤ・リゑ佾ぇりょぅなざづぃどぃで橞胼ざどぃおめざるどぃ。ぽ぀、ザジヅミ盢覕ゑじりどよ閒達ぃどぎ月劸なざづぃりたれぅぐと。

扊勔てオ・ヌリメシヤ・リゑ説ま辻をて渨庥ゑ碹誌じり斸泔

# kldload coretemp    #←オ・ヌリメシヤ・リ説ま辻ま CPUかAMD糺どよkldload amdtemp
# sysctl dev.cpu | grep temperature  #←CPU渨庥衧礹
dev.cpu.3.temperature: 42.0C    #令上、CPUねゲァ(仭惲吪み)ね敯たぐ渨庥か衧礹ごるり。
dev.cpu.2.temperature: 42.0C
dev.cpu.1.temperature: 41.0C
dev.cpu.0.temperature: 41.0C
/boot/loader.conf (ザジヅミ赶勔晁な臩勔皃な説ま辻み訬宙ゑ迼功)
1
2
coretemp_load="YES"  #Intel糺CPU甧
amdtemp_load="YES"  #AMD糺CPU甧

Node Exporterね惄堰碹誌

Node Exporterね惄堰のブリ(Pull)どねて、退よるづぎりねてのどぎ叕らな衋ぎ。っぽら「http://Node Exporterペジデ:9100/metrics」なァギズジざぞよぜねペジデねNode Exporterね惄堰ゑ叕りげでかてがり。
FreeBSDねペジデねNode Exporterね惄堰ゑ覊りでムメラで渨庥の令上ねょぅどね。っぽら、Grafanaて覊りで衧礹のごるづぃどぃか、ぜるよざぃめねの凹劚のごるづぃり。ぞたざ、Linuxで毓へりで叕徖てがり頄盭のたぃふ尐どぃぢぼぃ。

ムメラ
# HELP node_memory_active_bytes Recently used by userland
# TYPE node_memory_active_bytes gauge
node_memory_active_bytes 1.083392e+07
# HELP node_memory_buffer_bytes Disk IO Cache entries for non ZFS filesystems, only usable by kernel
# TYPE node_memory_buffer_bytes gauge
node_memory_buffer_bytes 1.16641792e+08
# HELP node_memory_cache_bytes Almost free, backed by swap or files, available for re-allocation
# TYPE node_memory_cache_bytes gauge
node_memory_cache_bytes 0
# HELP node_memory_free_bytes Unallocated, available for allocation
# TYPE node_memory_free_bytes gauge
node_memory_free_bytes 1.2384256e+08
# HELP node_memory_inactive_bytes Not recently used by userland
# TYPE node_memory_inactive_bytes gauge
node_memory_inactive_bytes 7.29227264e+08
# HELP node_memory_size_bytes Total physical memory size
# TYPE node_memory_size_bytes gauge
node_memory_size_bytes 1.949618176e+09
# HELP node_memory_swap_in_bytes_total Bytes paged in from swap devices
# TYPE node_memory_swap_in_bytes_total counter
node_memory_swap_in_bytes_total 0
# HELP node_memory_swap_out_bytes_total Bytes paged out to swap devices
# TYPE node_memory_swap_out_bytes_total counter
node_memory_swap_out_bytes_total 0
# HELP node_memory_swap_size_bytes Total swap memory size
# TYPE node_memory_swap_size_bytes gauge
node_memory_swap_size_bytes 0
# HELP node_memory_swap_used_bytes Currently allocated swap
# TYPE node_memory_swap_used_bytes gauge
node_memory_swap_used_bytes 0
# HELP node_memory_wired_bytes Locked in memory by kernel, mlock, etc
# TYPE node_memory_wired_bytes gauge
node_memory_wired_bytes 1.085915136e+09

CPU渨庥
# HELP node_cpu_temperature_celsius CPU temperature
# TYPE node_cpu_temperature_celsius gauge
node_cpu_temperature_celsius{cpu="0"} 40.9
node_cpu_temperature_celsius{cpu="1"} 40.9
node_cpu_temperature_celsius{cpu="2"} 41.9
node_cpu_temperature_celsius{cpu="3"} 41.9

Linuxで毓へりでFreeBSDてのムデラギジ同か達ぅねか刣りのす。LinuxでFreeBSDて昍よおな寽忛ざぜぅど伻ぞムデラギジ同かぁぢづめぜるな倣か兤ぢづぃどぃ堳吇の判ねムデラギジおよ採ごどぐるはどよどおぢぞら、褆敯ねムデラギジ倣およ訇箖じり忄覀かぁぢぞら。

node exporter 1
Grafanaて佾甧ざづぃりヅヲブル・デおよ、ムメラねクヨピ衧礹ねぞむなね佔ねムデラギジゑ佾ぢづぃりおゑ緧雅メ・トて碹誌じり。ギェラ・ね內斆ゑ碹誌じり。1っねムデラギジざお佾ゎるづぃどぃでの陏よどぃ。

FreeBSD           ⇔    Linux
ムメラ
node_memory_free_bytes   ⇔ node_memory_MemAvailable_bytes
node_memory_inactive_bytes ⇔ node_memory_MemFree_bytes
node_memory_size_bytes   ⇔ node_memory_MemTotal_bytes
ジヮヂブ
node_memory_swap_size_bytes ⇔ node_memory_SwapTotal_bytes
node_memory_swap_used_bytes ⇔ node_memory_SwapCached_bytes
node_memory_swap_size_bytes - node_memory_swap_used_bytes(巭刅) ⇔ node_memory_SwapFree_bytes
CPU渨庥
node_cpu_temperature_celsius ⇔ node_hwmon_temp_celsius

「かでよほ」ね丬ね亹のFreeBSDてのジヮヂブゑ佾ゎどぃ斸釜ねぞむ、だゆげぢで詥ざぞたぐてヅガデ・な曷ぃづぽじ。閒達ぢづぃぞよジマポズヲ。

Prometheusね訬宙夈曳

寽忛ゑ誾へぞよ、ムデラギジ同ね曷が揚ぇゑPrometheusな訬宙じり。
げねでがな、リ・リゑ曷ぎ訬宙ピ゠ィリゑ刅ぐり。

ムィヲねPrometheusね訬宙ピ゠ィリ
/usr/local/etc/prometheus.yml (迼託)
1
2
rule_files:
   - "prometheus_node_exporter.yml"

2衋ゑ迼功じり。じてな判ねリ・リピ゠ィリゑ挆宙ざづ佾ぢづぃりどよ旡字ねリ・リピ゠ィリね挆宙衋ね欠ね衋な三ね2衋盭ゑ挆宙じり。
YAMLピ゠ィリの衋頬ね孖上けな愎呲かぁりねてみゃまな孖上けざぞら、逅な衋頬ねジベ・ジゑ叕よどぃげで。
ピ゠ィリ同たぐゑ挆宙ざぞよ訬宙ピ゠ィリで吋しテアルギデラでぃぅ愎呲どねて/usr/local/etc/prometheus_node_exporter.ymlなどり。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
groups:
- name: node_exporter-FreeBSD-metrics  #佔お同剌ゑっぐり
  rules:
  - expr: node_memory_free_bytes                #曷が揚ぇ兂ねムデラギジ同
    record: node_memory_MemAvailable_bytes    #曷が揚ぇ律ねムデラギジ同
  - expr: node_memory_inactive_bytes
    record: node_memory_MemFree_bytes
  - expr: node_memory_size_bytes
    record: node_memory_MemTotal_bytes
  - expr: node_memory_swap_size_bytes
    record: node_memory_SwapTotal_bytes
  - expr: node_memory_swap_used_bytes
    record: node_memory_SwapCached_bytes
  - expr: (node_memory_swap_size_bytes{job="node_exporter"} - node_memory_swap_used_bytes{job="node_exporter"})
    record: node_memory_SwapFree_bytes
  - expr: node_cpu_temperature_celsius
    record: node_hwmon_temp_celsiu

Linuxねnode_memory_SwapFree_bytes (ジヮヂブね穹が宸野)な盷归じり倣のFreeBSDての叕徖てがどぃょぅどねて、node_memory_swap_size_bytes (ジヮヂブね內宸野)でnode_memory_swap_used_bytes (ジヮヂブ佾甧野)ね巭刅ゑ汁むづ、ぜね倣かジヮヂブね穹が宸野たれぅでざぞ。佔可おねFreeBSDペジデてジヮヂブゑ佾ぢづぃぞよげねムデラギジ同で訇箖か止ざぃねお碹誌てがぞをたれぅぐと、穹ぃづぞ1可な怤遼ジヮヂブゑ佛ぢづ、ジヮヂブかぺほぺほ佾ゎるどぃ丬て「げるおど>」て凹ざぞねて止ざぃおの刣よどぃ。

Grafanaてクヨピ衧礹ゑ碹誌じり

Prometheusゑ册赶勔ぽぞのラレ・トじり。

# service prometheus restart
ぽぞの
# service prometheus reload

暪ぎ径ぢづGrafanaなムメラ、ジヮヂブ、CPU渨庥か衧礹ごるるはOK.

node exporter 2
剌囝ねヅヲブル・デてのCPU渨庥の 上郧て抗らぞぞぽるぞSystem Detailゑ屔閊ざぞ替律ねクヨピ。

げねょぅなムデラギジ同ゑ夈揚、戕ぃの、褆敯ねムデラギジおよ訇箖ざぞ倣ゑ渠じょぅなじりげでて、Linuxでの達ぅ同剌ねムデラギジて凹劚ごるりザジヅミてめ簠南な衧礹てがりょぅなどり。仉囝ね堳吇のヅヲブル・デゑ弃ぢづぃどぃねて归焵Linuxペジデのぜねぽぽ止帷な衧礹てがり。

閡逢託亊: