写个简单的脚本。。

#!/bin/bash

#liboxaing

nmap 192.168.111.2 | grep 80 &> /dev/null

if [ $? -eq 0 ]; 

   then

        echo "YES"

        exit 0

   else

        echo "NO"

        exit 2

fi

 

 

再进一步应该可以

#!/bin/bash

 

IP=$1

 

nmap $1 | grep 80

if [ $? -eq 0 ]; 

   then

        echo "YES"

        exit 0

   else

        echo "NO"

        exit 2

fi

vim /usr/local/nagios/etc/objects/localhost.cfg

 

define service{
        host_name baoxing
        service_description tcp-80
        max_check_attempts 5
        normal_check_interval 2
        retry_check_interval 1
        check_period 24x7
        notification_period 24x7
        notification_options  w,u,c,r
        check_command check_tcp!80
vim /usr/local/nagios/etc/objects/commands.cfg
# 'check_tcp' command definition
define command{
        command_name    check_tcp
        command_line    $USER1$/check_tcp -H $HOSTADDRESS$ -p $ARG1$ $ARG2$
        }
剩下的系统给好的就不写出来了。如时间等。
define contactgroup{
        contactgroup_name       admins
        alias                   Nagios Administrators
        members                 nagiosadmin,lbx,baoxing
        }
我的思路。。。。
 
 
 
 在附带几个脚本给大家分享分享,看看思路

1、查看主机网卡流量

 

  #!/bin/bash

#network

#Mike.Xu

while : ;

do

time='date +%m"-"%d" "%k":"%M' day='date +%m"-"%d'

rx_before='ifconfig eth0|sed -n "8"p|awk '{print $2}'|cut -c7-'

tx_before='ifconfig eth0|sed -n "8"p|awk '{print $6}'|cut -c7-'

sleep 2

rx_after='ifconfig eth0|sed -n "8"p|awk '{print $2}'|cut -c7-'

tx_after='ifconfig eth0|sed -n "8"p|awk '{print $6}'|cut -c7-'

rx_result=$[(rx_after-rx_before)/256]

tx_result=$[(tx_after-tx_before)/256]

echo "$time Now_In_Speed: "$rx_result"kbps Now_OUt_Speed: "$tx_result"kbps"

sleep 2

done

 

  2、系统状况监控

 

  #!/bin/sh

#systemstat.sh

#Mike.Xu

IP=192.168.1.227 top -n 2| grep "Cpu" >>./temp/cpu.txt

free -m | grep "Mem" >> ./temp/mem.txt

df -k | grep "sda1" >> ./temp/drive_sda1.txt

#df -k | grep sda2 >> ./temp/drive_sda2.txt

df -k | grep "/mnt/storage_0" >> ./temp/mnt_storage_0.txt

df -k | grep "/mnt/storage_pic" >> ./temp/mnt_storage_pic.txt

time=`date +%m"."%d" "%k":"%M`

connect=`netstat -na | grep "219.238.148.30:80" | wc -l` echo "$time $connect" >>./temp/connect_count.txt

 

  3、监控主机的磁盘空间,当使用空间超过90%就通过发mail来发警告

 

  #!/bin/bash

#monitor available disk space

SPACE='df | sed -n '/ \ / $ / p' | gawk '{print $5}' | sed 's/%//'

if

[ $SPACE -ge 90 ]

then

fty89@163.com

fi