python与气象(使用Python和Prometheus跟踪天气的使用方法)
python与气象
使用Python和Prometheus跟踪天气的使用方法开源监控系统 prometheus 集成了跟踪多种类型的时间序列数据,但如果没有集成你想要的数据,那么很容易构建一个。一个经常使用的例子使用云端提供商的自定义集成,它使用提供商的 api 抓取特定的指标。
创建自定义 prometheus 集成以跟踪最大的云端提供商:地球母亲。
开源监控系统 prometheus 集成了跟踪多种类型的时间序列数据,但如果没有集成你想要的数据,那么很容易构建一个。一个经常使用的例子使用云端提供商的自定义集成,它使用提供商的 api 抓取特定的指标。但是,在这个例子中,我们将与最大云端提供商集成:地球。
幸运的是,美国政府已经测量了天气并为集成提供了一个简单的 api。获取红帽总部下一个小时的天气预报很简单。
|
import requests hourly_red_hat = "<https://api.weather.gov/gridpoints/rah/73,57/forecast/hourly>" def get_temperature(): result = requests.get(hourly_red_hat) return result.json()[ "properties" ][ "periods" ][ 0 ][ "temperature" ] |
现在我们已经完成了与地球的集成,现在是确保 prometheus 能够理解我们想要内容的时候了。我们可以使用 prometheus python 库中的 gauge 创建一个注册项:红帽总部的温度。
|
from prometheus_client import collectorregistry, gauge def prometheus_temperature(num): registry = collectorregistry() g = gauge( "red_hat_temp" , "temperature at red hat hq" , registry = registry) g. set (num) return registry |
最后,我们需要以某种方式将它连接到 prometheus。这有点依赖 prometheus 的网络拓扑:是 prometheus 与我们的服务通信更容易,还是反向更容易。
第一种是通常建议的情况,如果可能的话,我们需要构建一个公开注册入口的 web 服务器,并配置 prometheus 收刮(scrape)它。
我们可以使用 pyramid 构建一个简单的 web 服务器。
这可以使用任何 web 网关接口(wsgi)服务器运行。例如,假设我们将代码放在 earth.py 中,我们可以使用 python -m twisted web --wsgi earth.app 来运行它。
或者,如果我们的代码连接到 prometheus 更容易,我们可以定期将其推送到 prometheus 的推送网关。
|
import time from prometheus_client import push_to_gateway def push_temperature(url): while true: registry = prometheus_temperature(get_temperature()) push_to_gateway(url, "temperature collector" , registry) time.sleep( 60 * 60 ) |
这里的 url 是推送网关的 url。它通常以 :9091 结尾。
祝你构建自定义 prometheus 集成成功,以便跟踪一切!
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持开心学习网。
原文链接:http://developer.51cto.com/art/201905/595900.htm
- 怎样使用python图像处理(Python Image模块基本图像处理操作小结)
- python3中super函数的基本用法(实例讲解Python3中abs函数)
- python2.7中logging的使用方式(Python中使用logging和traceback模块记录日志和跟踪异常)
- 怎么在当前目录调用python库(Python父目录、子目录的相互调用方法)
- python6个基础数据类型(计算机二级python学习教程3 python语言基本数据类型)
- python format的用法(Python中format格式输出全解)
- python读取和写入数据excel(Python向excel中写入数据的方法)
- python如何判断两个数组相同(Python实现的合并两个有序数组算法示例)
- python如何判断是否为回文数(对python判断是否回文数的实例详解)
- python复杂的验证码处理(Python 通过打码平台实现验证码的实现)
- python异常值处理(一篇文章带你弄懂Python异常传递和自定义异常)
- python实现网络爬虫的步骤(Python实现的爬取小说爬虫功能示例)
- python怎么自动刷抖音(python实现抖音点赞功能)
- python本地ocr库(详解Python安装tesserocr遇到的各种问题及解决办法)
- python如何读取文件(Python从文件中读取数据的方法讲解)
- python模块化打包(python使用Paramiko模块实现远程文件拷贝)
- 苹果15价格(苹果15价格512g官网)
- 春节放假几天(春节放假几天2023法定几天)
- 今天 3月13日,31年前,一个英雄少年感动了中国(今天3月13日31年前)
- 你好,新成理人丨成都理工大学2019级新生开学典礼隆重举行(新成理人丨成都理工大学2019级新生开学典礼隆重举行)
- 这部民警编演的红色话剧,讲述了一个不断追寻的故事(这部民警编演的红色话剧)
- 日本菜有什么好吃(日本菜有什么好吃的做法)
热门推荐
- 无法打开物理文件 操作系统错误 5:拒绝访问
- linux系统的pwd命令单词全称(WDCP是什么?Linux服务器管理系统WDCP有什么用?)
- 云服务器怎么免费(有永久免费的云服务器吗?)
- video tv cast怎么用(video下autoplay属性无效的解决方法添加muted属性)
- python str类型怎么转换(Python3中的bytes和str类型详解)
- mysql语句运行顺序(浅谈mysql执行过程以及顺序)
- vue一个组件两种样式(Vue实现动态样式的多种方法汇总)
- python多线程多进程运行场景(Python多线程同步---文件读写控制方法)
- mysql慢日志查询作用(MySQL 慢查询日志的开启与配置)
- 如何设置nginx使用ip访问(nginx基于域名,端口,不同IP的虚拟主机设置的实现)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9