python监控redis key值,达到一定数目邮件报警

#!/usr/bin/python 
#-*- coding:utf-8 -*-
#
import redis
import smtplib
from email.mime.text import MIMEText

def get_size(keys):
  r = redis.Redis(host='smm-solr01.wisers.com', port=6379)
  size = r.llen(keys)
  a = int(size)
  return(a)

def mail(content):
  email_host = 'test1.com'
  maillist ='liujun@wisers.com,tanxin@wisers.com'
  me = email_host

  msg = MIMEText(content) 
  msg['Subject'] = 'kafka消费数'
  msg['From'] = me 
  msg['To'] = maillist  

  try:
    smtp = smtplib.SMTP('localhost') 
    smtp.sendmail(me, maillist.split(','), msg.as_string())
    smtp.quit()
    print ('email send success.')
  except smtplib.SMTPException:
    print "Error: 无法发送邮件"

a = get_size("TASKS:mFreeWeiboAPITaskList")
print (a)
if a > 10:
   mail('TASKS:mFreeWeiboAPITaskList size 超过500')
else:
  pass

 

posted @ 2018-04-12 14:58  cornerxin  阅读(1159)  评论(0)    收藏  举报