数据库的健康监控是个非常重要的工作,重要的指标\KPI监控结果会有专门的采集、监控、告警系统来做相关事情。
而一些不是非常重要的或者还在设计和调试阶段的相关指标,我只是想发送到我自己邮箱,本文就针对在Linux服务器上配置邮件发送监控数据的过程说明。
服务器版本为RHEL 6.2:
[pg@linuxidc ~]# cat /etc/issue
Red Hat Enterprise Linux Server release 6.2 (Santiago)
Kernel \r on an \m
停用相关服务器:
[root@linuxidc etc]# service sendmail stop
[root@linuxidc etc]# service postfix stop
[root@linuxidc etc]# service sendmail status
sendmail 已停
sm-client 已停
[root@linuxidc etc]# service postfix status
master 已停
接下来的步骤比较重要,默认情况下服务器使用的SMTP并没办法发送邮件到企业组织内部邮箱,对此需要配置企业组织的邮箱信息:
[root@linuxidc etc]# tail /etc/mail.rc
# For Linux and BSD, this should be set.
set bsdcompat
set from=[发送人邮箱地址]
set smtp=[smtp服务器地址]
set smtp-auth-user=[邮箱用户名]
set smtp-auth-password=[邮箱密码]
set smtp-auth=login
手工测试发送邮件:
[root@linuxidc etc]# echo hello world |mail -s "test" linuxidc@linuxidc.com
[root@linuxidc etc]# python dbcheck.py >dbcheck.txt;cat dbcheck.txt|mail -s dbcheck linuxidc@linuxidc.com
[root@linuxidc etc]# python dbcheck.py >dbcheck.txt;mail -s dbcheck linuxidc@linuxidc.com<dhcheck.txt
[root@linuxidc etc]# python dbcheck.py|mail -s dbcheck linuxidc@linuxidc.com
发送邮件shell脚本:
[pg@linuxidc]$ cat /home/pg/PycharmProjects/dbcheck.sh
#!/bin/sh
. /etc/profile
. ~/.bash_profile
python /home/pg/PycharmProjects/dbcheck.py|mail -s "dbcheck `date +%F' '%T`" linuxidc@linuxidc.com
设置定时调度任务,CRON调用shell脚本:
[pg@linuxidc]$ crontab -l
*/1 * * * * sh /home/pg/PycharmProjects/dbcheck.sh 1>>/home/pg/check.log 2>&1
-EOF-