为AIX中配置sendmail relay到smtp server

今天写了一个数据库的监控脚本,在测试脚本能否正常告警时,发现邮件发不出去。

这个系统的环境是这样的,在整个系统中,大部分的机器放在192.168.1网段,为trust area,数据库主机也在此网段;另外有几台机器在192.168.3网段,为DMZ area。发送邮件不能直接在数据库主机上直接发送,需要通过192.168.3网段上的一台smtp server进行relay。我们假设这台smtp server的IP为192.168.3.99,下面我们来开始配置db主机,使得db主机上用mailx命令发送的邮件能中继到smtp server上进行发送。

在这里,db主机的os环境是aix 5.3,需要配置的文件为/etc/sendmail.cf。我们先备份一下这个文件,然后来进行修改:
在这个文件中,找到有如下相关的行(如果没有需要自行添加):

# for sendmail
DSsmtp:[192.168.3.99]
DwMYDAB02
Cwlocalhost

其中DSsmtp:[192.168.3.99]表示smtp server的IP为192.168.3.99
Dw后面直接跟本机的主机名
Cw后面跟localhost

修改上面的参数后,重启sendmail服务:

refresh -s sendmail

此时即可在db主机上,通过mailx命令将监控的告警邮件,relay到smtp sever,然后通过smtp sever集中发送:

#!/usr/bin/sh
###################################################################
#   This script is written by username@cn.ibm.com at 2010-08-12.
#   Because HQ monitor can not cover all the db parameters,
#   it need to by monitor by this script.
#   main_normal.sh monitor the normal process and run every 2 hours
#   main_crital.sh monitor the crital process and run every 2 mins
####################################################################
 
#### PARAMETER AND WORKING PATH SETTING
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/oracle/product/10.2.0/db_1
export PATH=$ORACLE_HOME/bin:$PATH
export ORACLE_SID=MDBPRD
 
WORKPATH=/u03/db_monitor
LOGPATH=${WORKPATH}/log
SRPTPATH=${WORKPATH}/bin
MAILPATH=${WORKPATH}/mailresult
 
 
CLOG=${LOGPATH}/db_monitor_${ORACLE_SID}_$(date +%Y%m%d).clog
NLOG=${LOGPATH}/db_monitor_${ORACLE_SID}_$(date +%Y%m%d).nlog
MRESULT=${MAILPATH}/mail_result_${ORACLE_SID}_$(date +%Y%m%d).mresult
 
MAIL_TOOL=/usr/bin/mailx
TO_MAIL=jianminh@cn.ibm.com
CC_MAIL=jianminh@cn.ibm.com
 
cd ${WORKPATH}
 
#### CHECKING CRITAL PROCESS
v_lsnr=`ps  -ef |grep tns |grep -v grep |wc -l`
 
v_process1521=`netstat -an |grep 1521|grep -v grep |wc -l`
 
v_crit_process=`ps  -ef |grep ora_ |grep ${ORACLE_SID} |grep -v grep|wc -l`
 
#### WRITE CHECKING RESULT TO LOG
echo "#################################################">>$CLOG
echo "============= CRITAL REPORT BEGIN =============">>$CLOG
date>>$CLOG
 
echo "====THE NUMBER OF LNSR====">>$CLOG
echo $v_lsnr>>$CLOG
echo " ">>$CLOG
 
 
echo "====THE NUMBER OF PROCESS USING PORT 1521====">>$CLOG
echo $v_process1521>>$CLOG
echo " ">>$CLOG
 
echo "====THE NUMBER OF ORACLE BGPROCESS====">>$CLOG
echo $v_crit_process>>$CLOG
echo " ">>$CLOG
echo "============== CRITAL REPORT END ==============">>$CLOG
 
 
if [ $v_lsnr -lt 1 ]
then
cat /dev/null > $MRESULT
tail -12 $CLOG>$MRESULT
$MAIL_TOOL -s "IMPORTANT! MYDAB02 LSNR DOWN!" -c $CC_MAIL $TO_MAIL
< $ MRESULT
else
echo " ok "
fi
 
if [ $ v_process1521 -lt 10 ]
then
cat / dev / null > $MRESULT
tail -12 $CLOG>$MRESULT
$MAIL_TOOL -s "IMPORTANT! MYDAB02 PORT 1521 DOWN!" -c $CC_MAIL $TO_MAIL
< $ MRESULT
else
echo " ok "
fi
 
 
if [ $ v_crit_process -lt 5 ]
then
cat / dev / null > $MRESULT
tail -12 $CLOG>$MRESULT
$MAIL_TOOL -s "IMPORTANT! MYDAB02 ORACLE DOWN!" -c $CC_MAIL $TO_MAIL
< $ MRESULT
else
echo " OK "
fi
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值