apache+mod_jk+tomcat服务,偶尔出现由于tomcat出现大量的CLOSE_WAIT连接状态,但是如CLOSE_WAIT连接状态的个数几乎等于tomcat中设置的最大线程个数时,就会导致mod_jk连接不上tomcat。
发送邮件的模块和认证“用python监控java服务脚本(1)”中的就可以了,或者把这两个脚本合并成一个脚本。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 1import os
2
3pipe = os.popen('netstat -anlp | grep CLOSE_WAIT | grep java | wc -l')
4
5try:
6 Close_wait_num = int(pipe.read())
7 if Close_wait_num > 300:
8 msg = MIMEText('Host ip: ' + host + "\r\n" + 'CLOSE_WAIT_NUM: ' + Close_wait_num)
9 msg['Subject'] = 'Java Service CLOSE_WAIT'
10 svr = smtplib.SMTP(mailserver)
11 svr.login(username,password)
12 svr.sendmail(from_addr,to_addr,msg.as_string())
13 svr.close()
14finally:
15 pipe.close()
16
1
2 1
2