datacollect/daily_report/get_grafana.py
2019-10-31 15:57:58 +08:00

67 lines
2.9 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# -*- 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()