OSWBB中的private.net未生效
在测试环境中部署了OSWBB,并且配置了private.net文件,用于检测私网心跳网络是否正常。内容如下所示:
#Linux Example
######################################################################
echo "zzz ***"`date`
traceroute -r -F 10.0.0.190
traceroute -r -F 10.0.0.191
traceroute -r -F 10.0.0.192
traceroute -r -F 10.0.0.193
######################################################################
######################################################################
# DO NOT DELETE THE FOLLOWING LINE!!!!!!!!!!!!!!!!!!!!!
######################################################################
rm locks/lock.file |
但发现archive/oswprvtnet目录中未生成任何信息。
为了解决这个问题,需要先弄清到底有哪些脚本会使用到private.net文件,可以使用如下命令检查 :
[root@19crac1 oswbb]# grep private.net *
从命令输出可以看出,genprvnet.sh 和 OSWatcher.sh 这两个脚本都调用到这个配置文件。在OSWatcher.sh 这个脚本中发现如下代码:
###################################################################### # Run traceroute for private networks if file private.net exists ###################################################################### if [ -x private.net ]; then if [ -f locks/lock.file ]; then status=1 else touch locks/lock.file if [ $status = 1 ]; then echo "zzz ***Warning. Traceroute response is spanning snapshot intervals." >> $OSWBB_ARCHIVE_DEST/oswprvtnet/${hostn}_prvtnet_$hour & status=0 fi ./private.net >> $OSWBB_ARCHIVE_DEST/oswprvtnet/${hostn}_prvtnet_$hour 2>&1 & fi if [ $hour != $lasthour ]; then if [ $zipfiles = 1 ]; then if [ -f $OSWBB_ARCHIVE_DEST/oswprvtnet/${hostn}_prvtnet_$lasthour ]; then $zip $OSWBB_ARCHIVE_DEST/oswprvtnet/${hostn}_prvtnet_$lasthour & fi fi fi fi |
从这段代码可以看出,只有当private.net文件具有可执行权限时,才会监控私有心跳网络,并将监控结果写入监控日志文件中。
检查private.net文件的权限,发现该文件的确没有执行权限,将private.net文件赋予执行权限后,成功将私有心跳网络监控日志写入archive/oswprvtnet目录中。