Prometheus 普罗米修斯合成级数的条件规则

Prometheus 普罗米修斯合成级数的条件规则,prometheus,grafana,prometheus-node-exporter,Prometheus,Grafana,Prometheus Node Exporter,我想从节点导出器获取时间序列向量节点\内存\内存可用\字节。 它在RHEL7上运行良好,但在RHEL6上没有此数据,因为在旧内核的/proc/meminfo中没有此数据 所以没问题,普罗米修斯给了我通过规则计算时间序列向量的可能性 我想求节点\内存\内存空闲\字节+节点\内存\缓冲\字节+节点\内存\缓存\字节之和。 (这可能不准确,但在大多数情况下似乎很好) 我在Prometheus主配置文件中创建了这样的字符串 rule_files: - 'prometheus.rules.yml'

我想从节点导出器获取时间序列向量节点\内存\内存可用\字节。 它在RHEL7上运行良好,但在RHEL6上没有此数据,因为在旧内核的/proc/meminfo中没有此数据

所以没问题,普罗米修斯给了我通过规则计算时间序列向量的可能性

我想求节点\内存\内存空闲\字节+节点\内存\缓冲\字节+节点\内存\缓存\字节之和。 (这可能不准确,但在大多数情况下似乎很好)

我在Prometheus主配置文件中创建了这样的字符串

rule_files:
   - 'prometheus.rules.yml'
以及这样的文件prometheus.rules.yml:

groups:
- name: node_memory_MemAvailable_bytes for RHEL6
  rules:
  - record: node_memory_MemAvailableRH6_bytes
    expr: node_memory_MemFree_bytes + node_memory_Buffers_bytes + node_memory_Cached_bytes
    labels:
      sumof: FreeBuffersCached
新的时间序列节点_memory _memavailabler出现了6个字节

但是。。。它也出现在RHEL7主机上

我不知道该怎么处理

是否可以仅在缺少节点\内存\内存可用\字节的情况下应用我的规则

只有在缺少节点内存可用字节时,才可以要求Grafana绘制节点内存可用字节数为6字节的图形吗

PS/ 我不想按照普罗米修斯规则一个字节一个字节地重写node\u memory\u MemAvailable\u字节,因为我的总和不准确。

新的一天,新的大脑。。。 这似乎使我想要:

- name: node_memory_MemAvailable_bytes absent for old kernels
  rules:
  - record: node_memory_MemAvailable_bytes
    expr: node_memory_MemAvailable_bytes or ( node_memory_MemFree_bytes + node_memory_Buffers_bytes + node_memory_Cached_bytes )
如果存在节点\内存\内存可用\字节,则规则自己重写该节点\内存\可用\字节

或者,如果节点\内存\内存可用\字节不存在,则由sum创建