Tomcat监控系列——发送邮件

上篇中有提到要实现发送邮件功能,且发送邮件是当监控软件发现异常时调用restartServer.bat文件来执行指定命令而实现的发送操作。在选择实现时该功能时我首先想到了命令行发邮件的一个不错的工具Blat,使用该工具实现发邮件非常简单,现做简要介绍。

一、实现blat发送邮件

下载blat可以去官网:http://www.blat.net/  当然你也可以去网上百度下,也会有大把下载资源。

下载之后解压找到如下图几个文件,把它们放到C:\WINDOWS\system32下面,这样做为了方便通过命令行直接调用。

放到指定路径后打开一个命令行窗口,输入blat会输出如下信息,说明blat可以使用了。

下面就使用blat来发邮件了,首先是一个批处理:

sendmail.bat:

@echo off
:::::::::::::: 参数设置::::::::::::::
set [email protected]【发送方地址】
set user=test【发送方账号】
set pass=testpwd【发送方密码】
set tf=mail_list.txt【收件人列表】
set subj=这是邮件标题哈【邮件标题】
set mail=mail_body.txt【邮件内容】
set attach=c:\sendmail\fj.txt【邮件附件】
set server=smtp.163.com【发送服务器】
set debug=-debug -log blat.log -timestamp【日志】
::::::::::::::: 执行blat :::::::::::::::
blat %mail% -tf %tf% -base64 -charset UTF8 -subject %subj% -attach "%attach%" -server %
server% -f %from% -u %user% -pw %pass% %debug%

mail_list.txt:

[email protected]
[email protected]

mail_body.txt:

This email come from [email protected],Congratulations!

fj.txt:

i am fj!  测试中文

注意事项:1、使用的邮箱要支持smtp,像163默认是没有开启smtp的,需要去配置中开启下。

2、发送方地址和发送方账号注意区分开来,发送方账号一定不要带形如:“@163.com“的后缀,否则将报登录失败的错误。

3、上面的邮箱地址密码都是我随意写的,实际使用时请使用正确的邮箱和密码等信息。

完成以上信息的配置后双击sendmail.bat,如果没有报出错误信息,那就可以看下你的收件箱了,应该已收到刚才发送的邮件了。

二、用VBS脚本发送邮件

现在通过blat发邮件是没问题的,但测试时发现通过上文介绍的Tomcatmoni监控助手无法调用sendmail.bat这个文件,调用后不能正常执行,但如果把这个bat文件换成其它命令就可以正常执行。后来尝试了好久还是没能实现通过TomcatMoni监控助手调用sendmail.bat正常发送邮件。但自己手动双击sendmail.bat确实可以发送邮件。于是又找到了接下来要介绍的第二种发送邮件的方式,通过vbs脚本来发送,样例如下:

sendmail.vbs

NameSpace = "http://schemas.microsoft.com/cdo/configuration/"
set Email = CreateObject("CDO.Message")
Email.From = "[email protected]" 【发送方地址】
Email.To = "[email protected]" 【接收方地址】
Email.Subject = "这是邮件标题"【邮件标题】
x="C:\TomcatMonitor\sendmail\mail_body.txt" 【邮件正文】
y="C:\TomcatMonitor\sendmail\fj.txt"【附件】
Set fso=CreateObject("Scripting.FileSystemObject")
Set myfile=fso.OpenTextFile(x,1,Ture)
c=myfile.readall
myfile.Close
Email.Textbody = c
Email.AddAttachment y
with Email.Configuration.Fields
.Item(NameSpace&"sendusing") = 2
.Item(NameSpace&"smtpserver") = "smtp.163.com"【邮件服务器地址】
.Item(NameSpace&"smtpserverport") = 25
.Item(NameSpace&"smtpauthenticate") = 1
.Item(NameSpace&"sendusername") = "sendtest" 【发送方账号】
.Item(NameSpace&"sendpassword") = ""sendtestpwd" 【密码】
.Update
end with
Email.Send
Set Email=Nothing

双击该vbs脚本可以直接发送邮件,在批处理中调用的样例如下:

restartServer.bat:

@rem 这里可以写您自己需要执行的命令

@rem 重启tomcat的命令

@rem 发出邮件通知
wscript C:\TomcatMonitor\sendmail\sendmail.vbs

修改TomcatMoni监控助手的conf.properties文件,把服务器异常时调用的启动命令设置为该批处理文件,当服务器异常时你就可以收到邮件了。当然如果你的邮箱开通了邮件通知服务(如:139邮箱)就可以实时收到短信通知了。

好了,今天就先介绍到这里,后续会继续完善其它需求。

声明:本人是兼职做服务器维护这块工作,非专业人员,如有描述不当之处,欢迎留言指出,砖神们请轻拍哦。

时间: 2024-11-09 00:54:55

Tomcat监控系列——发送邮件的相关文章

Tomcat监控系列——监控工具介绍

最近公司windows服务器刚做完Nginx+tomcat的负载均衡处理,下一步想实现对后台服务软件tomcat和nginx服务的监控.此处我们想实现的不是对性能等各项指标的监控,而是服务能否正常访问,若出现异常希望能重启服务,重启后最好能再向指定邮箱发一邮件(若该邮箱开通了来往邮件通知服务,则可以实现实时短信通知了).临近年末不是特别忙,有些闲暇时间,计划把自己实现该需求的过程记录下来,给同行们一个参考. 本篇先对选择的监控工具做下简要介绍,后续会逐步实现其它需求.在选定使用的软件前从网上查了

tomcat监控脚本(监控进程,测试接口,告警动作为发送邮件)

服务器环境:centos7.2 64位 tomcat8.5.6 tomcat 监控功能共需要两个脚本,如下: initMonitor.sh #!/bin/sh #初始化监控脚本相关变量 export tomcat_name=apache-tomcat-8.5.6 export tomcat_home=/usr/local/apache-tomcat-8.5.6 #测试接口访问地址 export webUrl=127.0.0.1:8080/yanglao/sysUserController/sys

【转】apache kafka监控系列-KafkaOffsetMonitor

apache kafka监控系列-KafkaOffsetMonitor 时间 2014-05-27 18:15:01  CSDN博客 原文  http://blog.csdn.net/lizhitao/article/details/27199863 主题 Apache Kafka apache kafka中国社区QQ群:162272557 概览 最近kafka server消息服务上线了,基于jmx指标参数也写到zabbix中了,但总觉得缺少点什么东西,可视化可操作的界面.zabbix中数据比

apache kafka监控系列-KafkaOffsetMonitor(转)

原文链接:apache kafka监控系列-KafkaOffsetMonitor 概览 最 近kafka server消息服务上线了,基于jmx指标参数也写到zabbix中了,但总觉得缺少点什么东西,可视化可操作的界面.zabbix中数据比较分散,不 能集中看整个集群情况.或者一个cluster中broker列表,自己写web-console比较耗时耗力,用原型工具画了一些管理界面东西,关键自 己也不前端方面技术,这方面比较薄弱.这不开源社区提供了kafka的web管理平台KafkaOffset

Linux性能优化和监控系列(一)——top工具

解释服务器发生了什么——top工具 在检查服务器的详细工作性能状态前,系统管理员需要对当前服务器状态有总体的了解. top是检查服务器总体状态的强有力工具, 通过top可以获取CPU, Memory, Process运行信息, 如下是运行top命令后的数据显示: top - 20:08:09 up 10 min,  1 user,  load average: 0.00, 0.02, 0.01 Tasks: 104 total,  1 running, 103 sleeping,  0 stop

【 Zabbix 】— Tomcat监控及故障重启服务

一.监控tomcat原理 zabbix_server开启java poller,zabbix_java开启JavaGateway, 端口为:10052,tomcat JMX开启12345提供性能数据. 数据获取:java poller --> JavaGateway:10052 --> Tomcat:12345 二.安装tomcat tomcat的安装,网上很多教程. 三.配置Tomcat JMX 需要编辑tomcat下/bin/catalina.sh,加入配置: [[email protec

Tomcat 监控的几种方法

Tomcat 监控方法 方法1:.使用tomcat自带的status页 具体方法: 步骤1:修改%tomcat安装路径%\conf \tomcat-users文件,配置admin设置权限.在<tomcat-users>中增加部分内容.具体如下: <role rolename="manager-gui"/> <user username=“manager" password=“1234" roles="manager-gui&q

cacti添加多个tomcat监控(多端口)

1.修改tomcat的模版 Data Input Methods->Tomcat Status 把原本固定的端口,用户名和密码手动修改成变量(绿线标出的),之后save保存之后,再在Input Fields中添加对应的变量 2.在Console->Data Templates中选择tomcatstats 在custom Data中勾选刚才添加的变量字段,表示这些字段在创建graph时是必填字段 3.这样在创建图形时就会提示输入这些参数 4.对于原本已经添加的tomcat监控,在Console-

tomcat监控与优化

tomcat管理功能的使用,tomcat管理功能这对于tomcat自身及部署在 tomcat上的应用进行管理的web应用,在默认时关闭的,用以下方法开启[[email protected] ~]# cat /usr/local/tomcat8/conf/tomcat-users.xml <role rolename="manager-gui"/><role rolename="admin-gui"/><user username=&qu