Nagios 3 & Centreon 2 RC5 安装与配置(2)

简介:
Nagios 3 & Centreon 2 RC5 安装与配置(2)
 

创建NDO2DB服务脚本

 


创建文件/etc/init.d/ndo2db (vi /etc/init.d/ndo2db),写入下面的内容。

 

 

#!/bin/sh 


# chkconfig: 345 99 01 
# description: Nagios to mysql 

# Author : phenix 
# Realase : 07/02/08 
# Version : 0.1 b 
# File : ndo2db 
# Description: Starts and stops the Ndo2db daemon 
# used to provide network services status in a database. 
#

status_ndo () 

if ps -p $NdoPID > /dev/null 2>&1; then 
return 0 
else 
return 1 
fi

return 1 
}

printstatus_ndo() 

if status_ndo $1 $2; then 
echo "ndo (pid $NdoPID) is running..." 
else 
echo "ndo is not running" 
fi 
}

killproc_ndo () 

echo "kill $2 $NdoPID" 
kill $2 $NdoPID 
}

pid_ndo () 

if test ! -f $NdoRunFile; then 
echo "No lock file found in $NdoRunFile" 
echo -n " checking runing process..." 
NdoPID=`ps h -C ndo2db -o pid` 
if [ -z "$NdoPID" ]; then 
echo " No ndo2db process found" 
exit 1 
else 
echo " found process pid: $NdoPID" 
echo -n " reinit $NdoRunFile ..." 
touch $NdoRunFile 
chown $NdoUser:$NdoGroup $NdoRunFile 
echo "$NdoPID" > $NdoRunFile 
echo " done" 
fi 
fi

NdoPID=`head $NdoRunFile` 
}

# Source function library 
# Solaris doesn't have an rc.d directory, so do a test first 
if [ -f /etc/rc.d/init.d/functions ]; then 
. /etc/rc.d/init.d/functions 
elif [ -f /etc/init.d/functions ]; then 
. /etc/init.d/functions 
fi

prefix=/usr/local/nagios 
exec_prefix=${prefix} 
NdoBin=${exec_prefix}/bin/ndo2db 
NdoCfgFile=${prefix}/etc/ndo2db.cfg 
NdoRunFile=${prefix}/var/ndo2db.run 
NdoLockDir=/var/lock/subsys 
NdoLockFile=ndo2db.lock 
NdoUser=nagios 
NdoGroup=nagios

# Check that ndo exists. 
if [ ! -f $NdoBin ]; then 
echo "Executable file $NdoBin not found. Exiting." 
exit 1 
fi

# Check that ndo.cfg exists. 
if [ ! -f $NdoCfgFile ]; then 
echo "Configuration file $NdoCfgFile not found. Exiting." 
exit 1 
fi

# See how we were called. 
case "$1" in

start) 
echo -n "Starting ndo:" 
touch $NdoRunFile 
chown $NdoUser:$NdoGroup $NdoRunFile 
$NdoBin -c $NdoCfgFile 
if [ -d $NdoLockDir ]; then 
touch $NdoLockDir/$NdoLockFile; 
fi 
ps h -C ndo2db -o pid > $NdoRunFile 
if [ $? -eq 0 ]; then 
echo " done." 
exit 0 
else 
echo " failed." 
$0 stop 
exit 1 
fi 
;;

stop) 
echo -n "Stopping ndo: "

pid_ndo 
killproc_ndo

# now we have to wait for ndo to exit and remove its 
# own NdoRunFile, otherwise a following "start" could 
# happen, and then the exiting ndo will remove the 
# new NdoRunFile, allowing multiple ndo daemons 
# to (sooner or later) run 
#echo -n 'Waiting for ndo to exit .' 
for i in 1 2 3 4 5 6 7 8 9 10 ; do 
if status_ndo > /dev/null; then 
echo -n '.' 
sleep 1 
else 
break 
fi 
done 
if status_ndo > /dev/null; then 
echo 
echo 'Warning - ndo did not exit in a timely manner' 
else 
echo 'done.' 
fi

rm -f $NdoRunFile $NdoLockDir/$NdoLockFile 
;;

status) 
pid_ndo 
printstatus_ndo ndo 
;;

restart) 
$0 stop 
$0 start 
;;

*) 
echo "Usage: ndo {start|stop|restart|status}" 
exit 1 
;;

esac

# End of this script

增加可执行权限

# chmod +x /etc/init.d/ndo2db

自动启动


# chkconfig ndo2db on 
注意:这里先不要创建ndo使用的数据库,在centreon安装完成以后创建即可

 



本文转自holy2009 51CTO博客,原文链接:http://blog.51cto.com/holy2010/323127

相关文章
|
Web App开发 开发工具 机器学习/深度学习
|
Web App开发 开发工具 机器学习/深度学习
|
监控 网络协议 测试技术
|
Web App开发 监控 网络架构

热门文章

最新文章