ichthyandr Posted February 13, 2014 Posted February 13, 2014 Всем привет, люди подскажите или ткните носом где почитать: нужно снять загрузку CPU в % по ядрам и слить это через bsnmpd в коллектор ( или на коллекторе какой пересчет сделать ) кто как делает? Спасибо Вставить ник Quote
ichthyandr Posted February 13, 2014 Author Posted February 13, 2014 найдено vmstat -h -P еще какие варианты есть? Вставить ник Quote
roma33rus Posted February 13, 2014 Posted February 13, 2014 А top не пойдет разве? Вставить ник Quote
ichthyandr Posted February 13, 2014 Author Posted February 13, 2014 А top не пойдет разве? нет, если его запускать с ключом -d1 или еще в каком режиме для парсинга, то счетчики %% по процам пустые Вставить ник Quote
roysbike Posted February 13, 2014 Posted February 13, 2014 (edited) По каждому ядру я получаю вот таким скриптом. 1) Ставим pcpustat cd /usr/ports/sysutils/pcpustat && make install 2)./check_cpu cat check_cpu #!/bin/sh cpu=`sysctl -n kern.smp.cpus` #cpu=1 #1 CPU if [ "$cpu" -eq "1" ] then cpu0=`pcpustat -w 1 -c 1 -p 0 -i -x | grep -A 1 id | grep -v id | sed 's/ //' ` echo 1 CPU SMP OK: "|" cpu0=$cpu0 fi #2 CPU if [ "$cpu" -eq "2" ] then cpu0=`pcpustat -w 1 -c 1 -p 0 -i -x | grep -A 1 id | grep -v id | sed 's/ //' ` cpu1=`pcpustat -w 1 -c 1 -p 1 -i -x | grep -A 1 id | grep -v id | sed 's/ //' ` echo 2 CPU SMP OK: "|" cpu0=$cpu0 cpu1=$cpu1 fi #3 CPU if [ "$cpu" -eq "3" ] then cpu0=`pcpustat -w 1 -c 1 -p 0 -i -x | grep -A 1 id | grep -v id | sed 's/ //' ` cpu1=`pcpustat -w 1 -c 1 -p 1 -i -x | grep -A 1 id | grep -v id | sed 's/ //' ` cpu2=`pcpustat -w 1 -c 1 -p 2 -i -x | grep -A 1 id | grep -v id | sed 's/ //' ` echo 3 CPU SMP OK: "|" cpu0=$cpu0 cpu1=$cpu1 cpu2=$cpu2 fi #4 CPU if [ "$cpu" -eq "4" ] then cpu0=`pcpustat -w 1 -c 1 -p 0 -i -x | grep -A 1 id | grep -v id | sed 's/ //' ` cpu1=`pcpustat -w 1 -c 1 -p 1 -i -x | grep -A 1 id | grep -v id | sed 's/ //' ` cpu2=`pcpustat -w 1 -c 1 -p 2 -i -x | grep -A 1 id | grep -v id | sed 's/ //' ` cpu3=`pcpustat -w 1 -c 1 -p 3 -i -x | grep -A 1 id | grep -v id | sed 's/ //' ` echo 4 CPU SMP OK: "|" cpu0=$cpu0 cpu1=$cpu1 cpu2=$cpu2 cpu3=$cpu3 fi #8 CPU if [ "$cpu" -eq "8" ] then cpu0=`pcpustat -w 1 -c 1 -p 0 -i -x | grep -A 1 id | grep -v id | sed 's/ //' ` cpu1=`pcpustat -w 1 -c 1 -p 1 -i -x | grep -A 1 id | grep -v id | sed 's/ //' ` cpu2=`pcpustat -w 1 -c 1 -p 2 -i -x | grep -A 1 id | grep -v id | sed 's/ //' ` cpu3=`pcpustat -w 1 -c 1 -p 3 -i -x | grep -A 1 id | grep -v id | sed 's/ //' ` cpu4=`pcpustat -w 1 -c 1 -p 4 -i -x | grep -A 1 id | grep -v id | sed 's/ //' ` cpu5=`pcpustat -w 1 -c 1 -p 5 -i -x | grep -A 1 id | grep -v id | sed 's/ //' ` cpu6=`pcpustat -w 1 -c 1 -p 6 -i -x | grep -A 1 id | grep -v id | sed 's/ //' ` cpu7=`pcpustat -w 1 -c 1 -p 7 -i -x | grep -A 1 id | grep -v id | sed 's/ //' ` echo 8 CPU SMP OK: "|" cpu0=$cpu0 cpu1=$cpu1 cpu2=$cpu2 cpu3=$cpu3 cpu4=$cpu4 cpu5=$cpu5 cpu6=$cpu6 cpu7=$cpu7 fi exit 0 Получаем 4 CPU SMP OK: | cpu0=14 cpu1=12 cpu2= 4 cpu3=13 Делал для Nagios Edited February 13, 2014 by roysbike Вставить ник Quote
ichthyandr Posted February 13, 2014 Author Posted February 13, 2014 pcpustat посмотрю, спасибо Вставить ник Quote
agr Posted February 13, 2014 Posted February 13, 2014 Загрузку CPU можно мониторить через HOST-RESOURCES-MIB. Эта миба RFC'шная, так что скорее всего есть поддержка в bsnmpd. Вставить ник Quote
Hawk128 Posted February 13, 2014 Posted February 13, 2014 Есть она там. Ею и пользуюсь. Достаточно всего одну стоку раскоментировать в конфиге bsnmpd... Вставить ник Quote
ichthyandr Posted February 14, 2014 Author Posted February 14, 2014 Есть она там. Ею и пользуюсь. Достаточно всего одну стоку раскоментировать в конфиге bsnmpd... HOST-RESOURCES-MIB? посмотрю, спасибо Вставить ник Quote
agr Posted February 14, 2014 Posted February 14, 2014 Есть еще кстати UCD-MIB, в которой много чего полезного есть для мониторинга серверов. Она хоть и формально ынтерпрайзная, но в опенсорсных snmpd есть. Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.