Инструменты пользователя

Инструменты сайта


nix:shell:nagios-check

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
nix:shell:nagios-check [2021/10/05 17:49] – внешнее изменение 127.0.0.1nix:shell:nagios-check [2022/06/20 17:31] (текущий) – [Сравнение локального файла с файлом на удаленной системе] san
Строка 94: Строка 94:
 WARN=20; CRIT=10 #Задаем пороги предупреждений и критического состояния по-умолчанию. WARN=20; CRIT=10 #Задаем пороги предупреждений и критического состояния по-умолчанию.
 # Считываем пороги, если они заданы в командной строке # Считываем пороги, если они заданы в командной строке
-if [[ -n "$1" |]]; then WARN="$1";fi +if [[ -n "$1" ]]; then WARN="$1";fi 
-if [[ -n "$2" |]]; then CRIT="$2";fi+if [[ -n "$2" ]]; then CRIT="$2";fi
  
 res=$E_OK; res_txt="OK" res=$E_OK; res_txt="OK"
  
-read check_time CPU usr nice sys iowait irq soft steal guest gnice idle <<<$(S_TIME_FORMAT=ISO mpstat --dec=0|tail -n1)+read check_time CPU usr nice sys iowait irq soft steal guest gnice idle <<<$(S_TIME_FORMAT=ISO mpstat --dec=0 1 1|tail -n2|head -n1)
  
-if [[ $idle -le $WARN |]]; then res=$E_WARN; res_txt="WARN"; fi +if [[ $idle -le $WARN ]]; then res=$E_WARN; res_txt="WARN"; fi 
-if [[ $idle -le $CRIT |]]; then res=$E_CRIT; res_txt="CRIT"; fi+if [[ $idle -le $CRIT ]]; then res=$E_CRIT; res_txt="CRIT"; fi
  
 echo -n "$res_txt: Idle=$idle% usr=$usr% nice=$nice% sys=$sys% iowait=$iowait% irq=$irq% soft=$soft% steal=$steal% guest=$guest% gnice=$gnice%" echo -n "$res_txt: Idle=$idle% usr=$usr% nice=$nice% sys=$sys% iowait=$iowait% irq=$irq% soft=$soft% steal=$steal% guest=$guest% gnice=$gnice%"
Строка 253: Строка 253:
 Область применения - например проверка идентичности конфиг-файла на двух серверах. Область применения - например проверка идентичности конфиг-файла на двух серверах.
  
-Сравнение делается с помощью подключения по ssh. Для корректной работы скрипта требуется настроить ключи ssh для пользователя из под которого будет работать скрипт. <hidden> +Сравнение делается с помощью подключения по ssh. Для корректной работы скрипта требуется настроить ключи ssh для пользователя из под которого будет работать скрипт.  
 +<hidden>
 <file bash check_rdiff.sh> <file bash check_rdiff.sh>
 #!/bin/bash #!/bin/bash
Строка 289: Строка 289:
  
 </file> </file>
 +</hidden>
  
 +Модифицированная версия. Может сравнивать несколько файлов заданных шаблоном (напр. /etc/application/*.conf)
 +
 +<hidden>
 +<file bash check_rdiff.sh>
 +#!/bin/bash
 +
 +STATE_OK=0;STATE_WARNING=1;STATE_CRITICAL=2;STATE_UNKNOWN=3
 +
 +usage()
 +{
 +cat << EOF
 +Usage: $0 remotehost filename
 +This script checks differecies of local and remote files
 +EOF
 +}
 +
 +if [[ -z "$1" ]]; then usage; exit $STATE_UNKNOWN; else serv="$1"; fi
 +if [[ -z "$2" ]]; then usage; exit $STATE_UNKNOWN; else fname="$2"; fi
 +
 +difs=""
 +ndifs=0
 +
 +for f in $fname
 +do
 + dif="$(ssh "$serv" "cat $f"|diff - $f)"
 + if [[ $? -ne 0 ]]; then.
 +   ndifs=$(($ndifs + 1 ))
 +   difs="$difs$(echo $f):$dif"
 + fi
 +done
 +
 +if [[ $ndifs -eq 0 ]]
 + then
 +  echo "OK: File $fname. Local and on host $serv has no differencies"; exit $STATE_OK
 + else
 +  echo "CRITICAL: File $fname. Local and on host $serv has differencies"; echo "$difs"; exit $STATE_CRITICAL
 +fi
 +
 +</file>
 </hidden> </hidden>
 +
  
 ==== Проверка DNS-записей на соответствие заданным ==== ==== Проверка DNS-записей на соответствие заданным ====
nix/shell/nagios-check.1633445373.txt.gz · Последнее изменение: 2021/10/05 17:49 — 127.0.0.1

Если не указано иное, содержимое этой вики предоставляется на условиях следующей лицензии: Public Domain
Public Domain Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki