prometheus 如何给监控的服务器添加别名

prometheus 如何给监控的服务器添加别名

例如我现在用Prometheus + node_exporter 监控多台台服务器
node_exporter的targets是ip+9100
现在想给其中一台服务器添加一个别名,例如“beijing1”
之前尝试过在Prometheus.yml 的node_exporter加上labels,但是这样的话全部的服务器都有别名“beijing1”
而且在grafana的可视化界面内的服务器数量也多出了一倍,于是赶紧改回

就想问一下,如何给这些服务器添加上别名

可以通过在 Prometheues 的配置文件中为每个 target 添加 label 来为服务器添加别名。以下是示例配置:

global:
  scrape_interval:     10s
  evaluation_interval: 10s

scrape_configs:
  - job_name: 'node_exporter'
    metrics_path: '/metrics'
    static_configs:
      - targets:
        - 192.168.1.1:9100
        - 192.168.1.2:9100
        - 192.168.1.3:9100
        labels:
          instance: "beijing1"
        - targets:
        - 192.168.2.4:9100
        - 192.168.2.5:9100
        labels:
          instance: "shanghai1"

在以上配置中,job_namenode_exporter,即监控 node_exporter 的指标。static_configs 中可以定义多个 target,分别对应不同的服务器 IP 地址和端口号,同时也为这些 target 添加了一个名为 instance 的 label,其值分别为 "beijing1""shanghai1"

当 Prometheus 执行抓取时,将会将这些 label 作为时间序列中的 metadata 自动附加到每个采样值上,因此您可以在 Grafana 等其他工具中使用这些别名来可视化时间序列数据。

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 这篇博客: 五、prometheus从node_exporter中收集监控数据并展示中的 或者直接加到prometheus后面,这样的话之后加入的组件不好区分,推荐上面的配置。 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:
    scrape_configs:
      - job_name: 'prometheus'
        static_configs:
          - targets: ['localhost:9090','localhost:9100']
    

    在这里插入图片描述

  • 以下回答来自chatgpt:

    解决方案:

    可以在Prometheus配置文件中为每个服务器单独添加一个job,并为该job的target设置别名。具体步骤如下:

    1. 在Prometheus配置文件(prometheus.yml)中添加一个新的job,命名为“beijing1”(或者任何你想要的别名),例如:
      - job_name: 'beijing1'
        static_configs:
          - targets: ['beijing1-ip:9100']
    

    其中,beijing1-ip为该服务器的IP地址。

    1. 重新启动Prometheus服务器,使其加载新的配置文件。

    2. 在Grafana中添加新的数据源,并为该数据源命名为“beijing1”。

    3. 在Grafana的Dashboard中添加新的Panel,并选择数据源为“beijing1”。

    这样,就可以单独为某个服务器设置别名,并在Grafana中显示该别名。同时,由于每个服务器都有独立的job,并且每个job只包含一个target,因此不会导致服务器数量翻倍。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^