1、centos6.2 操作系統(tǒng) 監(jiān)控本機(jī)tcp連接數(shù) 物理內(nèi)存 cpu使用率 web并發(fā)數(shù)
為武宣等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及武宣網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、武宣網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!
查看本機(jī)tcp連接狀態(tài)
netstat -n |awk '/^tcp/ {++s[$NF]} END {for (a in s) print a,s[a]}'
LISTEN:偵聽來自遠(yuǎn)方的TCP端口的連接請(qǐng)求
SYN-SENT:再發(fā)送連接請(qǐng)求后等待匹配的連接請(qǐng)求
SYN-RECEIVED:再收到和發(fā)送一個(gè)連接請(qǐng)求后等待對(duì)方對(duì)連接請(qǐng)求的確認(rèn)
ESTABLISHED:代表一個(gè)打開的連接
FIN-WAIT-1:等待遠(yuǎn)程TCP連接中斷請(qǐng)求,或先前的連接中斷請(qǐng)求的確認(rèn)
FIN-WAIT-2:從遠(yuǎn)程TCP等待連接中斷請(qǐng)求
CLOSE-WAIT:等待從本地用戶發(fā)來的連接中斷請(qǐng)求
CLOSING:等待遠(yuǎn)程TCP對(duì)連接中斷的確認(rèn)
LAST-ACK:等待原來的發(fā)向遠(yuǎn)程TCP的連接中斷請(qǐng)求的確認(rèn)
TIME-WAIT:等待足夠的時(shí)間以確保遠(yuǎn)程TCP接收到連接中斷請(qǐng)求的確認(rèn)
CLOSED:沒有任何連接狀態(tài)
在nagios的插件庫里面寫下腳本
寫腳本ip_cons
#!/bin/bash
#tcp connet
if [ $# != 2 ];then
echo "Usage:$0 -w num1 -c num2"
exit
fi
ip_conns=`netstat -n |grep ESTABLISHED|wc -l`
if [ $ip_conns -lt $1 ];then
echo "OK -connet counts is $ip_conns"
exit 0
fi
if [ $ip_conns -ge $1 -a $ip_conns -lt $2 ];then
echo "Warning -connet counts is $ip_conns"
exit 1
fi
if [ $ip_conns -ge $2 ];then
echo "Critical -connet counts is $ip_conns"
exit 2
fi
修改配置文件commands.cfg
commands.cfg添加命令
define command{
command_name ip_cons
command_line /usr/local/nagios/libexec/ip_cons 2 5 (2 是警告值 5是臨界值可自定義這里只是做實(shí)驗(yàn))
}
之后修改本機(jī)的配置文件localhost.cfg
define service{
use generic-service
host_name localhost
service_description ip_cons
check_command ip_cons
notifications_enabled 1
}
或者是寫一個(gè)services.cfg文件里里面
define service{
host_name localhost
service_description ip_cons
check_command ip_cons
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 admins
}
寫入services.cfg文件之后需要在nagios.cfg里面添加
cfg_file=/etc/nagios/objects/services.cfg
之后查看配置文件是否出錯(cuò) /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
沒有出錯(cuò)的話 就重新啟動(dòng)nagios服務(wù) /usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg
2、centos6.2 操作系統(tǒng) 監(jiān)控其他主機(jī)tcp連接數(shù) 物理內(nèi)存 cpu使用率 web并發(fā)數(shù)
寫監(jiān)控腳本
#!/bin/bash
if [ $# != 2 ];then
echo "Usage:$0 -w num1 -c num2"
exit
fi
ip_conns=`netstat -n |grep ESTABLISHED|wc -l`
if [ $ip_conns -lt $1 ];then
echo "OK -connet counts is $ip_conns"
exit 0
fi
if [ $ip_conns -ge $1 -a $ip_conns -lt $2 ];then
echo "Warning -connet counts is $ip_conns"
exit 1
fi
if [ $ip_conns -ge $2 ];then
echo "Critical -connet counts is $ip_conns"
exit 2
fi
在nrpe.cfg 里面填寫監(jiān)控命令
command[ip_cons]=/usr/local/nagios/libexec/ip_cons 5 9
之后在監(jiān)控機(jī)器上的配置文件里面配置
define service{
use generic-service
host_name 192.168.122.3
service_description ip_cons
check_command check_nrpe!ip_cons
notifications_enabled 1
}
或者是寫入services.cfg文件
define service{
host_name 192.168.122.3
service_description ip_cons
check_command check_nrpe!ip_cons
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 admins
}
之后重新啟動(dòng)nagios服務(wù)即可
內(nèi)存監(jiān)控的做法基本上和以上做法相同,想來要做這個(gè)監(jiān)控的都是運(yùn)維的同行,應(yīng)該可以理解下面就只留下內(nèi)存的監(jiān)控腳本
#!/bin/bash
#memory
if [ $# != 2 ];then
echo "Usage:$0 -w num1 -c num2"
exit
fi
total_mem=`free -m |grep Mem|awk '{print $2}'`
free_mem=`free -m |grep Mem|awk '{print $4}'`
used_mem=`free -m |grep Mem|awk '{print $3}'`
if [ $free_mem -gt $1 ];then
echo "OK - total memory $total_mem MB used $used_mem MB free $free_mem MB "
exit 0
fi
if [ $free_mem -ge $2 -a $free_mem -le $1 ];then
echo "Warning - total memory $total_mem MB used $used_mem MB free $free_mem MB"
exit 1
fi
if [ $free_mem -lt $2 ];then
echo "Critical - total memory $total_mem MB used $used_mem MB free $free_mem MB"
exit 2
fi
cpu使用率的監(jiān)控跟上面tcp監(jiān)控方法類似 留下監(jiān)控腳本一份
#!/bin/bash
if [ $# != 2 ];then
echo "Usage:$0 -w num1 -c num2"
exit
fi
used_cpu=`vmstat |sed -n 3p|awk -F " " '{print $13}'`
if [ $used_cpu -lt $1 ];then
echo "OK -used_cpu is $used_cpu %"
exit 0
fi
if [ $used_cpu -ge $1 -a $used_cpu -lt $2 ];then
echo "Warning - used_cpu is $used_cpu %"
exit 1
fi
if [ $used_cpu -ge $2 ];then
echo "Critical - used_cpu is $used_cpu %"
exit 2
fi
此shell腳本中這條命令used_cpu=`vmstat |sed -n 3p|awk -F " " '{print $13}'`是監(jiān)控系統(tǒng)使用的cpu輸出默認(rèn)是整數(shù) 要是想監(jiān)控剩余cpu的話將以上shell腳本的此條命令修改成used_cpu=`vmstat |sed -n 3p|awk -F " " '{print $15}'`
web并發(fā)數(shù) 如果是apache做的站點(diǎn)的話 倒是可以直接監(jiān)控httpd的進(jìn)程數(shù)就可以獲得并發(fā)數(shù) nginx的話就不行了 可以使用一下腳本
web并發(fā)數(shù)
#!/bin/bash
#if [ $# != 2 ];then
#echo "Usage:$0 -w num1 -c num2"
#exit
#fi
#w=2
#c=5
ip_conns=`netstat -n |grep '^tcp'|grep ESTABLISHED|grep 80|wc -l`
if [ $ip_conns -lt $1 ];then
echo "OK -connet counts is $ip_conns"
exit 0
fi
if [ $ip_conns -ge $1 -a $ip_conns -lt $2 ];then
echo "Warning -connet counts is $ip_conns"
exit 1
fi
if [ $ip_conns -ge $2 ];then
echo "Critical -connet counts is $ip_conns"
exit 2
fi
監(jiān)控MySQL主從狀態(tài)
#!/bin/bash
io=`/usr/local/mysql/bin/mysql -u root -pXXXX -e "show slave status\G" |grep Slave_IO_Running|awk '{print $2}'`
sql=`/usr/local/mysql/bin/mysql -u root -pXXXX -e "show slave status\G" |grep Slave_SQL_Running|awk '{print $2}'`
if [[ $io = Yes && $sql = Yes ]]; then
echo "OK - mysql-replication is running"
exit 0
fi
if [[ $io = No || $sql = No ]];then
echo "Critical - mysql-replication is not working, I/O or SQL is not working properly "
exit 2
fi
標(biāo)題名稱:nagios監(jiān)控tcp連接數(shù)物理內(nèi)存cpu使用率web并發(fā)數(shù)mysql主從狀態(tài)
網(wǎng)站URL:http://www.rwnh.cn/article4/gpopie.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器、面包屑導(dǎo)航、品牌網(wǎng)站設(shè)計(jì)、做網(wǎng)站、微信公眾號(hào)、品牌網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)