aarch64 Linux OSでsystem.hw.cpuがZBX_NOTSUPPORTEDになる件について
aarch64 Linux OSでsystem.hw.cpuがZBX_NOTSUPPORTEDになる件について
概要
MIRACLE ZBX 5.0および6.0のaarch64 エージェント/エージェント2ではsystem.hw.cpu
がZBX_NOTSUPPORTED
となり値を取得できない場合があります。
対象となる製品
- MIRACLE ZBX 5.0
- MIRACLE ZBX 6.0
詳細
MIRACLE ZBXにおけるsystem.hw.cpu
の実装
MIRACLE ZBXエージェントならびにエージェント2は/proc/cpuinfo
を読み込みsystem.hw.cpu
の値を取得しています。以下はx86_64 Linux OSにおける/proc/cpuinfo
の例です。
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 85
model name : Intel(R) Xeon(R) Silver 4112 CPU @ 2.60GHz
stepping : 4
microcode : 0x2006b06
cpu MHz : 2593.906
cache size : 8448 KB
physical id : 0
siblings : 1
core id : 0
cpu cores : 1
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 22
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc cpuid tsc_known_freq pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch cpuid_fault invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnmi ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 invpcid rdseed adx smap xsaveopt arat md_clear flush_l1d arch_capabilities
vmx flags : vnmi invvpid ept_x_only tsc_offset vtpr mtf ept vpid unrestricted_guest
bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit mmio_stale_data retbleed
bogomips : 5187.81
clflush size : 64
cache_alignment : 64
address sizes : 42 bits physical, 48 bits virtual
power management:
エージェントはこの中で次の値を取得しています。
processor
vendor_id
model name
cpu MHz
エージェントがprocessor
番号によるCPUコアごとのクロック周波数を/sys/devices/system/cpu/cpuN/cpufreq/cpuinfo_max_freq
(N
はprocessor
の番号)から取得できず、またvendor_id
・model name
・cpu MHz
いずれかの値も取得できなかった場合、エージェントはZBX_NOTSUPPORTED
エラーを返す実装になっています。
aarch64 Linux OSにおけるCPU情報の欠落
ここでaarch64 Linux OSの/proc/cpuinfo
に、エージェントが読み込む値が含まれていないケースを考えます。これはCentOS Stream 8 aarch64から取得しました。
processor : 0
BogoMIPS : 200.00
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics cpuid
CPU implementer : 0x43
CPU architecture: 8
CPU variant : 0x1
CPU part : 0x0a1
CPU revision : 1
また/sys/devices/system/cpu/cpu0
ディレクトリにクロック周波数の情報が配置されていないとします。これもCentOS Stream 8 aarch64の情報です。
# ls /sys/devices/system/cpu/cpu0/
cache crash_notes driver hotplug online regs topology
cpu_capacity crash_notes_size firmware_node node0 power subsystem uevent
このときaarch64のMIRACLE ZBXエージェント/エージェント2は前述した実装にもとづきsystem.hw.cpu
をZBX_NOTSUPPORTED
とします。
したがってaarch64 Linux OS上で稼働させているエージェントのsystem.hw.cpu
がZBX_NOTSUPPORTED
となったさいは上記のシステム情報を確認いただき、クロック周波数のファイル/sys/devices/system/cpu/cpuN
が存在せず/proc/cpuinfo
にvendor_id
・model name
・cpu MHz
いずれかも含まれていない場合はこのキーの値は取得できないことをご承知おきください。
注意事項
- 本ドキュメントの内容は、予告なしに変更される場合があります。
- 本ドキュメントは限られた評価環境における検証結果をもとに作成しており、 全ての環境での動作を保証するものではありません。
- 本ドキュメントの内容に基づき、導入、設定、運用を行なったことにより損害が生じた場合でも、弊社はその損害についての責任を負いません。あくまでお客様のご判断にてご使用ください。
更新履歴
- 2023年3月2日 新規作成