linux_mailx实现邮件报警基础--实测

本文为整理原创,转载请注明出处

学习心得

1.解除思想的禁锢,学习找方法

2.不要把简单问题复杂化

 

考虑到实现服务的高可用性。使用电子邮件通知服务,可以快速的通知维护人员。提高服务的可靠性。

这里是在本机监控服务器实验。是不太严谨的。理由如下

   1.1如果只是监控的某个服务故障,本机发送告警邮件可以实现报警。

   1.2但如果不是服务故障,而是宕机,那么就不能正常发送邮件来监控了。

所以,通常情况下,还是需要专门的监控服务器来监控服务器状态,然后发送告警邮件。那么为什么做该实验呢?如果简单的环境下,可以通过这种方式来实现简单的监控。

如:监控本机的磁盘、CPU、内存使用率。超限报警

如果服务器宕机,也可以通过写定时任务,做正常状态报警,如一个小时报一次状态信息。如没有收到定时发送的邮件,则说明服务器异常。

 

实验过程:

1.查看mail命令,如果没有,先安装

#yum -y install mailx

2.编辑mail配置文件。

   2.1#vi /etc/mail.rc

   2.2添加如下内容到mail.rc配置文件

set from=ABCD@126.com             #sender  邮件发送者地址  

set smtp=smtp.126.com                  # 邮件发送服务器

set smtp-auth-user=ABCD@126.com     #邮件发送者账号,同set from一样   

set smtp-auth-password=PASSWORD     #(这里等号填写的是126邮箱的客户端授权密码)

set smtp-auth=login                      # (登录方式)

3.测试发送邮件

#echo "hello,world"|mailx -v -s "test"  DCBA@qq.com     #发送一封  主题为 “test” 内容为“hello,world”的邮件给DBCA@qq.com

报错如下:报550错误

 

解决办法:这里需要开通sender的POP3/SMTP服务和IMAP/SMTP服务。这里是使用126邮箱,在设置里直接开通即可,如下。需要先绑定手机号,再设置授权码。按照提示设置即可。注意:授权码不是邮箱密码。

再进行发送邮件就可以。习惯性关闭selinux和firewalld。如有问题,可以优先检查这两处内容

扩展:

4.实例脚本。监控磁盘空间容量。如下

#!/bin/bash

rate=$(df -h | grep "/dev/sda1" | awk '{print $5}' | cut -d "%" -f1)

if [ $rate -ge 20 ];then

   echo "硬盘容量报警,请注意磁盘使用情况。"|mailx -v -s "警告"  ABCD@qq.com

fi

学习是为了更好的改变,总结是为了更快的学习。让家人过上更好的生活,努力吧,骚年!!!

 

posted @ 2019-04-02 14:34  小富则安  阅读(653)  评论(0编辑  收藏  举报