网站首页 > 博客文章 正文
做运维的同学经常会收到告警邮件,那个邮件是通过监控软件进行发送,比如常见的zabbix
今天我们利用mailx 通过脚本监控服务并自动发送告警邮件
mailx是什么?
mailx是一个小型的邮件发送客户端,就像Foxmail一样
实验环境:CentOS7
监控的服务:Tomcat
实验目标:当本机的Tomcat服务挂掉时,向管理员邮箱发送告警邮件。若服务一直没有启动,每30s发送一次邮件
准备:国内的邮箱地址。163、qq、或公司的邮箱都行
第一步:安装mailx
[root@localhost ~]# yum -y install mailx
第二步:编辑配置文件/etc/mail.rc
把下面内添加到/etc/mail.rc的最后
set from=ws******3@163.com #填写你自己的邮箱地址
set smtp=smtp.163.com #如果是qq的就是
smtp=smtp.163.com
set smtp-auth-user=ws******3@163.com #填写你自己的邮箱地址
set smtp-auth-password=HWPI********KGM #填写邮箱授权码 set smtp-auth=login
配置说明:
- from: 对方收到邮件时显示的发件人
- smtp :指定第三方发邮件的smtp服务器地址(如qq,163,也可是公司的邮件服务器)
- set smtp-auth-user: 邮件账号的用户名
- set smtp-auth-password: 邮件账号的密码,有些邮箱填授权码
- smtp-auth: SMTP 的认证方式,默认是login
如何获得授权码
163邮箱获取授权码方式如下:
QQ邮箱获取授权码方式如下:
第三步:编写脚本监控Tomcat的脚本 check_tomcat.sh
#!/bin/bash
title=\"Warning!\"
Myemail=6********8@qq.com #填写你自己的接收邮件的邮箱地址
while true
do
sleep 1 #每隔1s检测一下Tomcat服务状态
netstat -tpln|grep 8080 > /dev/null
if [[ $? -eq 0 ]]
then
echo "tomcat keepalived" > /dev/null
else
echo "Tomcat is Down"|mail -s $title $Myemail >/dev/null
sleep 30 #若服务没恢复,每隔30s发送一次邮件
fi
done
补充:
可以在脚本中添加IP,一眼看出是哪台机器的服务挂掉了。也可以多添加几个接收告警的邮箱,然后用个for循环,依次给每个邮箱发一个告警。这样就可以让脚本更健壮。这里就不写了
备注:
给脚本check_tomcat.sh 执行权限然后在后台运行持续监控服务
[root@localhost ~]# nohup ./check_tomcat.sh &
看一下实际效果
tomcat服务未恢复,隔30s发送一个告警邮件,时间可能没那么精确
总结:以上就是最简单的服务监控,并发送告警邮件的全部部署过程。关键就是/etc/mail.rc文件的配置和脚本的编写。你也可以改一下脚本用来监控其他的服务。
猜你喜欢
- 2024-12-28 微波人体运动检测模块
- 2024-12-28 Pycaret 3.0的RC版本已经发布了,什么重大的改进呢?
- 2024-12-28 前端安全究竟该怎么做?从一个安全漏洞说起......
- 2024-12-28 sqlite wal 分析
- 2024-12-28 网络安全渗透之主机持久化
- 2024-12-28 2022 SUO | PURE-01试验数据再更新,MIBC新辅助免疫治疗添佳绩
- 2024-12-28 号外!号外!二青会惠民项目和场次票价统一定为10元/张
- 2024-12-28 奇怪的磁滞曲线
- 2024-12-28 写金句的终极奥秘
- 2024-12-28 美团外卖特征平台的建设与实践
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- ifneq (61)
- 字符串长度在线 (61)
- googlecloud (64)
- flutterrun (59)
- 系统设计图 (58)
- powershellfor (73)
- messagesource (71)
- plsql64位 (73)
- vueproxytable (64)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- nacos启动失败 (64)
- ssh-add (70)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- qcombobox样式表 (68)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)