| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136 |
- from qcloudsms_py import SmsSingleSender
- from qcloudsms_py.httpclient import HTTPError
- from qcloudsms_py import SmsMultiSender
- import os
- import sys
- BASE_DIR = os.path.dirname(os.path.abspath(__file__)) # 定位到你的django根目录
- sys.path.append(os.path.abspath(os.path.join(BASE_DIR, os.pardir)))
- # 引入django配置文件
- os.environ.setdefault("DJANGO_SETTINGS_MODULE", "yfwlw_pro.settings") # 你的django的settings文件
- import django
- # os.environ.setdefault("DJANGO_SETTINGS_MODULE",
- # "yfwlw_pro.settings") # project_name 项目名称
- django.setup()
- import json
- import time
- import requests
- import datetime
- from apps.ReportManage.all_dict import mobile_list, insect_dict_new, qxz_dict
- from apps.AppInfoManage.models import Equip, Equip_type, CBDphoto, Msg_Send, Msg_Conf, Equip_SimInfo, SCDstatus, CBDstatus, RecentCBDdata, MyUser,JKphoto, BZYdata, QXZstatus,QXZdata,\
- QXZstatus_New, QXZ_Conf, QXZ_Default_Conf, MyUser, JKphoto, BZYphoto, QXZdata_New, Group
- from apps.SimInfo.views import get_siminfo
- import paho.mqtt.client as mqtt
- # 短信应用 SDK AppID
- appid = 1400227496 # SDK AppID 以1400开头
- # 短信应用 SDK AppKey
- appkey = "c9aba961bd30072f1e1b9272077abaea"
- from requests.auth import HTTPBasicAuth
- import xlrd, xlwt
- import random
- from django.db import transaction
- import math
- import os
- import urllib.parse
- import urllib.request
- strtmp = os.popen("systemctl status py_ftp_server.service")
- #print(type(strtmp))
- cmdback = strtmp.read()
- # print("----->>",cmdback)
- strtmp1 = os.popen("systemctl status bzy_mqtt.service")
- #print(type(strtmp))
- cmdback1 = strtmp1.read()
- # print("----->>",cmdback)
- strtmp2 = os.popen("systemctl status cbd_mqtt.service")
- #print(type(strtmp))
- cmdback2 = strtmp2.read()
- # print("----->>",cmdback)
- strtmp3 = os.popen("systemctl status scd_mqtt.service")
- #print(type(strtmp))
- cmdback3 = strtmp3.read()
- # print("----->>",cmdback)
- strtmp4 = os.popen("systemctl status ftp_bzy_server.service")
- #print(type(strtmp))
- cmdback4 = strtmp4.read()
- # print("----->>",cmdback)
- strtmp5 = os.popen("systemctl status ybq_photo_collect.service")
- #print(type(strtmp))
- cmdback5 = strtmp5.read()
- # print("cmdback5----->>",cmdback5)
- strtmp6 = os.popen("systemctl status celery.service")
- #print(type(strtmp))
- cmdback6 = strtmp6.read()
- # print("----->>",cmdback)
- def send_alarm(name):
- # 需要发送短信的手机号码
- phone_numbers = ["13733763561","18258845915","15225155092","15538056323"]
- # phone_numbers = ["13733763561","18258845915"]
- # 短信模板ID,需要在短信控制台中申请
- template_id = 579944 # NOTE: 这里的模板 ID`7839`只是示例,真实的模板 ID 需要在短信控制台中申请
- # 签名
- sms_sign = "云飞科技" # NOTE: 签名参数使用的是`签名内容`,而不是`签名ID`。这里的签名"腾讯云"只是示例,真实的签名需要在短信控制台中申请
- msender = SmsMultiSender(appid, appkey)
- params = [name,]
- try:
- result = msender.send_with_param(86, phone_numbers,
- template_id, params, sign=sms_sign, extend="", ext="")
- except HTTPError as e:
- print(e)
- except Exception as e:
- print(e)
- print(result)
- print("----发送成功")
- print("服务异常!!!")
- return
- if "failed" in cmdback:
- print("ftp_cbd异常")
- send_alarm("ftp_cbd")
- if "failed" in cmdback1:
- print("bzy_mqtt异常")
- send_alarm("bzy_mqtt")
- if "failed" in cmdback2:
- print("cbd_mqtt异常")
- send_alarm("cbd_mqtt")
- if "failed" in cmdback3:
- print("scd_mqtt异常")
- send_alarm("scd_mqtt")
- if "failed" in cmdback4:
- print("ftp_bzy异常")
- send_alarm("ftp_bzy")
- if "failed" in cmdback5:
- print("ybq_photo异常")
- send_alarm("ybq_photo")
- if "ERROR" in cmdback6:
- print("celery异常")
- send_alarm("celery")
- print("全部正常!")
|