На сервере стоит Intel Xeon 2-х ядерный. Операционная система Ubuntu Linux. Задача поставленная руководством - снимать загрузку процессора общую и по ядерно. Перечитал кучу всего. system.cpu.load графики рисует какие-то заоблачные - скачки бываю и на 300 и на 400 и на 600 процентов. Попытки снять показания загрузки по snmp тоже закончились неудачей - график рисуеться - но не соответсвует действительности (проверял dd if=/dev/urandom of=/dev/null - на одном ядре получается загрузка 100% - а на графике какое-то слабое движение в районе 30-40 процентов). Может необходимы какие-то множители или еще что-то.
На сегодня сделал таким образом - в zabbix-agentd.conf добавил
UserParameter=get_cpu_u,/etc/zabbix/scripts/get_cpu u
UserParameter=get_cpu_s,/etc/zabbix/scripts/get_cpu s
UserParameter=get_cpu_w,/etc/zabbix/scripts/get_cpu w
UserParameter=get_cpu_t,/etc/zabbix/scripts/get_cpu t
сам скрипт выглядит так
#!/bin/bash
GREP="/bin/grep"
AWK="/usr/bin/awk"
text=`vmstat 2 2`
wait=`echo $text | $AWK -F" " '{ print $54}'`
system=`echo $text | $AWK -F" " '{ print $52}'`
user=`echo $text | $AWK -F" " '{ print $51}'`
let "total = wait + system + user"
echo $(date +%d':'%m':'%Y-%H':'%M':'%S) f=${first} w=$wait u=$user s=$system t=$total>> /etc/zabbix/cpu_get.log
if [ "$1" == "u" ]
then
echo $user
fi
if [ "$1" == "s" ]
then
echo $system
fi
if [ "$1" == "w" ]
then
echo $wait
fi
if [ "$1" == "t" ]
then
echo $total
fi
Но получается глупая ситуация - для того чтобы получить загрзку user, system, wait, total - я 4 раза дергаю скрипт. Других вариантов я не нашел
Было бы неплохо если-бы хотя-бы я мог сразу передать все 4 результата выполнения скрипта на zabbix-server - но насколько я понял перелопачивая кучу всяких сайтов так не получиться если используешь UserParameter.
П.С. С забиксом возимся уже месяца 2-3. И пока только разочарование наступает - если так для получения каждого результата прийдеться писать руками скрипты - то забикс выходит только графики рисует (к тому же не красивые и не разумно использовано свободное место на графике). Думалось изначально иначе - поставил - и потом только выбирай что и где мониторить
Вполне возможно что просто не разобрались еще с идиологией этого продукта. Вы уж помогите пожалуйста.
П.П.С. с поядерной загрузкой вообще пока никаких сдвигов нету
На сегодня сделал таким образом - в zabbix-agentd.conf добавил
UserParameter=get_cpu_u,/etc/zabbix/scripts/get_cpu u
UserParameter=get_cpu_s,/etc/zabbix/scripts/get_cpu s
UserParameter=get_cpu_w,/etc/zabbix/scripts/get_cpu w
UserParameter=get_cpu_t,/etc/zabbix/scripts/get_cpu t
сам скрипт выглядит так
#!/bin/bash
GREP="/bin/grep"
AWK="/usr/bin/awk"
text=`vmstat 2 2`
wait=`echo $text | $AWK -F" " '{ print $54}'`
system=`echo $text | $AWK -F" " '{ print $52}'`
user=`echo $text | $AWK -F" " '{ print $51}'`
let "total = wait + system + user"
echo $(date +%d':'%m':'%Y-%H':'%M':'%S) f=${first} w=$wait u=$user s=$system t=$total>> /etc/zabbix/cpu_get.log
if [ "$1" == "u" ]
then
echo $user
fi
if [ "$1" == "s" ]
then
echo $system
fi
if [ "$1" == "w" ]
then
echo $wait
fi
if [ "$1" == "t" ]
then
echo $total
fi
Но получается глупая ситуация - для того чтобы получить загрзку user, system, wait, total - я 4 раза дергаю скрипт. Других вариантов я не нашел
Было бы неплохо если-бы хотя-бы я мог сразу передать все 4 результата выполнения скрипта на zabbix-server - но насколько я понял перелопачивая кучу всяких сайтов так не получиться если используешь UserParameter. П.С. С забиксом возимся уже месяца 2-3. И пока только разочарование наступает - если так для получения каждого результата прийдеться писать руками скрипты - то забикс выходит только графики рисует (к тому же не красивые и не разумно использовано свободное место на графике). Думалось изначально иначе - поставил - и потом только выбирай что и где мониторить
Вполне возможно что просто не разобрались еще с идиологией этого продукта. Вы уж помогите пожалуйста.П.П.С. с поядерной загрузкой вообще пока никаких сдвигов нету
Comment