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实现简单查找最长子串功能示例)
- python把文件上传服务器(Python 实现两个服务器之间文件的上传方法)
- 多个图片拼接python实现(python实现两张图片的像素融合)
- zabbix sender能否发送告警数据(python3实现zabbix告警推送钉钉的示例)
- python编写小程序实现密码验证(python实现扫描ip地址的小程序)
- python里面的time如何用(详解python:time模块用法)
- 如何用python创建单链表(Python3实现的反转单链表算法示例)
- python虚拟环境的使用方法(详解python配置虚拟环境)
- python数值基本运算方法(Python常见数字运算操作实例小结)
- pythonflask怎么设置(python flask安装和命令详解)
- pythonmatplotlib怎么画区域(python matplotlib实现双Y轴的实例)
- python设置微信(利用python实现在微信群刷屏的方法)
- python 队列与列表(Python实现的栈、队列、文件目录遍历操作示例)
- pythonsocket编写web服务器(局域网内python socket实现windows与linux间的消息传送)
- python指定参数教程(详解Python传入参数的几种方法)
- python进程管理教程(Python I/O与进程的详细讲解)
- 靳东新剧《精英律师》定档,众星云集,这剧可追(靳东新剧精英律师定档)
- 精英律师 廖佳敏封印恋情曝光,顾婕马失前蹄 你个老不死的(廖佳敏封印恋情曝光)
- 以家人之名广受好评,剧情生动引起观众共鸣,演员张新成圈粉无数(以家人之名广受好评)
- 三兄妹感情再遇波折,人设接连崩塌 《以家人之名》剧情猜不透(三兄妹感情再遇波折)
- 《小敏家》金波想要复婚 这只是他圈套的第1步,更可恶的在后面(小敏家金波想要复婚)
- 小敏家 剧情离谱一锅乱炖,但他们俩绝对是这部剧的一大 亮点(剧情离谱一锅乱炖)
热门推荐
- python中list怎么用(详解python中list的使用)
- sql server事务回滚(SQL Server 添加Delete操作回滚日志方式)
- mysql触发器怎么添加(MySQL触发器的使用场景及方法实例)
- nginx网站集群(Nginx实现高可用集群构建Keepalived+Haproxy+Nginx)
- mysql数据库事务处理(MySQL数据库事务与锁深入分析)
- 如何查看linq生成的sql
- C#中Dispose、析构函数、close的区别
- web服务器架设和管理(浅谈Web服务器的安装与配置)
- python的os模块操作(Python OS模块实例详解)
- python计算1到10的阶乘的和(python计算阶乘和的方法1!+2!+3!+...+n!)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9