alibek Опубликовано 7 ноября, 2014 · Жалоба Поделитесь, как можно получить информацию по утилизации системных ресурсов, таких как память, процессор и т.п. load average я беру из sysctl. Загрузку процессора я хочу учитывать с разбивкой на системные и пользовательские задачи, прерывания и т.п. Утилизацию можно посчитать из kern.cp_times, но это нужно брать дельту за период, хотя бы за минуту. Но если запустить top, утилизация выводится сразу. Может она хранится где-то в готовом виде? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
roysbike Опубликовано 7 ноября, 2014 (изменено) · Жалоба Поделитесь, как можно получить информацию по утилизации системных ресурсов, таких как память, процессор и т.п. load average я беру из sysctl. Загрузку процессора я хочу учитывать с разбивкой на системные и пользовательские задачи, прерывания и т.п. Утилизацию можно посчитать из kern.cp_times, но это нужно брать дельту за период, хотя бы за минуту. Но если запустить top, утилизация выводится сразу. Может она хранится где-то в готовом виде? CPU скрипт , нашел в инете , мониторю через nagios ./check_cpu_usage -w 70 -c 90 Вывод OK - CPU usage is 29% for server dnw.xxx.ru. |cpu_usage=29%;70;90; cpu_user=20%; cpu_system=9%; PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/sbin:/usr/local/bin ST_OK=0 ST_WR=1 ST_CR=2 ST_UN=3 # Plugin name PROGNAME=`basename $0` # Version VERSION="Version 1.0" # Author AUTHOR="Majo Jamrich" print_version() { echo "$PROGNAME $VERSION $1" } print_help() { print_version "($AUTHOR)" echo "" echo "$PROGNAME is a Nagios plugin to check CPU utilization." echo "" echo "Options:" echo "" echo "--warning | -w" echo "--critical | -c" echo "--help | --usage" echo "" echo "Usage:" echo "./check_cpu_usage -w 80 -c 100" echo "" exit $ST_UN } case "$1" in --help|-h|--usage|-u) print_help exit $ST_UN ;; --warning|-w) host=$2 ;; --critical|-c) host=$2 ;; -V) print_version exit ;; *) echo "Unknown argument: $1" echo "For more information please try -h or --help!" exit $ST_UN ;; esac shift if [ `uname` != "FreeBSD" ]; then echo "This plugin is only for FreeBSD." fi if [ -z $1 ] || [ -z $3 ]; then print_help exit $ST_UN fi if [ "$1" -ge "$3" ]; then echo "Warning value must be greater than critical value!" exit $ST_UN fi warn=$1 crit=$3 cpu_all=$( vmstat -c 2 -n 0 | tail -n 1 | awk '{print $15 " " $16 " " $17}' ) cpu_user=$( echo $cpu_all | awk '{print $1}') cpu_sys=$( echo $cpu_all | awk '{print $2}') cpu_idle=$( echo $cpu_all | awk '{print $3}') cpu_usage=$(( 100 - $cpu_idle )) perfdata="cpu_usage=$cpu_usage%;$warn;$crit; cpu_user=$cpu_user%; cpu_system=$cpu_sys%;" if [ $( echo "$cpu_usage>$1" | bc ) -gt 0 ] && [ $( echo "$cpu_usage<$3" | bc ) -gt 0 ]; then echo "WARNING - CPU usage is $cpu_usage% for server `hostname`. |$perfdata" exit $ST_WR elif [ $( echo "$cpu_usage>$3" | bc ) -gt 0 ]; then echo "CRITICAL - CPU usage is $cpu_usage% for server `hostname`. |$perfdata" exit $ST_CR else echo "OK - CPU usage is $cpu_usage% for server `hostname`. |$perfdata" exit $ST_OK fi Изменено 7 ноября, 2014 пользователем roysbike Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
FATHER_FBI Опубликовано 7 ноября, 2014 · Жалоба А вам в каком виде нужно дергать информацию и для чего?? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
alibek Опубликовано 7 ноября, 2014 · Жалоба Скрипт (на муниновский похож) то же самое делает - берет два измерения за период (из vmstat) и считает дельту. Мне для самодельного мониторинга надо. Примерно в том виде, как в top выводится, в процентах. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
K0matoznik Опубликовано 19 апреля, 2016 · Жалоба Дабы не плодить темы. Подскажите как написать скрипт, для нагиоса, чтобы проверять доступность сервиса на машине, путем сканирования портов через nmap? Он ведь любой порт сканит на удаленной машине, ну чтобы не проверять сервис. Еще вопрос, прочитал про скрипт для нагиоса в котором человек при помощи nmap пингует удаленную машину и отдает в нагиос данные(замена дефолтового пинга). ee /usr/local/libexec/nagios/check_nmap #!/bin/sh NMAP="/usr/local/bin/nmap -sP" TMP=/var/tmp/nmap_ping.$$ CHECK="Nmap Ping" results_exit() { rm -f $TMP echo "$CHECK: ${2}" exit $1 } $NMAP $1 > $TMP || result_exit 255 "Could not execute $NMAP" grep "Host seems down" $TMP [ $? -eq 0 ] && results_exit 2 "CRITICAL" grep "Host is up" $TMP [ $? -eq 0 ] && results_exit 0 "Ok" results_exit 3 "Unknown" Подскажите как для всех сервисов такое сделать? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
K0matoznik Опубликовано 19 апреля, 2016 · Жалоба Возник еще вопрос, есть готовые плагины для нагиоса для HР,Dlink,TPlink,DSL коммутаторы Zyxel, свичей через snmp, статистика по трафику с определенного порта, поднять порт или нет, графики загрузки определенного порта? Так же было бы интересно если есть готовые плагины для HP серверов(загрузка проца,загрузка с интерфейса,диски,пользователи и тд. Все что можно - нужно!)(важно что там крутиться? вин или unix?) ILo не предлогать :) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
uxcr Опубликовано 19 апреля, 2016 · Жалоба Я бы проверял работу сервисов с помощью этого. Хотя вопрос выглядит так, будто обычного check_tcp достаточно. Или нужно именно чтобы nmap сканировал какой именно сервис висит на порту? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
K0matoznik Опубликовано 19 апреля, 2016 · Жалоба Ну да,почему бы не ограничиться Nmap, который и пинговать умеет и порты сканировать... Ну по логике. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
K0matoznik Опубликовано 20 апреля, 2016 · Жалоба Сделал проверку nmap'om, пашет как буд-то бы :) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...