有个定时发送需求, 现在是靠人肉获取.
监控数据汇总在 grafana 上, 想直接爬 url 上去拿, 发现 requests 拿不到数据;
官方的 API 库也没找到相关信息...
爬虫菜鸡, 求指导~
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_argument("--headless")
chrome_options.add_argument('--disable-gpu')
chrome_options.add_argument('--no-sandbox')
url="http://<IP:PORT>/d/SsYvTg6Wk/rights?orgId=1&from=now-1h&to=now"
#url copy from browser chrome
browser=webdriver.Chrome(executable_path="./chromedriver", chrome_options=chrome_options)
browser.header_overrides = {
'Authorization': 'Bearer xxx'
}
browser.implicitly_wait(10)
browser.get(url)
# browser.execute_script("return document.body.innerHTML")
browser.find_element_by_id('flotGagueValue0')
1
SingeeKing 2020-10-31 18:03:08 +08:00
grafana 只是展示,具体的要用数据源的 API,如果非得从 grafana 可以用 Data source proxy calls https://grafana.com/docs/grafana/latest/http_api/data_source/#data-source-proxy-calls
|
2
DAPTX4869 OP @SingeeKing #1 直接从这里获取的话那样就得自己计算了....还是希望从爬虫入手, 看来能要完全模拟浏览器行为才行
|
3
37Y37 2020-10-31 20:17:44 +08:00
建议还是从数据源拿数据,去爬 grafana 页面也有成本,不如一步到位
|
5
threeEggs123 2020-10-31 20:43:30 +08:00 via Android
graphna
|
6
threeEggs123 2020-10-31 20:45:02 +08:00 via Android
@threeEggs123 grafana 只显示,你建 dashboard 的时候看一下 data source 从哪里来的不就好了,是 graphite 还是 ES 还是哪里,直接从对应的 data source 拿不就好了
|
7
DAPTX4869 OP @threeEggs123 #6 elk + zabbix, 数据拿到手还要自己筛选计算的
|
8
threeEggs123 2020-11-01 10:50:44 +08:00 via Android
zabbix 不知道我就不说了。elk 的话,如果你在 grafana 里面建的图表,你在 es-kibana 里面也可以手动建好,然后看看 kibana 里面的 es query 是什么,这不就从 es 里面查出来了。
|
9
EminemW 2020-11-01 11:05:40 +08:00
你拿 grafana 的数据跟拿数据源的数据没什么不同。。
|
10
cszchen 2020-11-01 12:54:31 +08:00 via Android
可以把 grafana 的图表插入自己的网页吧
|
11
vhysug01 2020-11-01 13:10:13 +08:00
如果不要求实际数据,可以拿 selenium 截图发送;定时查看这种,感觉也没有必要精确度特别高
|
13
killva4624 2020-11-02 10:08:19 +08:00
换个思路吧,查询条件或者语句从 Grafana dashboard API 里拿,然后写对应专门的 elk 和 zabbix 接口去取数据。
|
14
ghjacky 2020-11-02 10:26:06 +08:00
grafana 只是个前端渲染。。你得看你们 grafana 的配置,看后端对接的什么数据源,从数据源获取。比如 Prometheus 或者 elasticsearch,都有相应的 SDK 啊
|