博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Nagios 3 & Centreon 2 RC5 安装与配置(2)
阅读量:7102 次
发布时间:2019-06-28

本文共 2991 字,大约阅读时间需要 9 分钟。

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

转载地址:http://dsuhl.baihongyu.com/

你可能感兴趣的文章
Java之JVM内存结构、Java内存模型、Java对象模型
查看>>
distribute-list分发列表详解
查看>>
关于Oracle归档进程的运行机制
查看>>
mail退信分析大全
查看>>
grep命令以及正则表达式,算数运算.
查看>>
php生成随机密码的几种方法
查看>>
我的友情链接
查看>>
在防火墙配置自定义服务
查看>>
vSphere 6.0 -Difference between vSphere 5.0, 5.1, 5.5 and vSphere 6.0
查看>>
Collect VMware support log&Performance Snapshot
查看>>
Enable PowerShell script execution policy
查看>>
aix 设置主机信任
查看>>
编程题:输入一串字符,程序会自动将大写字母转换为小写
查看>>
yii框架中model映射数据库中不存在的表,做请求转发的接口
查看>>
抖音云控专业营销实战引流,一键暴涨百万精准粉原理!
查看>>
golang学习的点点滴滴:channel缓冲区
查看>>
springboot 之缓存注解
查看>>
apt-get install 的用法
查看>>
如何写高效率的SQL
查看>>
利用灰名单阻止垃圾邮件
查看>>