我用nagios-check_http check Checker
生活随笔
收集整理的這篇文章主要介紹了
我用nagios-check_http check Checker
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
這幾天按照yahoon兄的大作完成了nagios的配置。并成功監(jiān)控linux+win服務(wù)器的各種服務(wù)。
??? 在這里把遇到的問(wèn)題整理了下。
? 1、? mail : sendmail 一個(gè)小工具實(shí)現(xiàn)郵件發(fā)送。主頁(yè):[url]http://caspian.dotconf.net/menu/Software/SendEmail/[/url]
?
安裝后測(cè)試,如果能發(fā)送郵件,那說(shuō)明正常,只需要配置一下下。
?
具體的我就不說(shuō)了。看yahoon的大作去吧。[url]http://yahoon.blog.51cto.com/13184/49722[/url]
在這里我的mail有smtp pop3雙向認(rèn)證,并照樣收發(fā)正常
?
2、check 的使用,在安裝后nagios plugins 后會(huì)產(chǎn)生N多check開(kāi)頭的文件。
??? 就這是這些腳本的使用
?? 那么對(duì)于apache如果只是監(jiān)控端口80 并不能說(shuō)明apache就正常,比如動(dòng)態(tài)或者虛擬主機(jī)。其中一個(gè)網(wǎng)頁(yè)down了但也不會(huì)報(bào)警。
? 于是就應(yīng)該對(duì)check_tcp!80 進(jìn)行修改
? 其修改commends.cfg? 添加:
define command{
??????? command_name??? check_http
??????? command_line??? $USER1$/check_http -H $HOSTADDRESS$ -u $ARG1$ -w $ARG2$ -c $ARG3$
??????? }
修改services.cfg
define service{
??????? host_name?????????????? aabbcc
??????? service_description???? check-http
??????? check_command?????????? check_http!3???? # 3 timeout? --超時(shí)值
??????? max_check_attempts????? 5
??????? normal_check_interval?? 3
??????? retry_check_interval??? 2
??????? check_period??????????? 24x7
??????? notification_interval?? 10
??????? notification_period???? 24x7
??????? notification_options??? w,u,c,r
??????? contact_groups????????? sagroup
??????? }
這樣就OK 了。如果你要改一些選項(xiàng)的,在nagios/libexec 目錄 ./check_http --help
根據(jù)參數(shù)改就好了。
?
在這里如果使用check_http!3?? nagios返回的是code值HTTP OK HTTP/1.1 200 OK - 66598 bytes in 0.013 seconds???? 200 剛為正常
如果你進(jìn)行測(cè)試修改一下,就會(huì)報(bào)其它的錯(cuò)。
check_tcp!80 只返回ping 值
?
?
另一個(gè)腳本check_mem??? 使用方法一樣。我只貼出腳本內(nèi)容了。保存的時(shí)候記得chmod +x
# Script to check real memory usage
# L.Gill 02/05/06 - V.1.0
# ------------------------------------------
# ########? Script Modifications? ##########
# ------------------------------------------
# Who??? When????? What
# ---??? ----????? ----
# LGill? 17/05/06? "$percent" lt 1% fix - sed edits dc result beggining with "."
#
#
#!/bin/bash
USAGE="`basename $0` [-w|--warning]<percent free> [-c|--critical]<percent free>"
THRESHOLD_USAGE="WARNING threshold must be greater than CRITICAL: `basename $0` $*"
calc=/tmp/memcalc
percent_free=/tmp/mempercent
critical=""
warning=""
STATE_OK=0
STATE_WARNING=1
STATE_CRITICAL=2
STATE_UNKNOWN=3
# print usage
if [[ $# -lt 4 ]]
then
??????? echo ""
??????? echo "Wrong Syntax: `basename $0` $*"
??????? echo ""
??????? echo "Usage: $USAGE"
??????? echo ""
??????? exit 0
fi
# read input
while [[ $# -gt 0 ]]
? do
??????? case "$1" in
?????????????? -w|--warning)
?????????????? shift
?????????????? warning=$1
??????? ;;
?????????????? -c|--critical)
?????????????? shift
?????????????? critical=$1
??????? ;;
??????? esac
??????? shift
? done
# verify input
if [[ $warning -eq $critical || $warning -lt $critical ]]
then
??????? echo ""
??????? echo "$THRESHOLD_USAGE"
??????? echo ""
??????? echo "Usage: $USAGE"
??????? echo ""
??????? exit 0
fi
# Total memory available
total=`free -m | head -2 |tail -1 |gawk '{print $2}'`
# Total memory used
used=`free -m | head -2 |tail -1 |gawk '{print $3}'`
# Calc total minus used
free=`free -m | head -2 |tail -1 |gawk '{print $2-$3}'`
# normal values
#echo "$total"MB total
#echo "$used"MB used
#echo "$free"MB free
# make it into % percent free = ((free mem / total mem) * 100)
echo "5" > $calc # decimal accuracy
echo "k" >> $calc # commit
echo "100" >> $calc # multiply
echo "$free" >> $calc # division integer
echo "$total" >> $calc # division integer
echo "/" >> $calc # division sign
echo "*" >> $calc # multiplication sign
echo "p" >> $calc # print
percent=`/usr/bin/dc $calc|/bin/sed 's/^\./0./'|/usr/bin/tr "." " "|/usr/bin/gawk {'print $1'}`
#percent1=`/usr/bin/dc $calc`
#echo "$percent1"
if [[ "$percent" -le? $critical ]]
??????? then??????????????? echo "CRITICAL - $free MB ($percent%) Free Memory"
??????????????? exit 2
fi
if [[ "$percent" -le? $warning ]]??????? then
??????????????? echo "WARNING - $free MB ($percent%) Free Memory"??????????????? exit 1
fi
if [[ "$percent" -gt? $warning ]]
??????? then
??????????????? echo "OK - $free MB ($percent%) Free Memory"??????????????? exit 0
fi
?
?
3、firefox 瀏覽器右下角監(jiān)控提示 Nagios Checker
下載:[url]https://addons.mozilla.org/en-US/firefox/addon/3607[/url]
使用方法很簡(jiǎn)單,下載后添加到firefox插件里,再在右下腳添加被監(jiān)控機(jī),用戶(hù)名和密碼就可以看到一些信息了。
這樣你就不用開(kāi)著nagios 看,可以邊瀏覽網(wǎng)頁(yè)邊注意它的提醒。
給大家來(lái)張效果圖:
?
注:本一些資料參照[url]http://www.itnms.net/discuz[/url] 及石頭兄的文章
??? 在這里把遇到的問(wèn)題整理了下。
? 1、? mail : sendmail 一個(gè)小工具實(shí)現(xiàn)郵件發(fā)送。主頁(yè):[url]http://caspian.dotconf.net/menu/Software/SendEmail/[/url]
?
安裝后測(cè)試,如果能發(fā)送郵件,那說(shuō)明正常,只需要配置一下下。
?
具體的我就不說(shuō)了。看yahoon的大作去吧。[url]http://yahoon.blog.51cto.com/13184/49722[/url]
在這里我的mail有smtp pop3雙向認(rèn)證,并照樣收發(fā)正常
?
2、check 的使用,在安裝后nagios plugins 后會(huì)產(chǎn)生N多check開(kāi)頭的文件。
??? 就這是這些腳本的使用
?? 那么對(duì)于apache如果只是監(jiān)控端口80 并不能說(shuō)明apache就正常,比如動(dòng)態(tài)或者虛擬主機(jī)。其中一個(gè)網(wǎng)頁(yè)down了但也不會(huì)報(bào)警。
? 于是就應(yīng)該對(duì)check_tcp!80 進(jìn)行修改
? 其修改commends.cfg? 添加:
define command{
??????? command_name??? check_http
??????? command_line??? $USER1$/check_http -H $HOSTADDRESS$ -u $ARG1$ -w $ARG2$ -c $ARG3$
??????? }
修改services.cfg
define service{
??????? host_name?????????????? aabbcc
??????? service_description???? check-http
??????? check_command?????????? check_http!3???? # 3 timeout? --超時(shí)值
??????? max_check_attempts????? 5
??????? normal_check_interval?? 3
??????? retry_check_interval??? 2
??????? check_period??????????? 24x7
??????? notification_interval?? 10
??????? notification_period???? 24x7
??????? notification_options??? w,u,c,r
??????? contact_groups????????? sagroup
??????? }
這樣就OK 了。如果你要改一些選項(xiàng)的,在nagios/libexec 目錄 ./check_http --help
根據(jù)參數(shù)改就好了。
?
在這里如果使用check_http!3?? nagios返回的是code值HTTP OK HTTP/1.1 200 OK - 66598 bytes in 0.013 seconds???? 200 剛為正常
如果你進(jìn)行測(cè)試修改一下,就會(huì)報(bào)其它的錯(cuò)。
check_tcp!80 只返回ping 值
?
?
另一個(gè)腳本check_mem??? 使用方法一樣。我只貼出腳本內(nèi)容了。保存的時(shí)候記得chmod +x
# Script to check real memory usage
# L.Gill 02/05/06 - V.1.0
# ------------------------------------------
# ########? Script Modifications? ##########
# ------------------------------------------
# Who??? When????? What
# ---??? ----????? ----
# LGill? 17/05/06? "$percent" lt 1% fix - sed edits dc result beggining with "."
#
#
#!/bin/bash
USAGE="`basename $0` [-w|--warning]<percent free> [-c|--critical]<percent free>"
THRESHOLD_USAGE="WARNING threshold must be greater than CRITICAL: `basename $0` $*"
calc=/tmp/memcalc
percent_free=/tmp/mempercent
critical=""
warning=""
STATE_OK=0
STATE_WARNING=1
STATE_CRITICAL=2
STATE_UNKNOWN=3
# print usage
if [[ $# -lt 4 ]]
then
??????? echo ""
??????? echo "Wrong Syntax: `basename $0` $*"
??????? echo ""
??????? echo "Usage: $USAGE"
??????? echo ""
??????? exit 0
fi
# read input
while [[ $# -gt 0 ]]
? do
??????? case "$1" in
?????????????? -w|--warning)
?????????????? shift
?????????????? warning=$1
??????? ;;
?????????????? -c|--critical)
?????????????? shift
?????????????? critical=$1
??????? ;;
??????? esac
??????? shift
? done
# verify input
if [[ $warning -eq $critical || $warning -lt $critical ]]
then
??????? echo ""
??????? echo "$THRESHOLD_USAGE"
??????? echo ""
??????? echo "Usage: $USAGE"
??????? echo ""
??????? exit 0
fi
# Total memory available
total=`free -m | head -2 |tail -1 |gawk '{print $2}'`
# Total memory used
used=`free -m | head -2 |tail -1 |gawk '{print $3}'`
# Calc total minus used
free=`free -m | head -2 |tail -1 |gawk '{print $2-$3}'`
# normal values
#echo "$total"MB total
#echo "$used"MB used
#echo "$free"MB free
# make it into % percent free = ((free mem / total mem) * 100)
echo "5" > $calc # decimal accuracy
echo "k" >> $calc # commit
echo "100" >> $calc # multiply
echo "$free" >> $calc # division integer
echo "$total" >> $calc # division integer
echo "/" >> $calc # division sign
echo "*" >> $calc # multiplication sign
echo "p" >> $calc # print
percent=`/usr/bin/dc $calc|/bin/sed 's/^\./0./'|/usr/bin/tr "." " "|/usr/bin/gawk {'print $1'}`
#percent1=`/usr/bin/dc $calc`
#echo "$percent1"
if [[ "$percent" -le? $critical ]]
??????? then??????????????? echo "CRITICAL - $free MB ($percent%) Free Memory"
??????????????? exit 2
fi
if [[ "$percent" -le? $warning ]]??????? then
??????????????? echo "WARNING - $free MB ($percent%) Free Memory"??????????????? exit 1
fi
if [[ "$percent" -gt? $warning ]]
??????? then
??????????????? echo "OK - $free MB ($percent%) Free Memory"??????????????? exit 0
fi
?
?
3、firefox 瀏覽器右下角監(jiān)控提示 Nagios Checker
下載:[url]https://addons.mozilla.org/en-US/firefox/addon/3607[/url]
使用方法很簡(jiǎn)單,下載后添加到firefox插件里,再在右下腳添加被監(jiān)控機(jī),用戶(hù)名和密碼就可以看到一些信息了。
這樣你就不用開(kāi)著nagios 看,可以邊瀏覽網(wǎng)頁(yè)邊注意它的提醒。
給大家來(lái)張效果圖:
?
注:本一些資料參照[url]http://www.itnms.net/discuz[/url] 及石頭兄的文章
轉(zhuǎn)載于:https://blog.51cto.com/liuyu/64064
總結(jié)
以上是生活随笔為你收集整理的我用nagios-check_http check Checker的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 确保独立计算机上的EFS加密数据恢复
- 下一篇: DirectX 9高层着色语言介绍3——