|
@@ -391,6 +391,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():
|