数据库的健康监控是个非常重要的工作,重要的指标\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-