假设我有一个文件,用于跟踪插入计算机的设备的状态。该文件如下所示:
DEVICE_1 = ONLINE
DEVICE_2 = OFFLINE
DEVICE_3 = ONLINE
DEVICE_4 = OFFLINE
如何使用prometheus_clientPython库创建自定义导出器,将刮取该文件中的值?我计划使用Grafana显示时间序列图中的值,这样我就可以看到每个设备的状态如何随时间变化。我需要使用直方图还是仪表?我必须将设备ID及其状态保持在一起。有人能解释一下最好的方法,以便将它们转换为度量标准吗?
这里有两个问题,用于此数据的度量类型,以及如何使用客户端库。
我将实现一个1/0的量表。直方图增加了复杂性,并对观察结果进行采样。它可用于跟踪设备被移除的速率,即设备1在过去60分钟内被移除/插入X次。
在Python导出器应用程序中,解析文件并使用标签为每个设备指定值
g = Gauge('customapp_activedevices', 'Description of gauge')
while True:
file= open("devicefile", "r")
deviceCollection = file.read()
for device in deviceCollection:
if device.status == 'ONLINE':
metricVal = 1
else:
metricVal = 2
g.labels(devicename=device).set(metricVal)
那么你的grafana查询就很简单了,因为这些标签将在你的图中变成不同的系列。还可以在导出程序中设置实例标签,以便grafana仪表板可以处理导出程序的多个实例和多个设备。
我有一个带有prom客户端的node express应用程序,用于监视串行连接并向httpendpoint报告值,串行速度为9600波特,正在通过网络传输一些统计数据。Prometheus实例以1000毫秒的间隔配置作业,以针对该endpoint并获取度量。我希望能够在至少10毫秒的分辨率内看到这个指标,但似乎普罗米修斯图形分辨率不接受小于1秒的分辨率。我应该怎么做才能让普罗米修斯以至少10毫秒的
我正在使用带Spring靴2的SCDF。x metrics和SCDF metrics collector从我的Spring Boot应用程序收集指标。我真的不理解收集器关于聚合度量(aggregateMetrics)数据的逻辑。 当我获取为我的流收集的指标列表时,我只有以开头的指标,因此我只有平均值。我尝试了所有方法来查看其他指标,就像endpoint公开的指标一样。 我想我误解了指标的聚合方式。
我将我的GKE API服务器升级到1.6,并正在将节点升级到1.6,但遇到了一个障碍... 我有一个prometheus服务器(版本1.5.2),运行在一个由Kubernetes部署管理的pod中,其中两个节点运行版本1.5.4Kubelet,一个新节点运行版本1.6。 但普罗米修斯仍然得到401。 更新:就像乔丹所说的kubernetes认证问题。在这里看到新的、更集中的问题;https://s
我已成功启用node_exporter的监控,但JMX_exporter失败 我能够通过Curl为jmx_metricsendpoint获取输出(http://localhost:55555/testsvr2/jmx_exporter/metrics)响应时间不到一秒(我在下面附上了输出),但普罗米修斯显示状态为“DOWN”,并显示消息“context deadline exceed”。 这是我用
我把普罗米修斯和格拉法纳部署到我的集群里。 当我打开仪表板时,我不会获得pod CPU使用情况的数据。 当我检查Prometheus UI时,它显示pods 0/0向上,但是我的集群中有许多pods在运行。
我已经读了3天了,甚至配置了一套容器来测试它们,但我有疑问。 我了解普罗米修斯节点导出器的架构基于: 节点导出器知道如何提取度量。这些在HTTP中公开,例如:9201/metrics Prometheus每隔X秒查询这些HTTPendpoint(节点导出HTTTP)并存储度量。它还为图形/控制台可视化/查询提供了另一个HTTP。 问题1: 假设您希望CPU指标每15秒一次,硬盘指标每5米一次,网络