使用monit实现以ssl协议配置告警邮箱

243 阅读1分钟

需求:监听服务器状态,如关闭进行告警

解决:实现思路使用Monit对服务进行监控并配置邮箱进行汇报

安装Monit

yum -y install epel-release

yum -y install monit

修改配置文件

默认在/etc/monitrc路径下

配置告警发送邮箱(默认端口25)

set mailserver smtp.163.com

刷新monit配置

monit reload

原本以为配上用户名及密码就可以成功了,结果查看一直没收到邮件查看日志提示才发现一直在报错

[2022-02-13T21:40:16+0800] error    : Cannot connect to [smtp.163.com]:25 -- Connection timed out

[2022-02-13T21:40:16+0800] error    : Cannot open a connection to the mailserver smtp.163.com:25 -- Operation now in progress

[2022-02-13T21:40:16+0800] error    : Mail: Delivery failed -- no mail server is available

好像是因为使用了阿里云服务器被禁用了25端口的原因?总之改为使用SSL协议进行连接

ssl协议端口号465,结合Monit手册中关于mailserver的配置,之前没有加上using SSL一直提示Resource temporarily unavailable

set mailserver smtp.163.com port 465 username "你的username" password "你的授权码" using SSL{verify:enable}

授权码的获取在网易邮箱开启POP3/SMTP服务时会给出。 另外关于mail-format及收件箱部分配置直接见手册即可。

以nginx服务为例,配置如下:

check  process  nginx  with  pidfile  /usr/local/nginx/logs/nginx.pid

start  program  =  "/usr/bin/systemctl  start  nginx"

  stop  program    =  "/usr/bin/systemctl  stop  nginx"

 if failed host 127.0.0.1 port 80 protocol http then alert

刷新配置文件,顺利收到ALERT