本文为整理原创,转载请注明出处
学习心得
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
学习是为了更好的改变,总结是为了更快的学习。让家人过上更好的生活,努力吧,骚年!!!