免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4071 | 回复: 4
打印 上一主题 下一主题

[其他] Nagios通过nrpe监控远程服务器返回状态码不一致 [复制链接]

论坛徽章:
2
IT运维版块每日发帖之星
日期:2016-02-28 06:20:00IT运维版块每日发帖之星
日期:2016-03-03 06:20:00
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2016-02-25 15:55 |只看该作者 |倒序浏览
本帖最后由 nan_dream 于 2016-02-25 16:08 编辑

监控脚本是自定义的,如下:

BDUMP=`sqlplus -s ${3}/${4}@${2} << EOF
set heading off
set feedback off
set pagesize 0
set verify off
set echo off
set serverout off
select value from v\\$parameter where name='background_dump_dest';
exit
EOF`

status=0

for ((i=5;i>=1;i--));
do
lasttime=`date -d "-$i minute" +"%a %b %d %H:%M"`
        echo $lasttime
tail -5000 $BDUMP/alert_$ORACLE_SID.log | awk -v a="$lasttime" 'BEGIN{b=0}/^[Sun|Mon|Tue|Wed|Thu|Fri|Sat]/{if($0 ~ a)b=1}b{print}' > /tmp/alert_ORA.log
num=`cat /tmp/alert_ORA.log | wc -l`
echo $num
if [ $num -gt 0 ];then
     if [ `cat /tmp/alert_ORA.log | grep -i 'ORA-' | wc -l` -gt 0 ];then
        echo "CRITICAL - "`cat /tmp/alert_ORA.log | sed -n '/^ORA-/,+3p'`
        #rm /tmp/alert_ORA.log
        status=$STATE_CRITICAL;
        break;
     fi
fi
done
echo "status is: "$status;

if [ $status -eq 0 ]; then
        echo "OK - No \"ORA-\" errors."
        #rm /tmp/alert_ORA.log
        exit $STATE_OK;
else
        exit $status;
fi


nagios服务器端执行脚本返回如下:

[nagios@NAGIOS ~]$ check_nrpe -H 192.168.3.3 -c check_oracle_alert
Thu Feb 25 15:47
0
Thu Feb 25 15:48
0
Thu Feb 25 15:49
0
Thu Feb 25 15:50
0
Thu Feb 25 15:51
0
status is: 0
OK - No "ORA-" errors.


被监控服务器端执行脚本返回如下:

[nagios@DG01 libexec]$ /usr/local/nagios/libexec/check_oracle_v2 --alert testdb system oracle
Thu Feb 25 15:47
0
Thu Feb 25 15:48
0
Thu Feb 25 15:49
0
Thu Feb 25 15:50
65
CRITICAL - ORA-12514: TNS:listener does not currently know of service requested in connect descriptor PING[ARC2]: Heartbeat failed to connect to standby 'standbydb01'. Error is 12514.
status is: 2


请教大家,这个问题是哪里导致的?
非常感谢!!

论坛徽章:
2
IT运维版块每日发帖之星
日期:2016-02-28 06:20:00IT运维版块每日发帖之星
日期:2016-03-03 06:20:00
2 [报告]
发表于 2016-02-25 15:58 |只看该作者
自己顶一下啊~~

论坛徽章:
2
IT运维版块每日发帖之星
日期:2016-02-28 06:20:00IT运维版块每日发帖之星
日期:2016-03-03 06:20:00
3 [报告]
发表于 2016-02-25 18:02 |只看该作者
召唤大神!!

论坛徽章:
2
IT运维版块每日发帖之星
日期:2016-02-28 06:20:00IT运维版块每日发帖之星
日期:2016-03-03 06:20:00
4 [报告]
发表于 2016-02-29 09:00 |只看该作者
自己顶起~~

论坛徽章:
2
IT运维版块每日发帖之星
日期:2016-02-28 06:20:00IT运维版块每日发帖之星
日期:2016-03-03 06:20:00
5 [报告]
发表于 2016-02-29 17:31 |只看该作者
已经解决,该问题是由于没有定义ORACLE_SID变量,导致远程执行的时候获取不到alert日志,本地由于nagios用户已经加入了oinstall用户组,所以读取没问题。

另外,做测试的时候,本地执行和远程执行都需要用nagios用户来测试,不然也可能出现返回结果不一致的问题。

还是细节问题,以后需要多多注意!

评分

参与人数 1可用积分 +5 收起 理由
ccjsj1 + 5 赞一个!

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP