瀏覽代碼

云存报警

peng 1 年之前
父節點
當前提交
cad9122c5a
共有 1 個文件被更改,包括 18 次插入0 次删除
  1. 18 0
      Controller/CloudStorage.py

+ 18 - 0
Controller/CloudStorage.py

@@ -412,6 +412,24 @@ class CloudStorageView(View):
                 res = {'code': 405, 'msg': 'Not purchased or expired!'}
                 return HttpResponse(json.dumps(res, ensure_ascii=False), content_type="application/json,charset=utf-8")
 
+            # 统计sts请求次数,一小时超过15次进行报警
+            redis_obj = RedisObject()
+            key = 'sts_count_{}'.format(uid)
+            sts_count = redis_obj.get_data(key)
+            if sts_count:
+                sts_count = int(sts_count)
+                if sts_count % 15 == 0:
+                    # 发送邮件
+                    email_content = '{}服务器设备{}请求sts令牌频率过高'.format(CONFIG_INFO, uid)
+                    S3Email().faEmail(email_content, 'servers@ansjer.com')
+                sts_count += 1
+                ttl = redis_obj.get_ttl(key)
+            else:
+                sts_count = 1
+                ttl = 3600
+            redis_obj.set_data(key, sts_count)
+            redis_obj.set_expire(key, ttl)
+
             # 亚马逊 s3 sts
             sts_crd_qs = StsCrdModel.objects.filter(uid=uid, channel=channel).values("addTime", "data")
             if sts_crd_qs.exists():