diff --git a/daily_report/get_grafana.py b/daily_report/get_grafana.py new file mode 100644 index 0000000..f6f5dde --- /dev/null +++ b/daily_report/get_grafana.py @@ -0,0 +1,66 @@ +# -*- coding: utf-8 -*- +import requests +import pdb +# Head = {"Accept": "application/json", +# "Authorization": "Bearer eyJrIjoiczVHc2lpWkw1a2Jsb0RxeXNKaEhPczQ3QzNtSUtRNHIiLCJuIjoibWlsZXMiLCJpZCI6MX0="} +# url = "http://grafana.kingsome.cn/d/oN5uGwEik/kingsomeren-shu-qu-xian?orgId=1&from=1572226084591&to=1572247684591" + +import os, stat +import urllib.request +from datetime import datetime, date, time, timedelta +import time as Time + + +# 获取七日前0点与今日0点的时间戳 +def last_seven_day(): + midnight = datetime.combine(date.today(), time.min) + yesterday_mid = midnight - timedelta(days=7) # 想要此前几天的,就改这个参数 + epoch = datetime.utcfromtimestamp(0) + midnight = midnight - timedelta(seconds=1) + midnight = int((midnight - epoch).total_seconds() * 1000.0) + yesterday_mid = int((yesterday_mid - epoch).total_seconds() * 1000.0) + return str(yesterday_mid), str(midnight) + + +# 下载指定的dashboard +def download_db(): + # 组装url,跑代码之前现在浏览器试试 + dbuid = "p5aRo00Wz" + # dbuid = "mI5F3QnWk" + grafana_server = "https://grafana-test.kingsome.cn" + # grafana_server = "http://grafana.kingsome.cn" + # url = f"""{grafana_server}/render/d/{dbuid}?from{last_seven_day()[0]}&to={last_seven_day()[ + # 1]}&&var-datasource=xxx&width=1500&height=700&tz=UTC%2B08%3A00""" + url="http://grafana.kingsome.cn/render/d-solo/hzR9LcoZk/taptappai-ming-fen-xi?orgId=1&from=1572413361151&to=1572434961151&var-gameid=10056&var-date=All&var-catename=download&panelId=2&width=1000&height=1500&tz=Asia%2FShanghai" + # url="http://grafana.kingsome.cn/d/e2zRV1emk/shu-ju-yan-shi?orgId=1&from=1571715151698&to=1572319951698&var-name=All&var-date=All" + + # header = {"Accept": "application/json", "Content-Type": "application/json", + # "Authorization": "Bearer eyJrIjoiczVHc2lpWkw1a2Jsb0RxeXNKaEhPczQ3QzNtSUtRNHIiLCJuIjoibWlsZXMiLCJpZCI6MX0="} + keys="eyJrIjoiczVHc2lpWkw1a2Jsb0RxeXNKaEhPczQ3QzNtSUtRNHIiLCJuIjoibWlsZXMiLCJpZCI6MX0=" + #keys = "eyJrIjoiWGFFMXp4YTlaODFHUFpVQmxBcHVDWUZNSUFvb2doNDEiLCJuIjoidGVzdCIsImlkIjoyfQ==" + header = {"Accept": "application/json", "Content-Type": "application/json", "Authorization": f"Bearer {keys}"} + print(url) + request = urllib.request.Request(url, headers=header) + #pdb.set_trace() + try: + # 访问并下载面板图 + response = urllib.request.urlopen(request) + time_now = int(Time.time()) + time_local = Time.localtime(time_now) + dt = Time.strftime("%Y-%m-%d", time_local) + img_name = f"img{dt}.png" + + filename = img_name + # print(response.getcode()) + if (int(response.getcode()) == 200): + with open(filename, "wb") as f: + f.write(response.read()) + return filename + else: + return "failed" + except: + return "failed" + + +if __name__ == "__main__": + download_db() diff --git a/daily_report/templates/index.html b/daily_report/templates/index.html new file mode 100644 index 0000000..ec2e894 --- /dev/null +++ b/daily_report/templates/index.html @@ -0,0 +1,9 @@ + + +
+