logo NodeSeekbeta

◾️ BBxPing 面板 - 在 Grafana 上点亮地球 / Blackbox Exporter & Prometheus

  • @innoletion #40

    其实这里面的 label 大部分都是代号,除了已经说明需要按格式填写的 label,像是 isp、name、city 这样的只需要写自己喜欢的就可以(开玩笑说,isp 可以写成"中国移不动",只要你觉得有趣)

    anycast 的话,我已经在 #1 底部写出模版了

    prometheus.yml 要改啥?

  • 老哥您好,其实我有点没理解您在#1楼写的教程

    主要问题是这样的

    • 关于ISP

      • 您提到本国 IP 这一点中

        • 我再/etc/prometheus/blackbox目录下创建了PEK-CM.yml这样的配置文件后

        • 填写了这样的配置文件

              - targets:
                  - bj-cm-v4.ip.zstaticcdn.com:80
                labels:
                  name: 'PEK-CM'
                  code: 'PEK'
                  city: 'Beijing'
                  isp: 'China Mobile'
                  ip: 'IPv4'
                  domestic: 'true'
          

          我不需要在prometheus.yml文件中写对应的配置文件让vps去ping这个isp站点嘛?我这样运行后发现面板中的isp并没有可供选择的内容,所以才想问您prometheus.yml文件是否需要修改或者怎么去修改。

    • 关于Anycast

      • 其实anycast也是这样的。

      • 我是按照您给的模板写的cloudflare的地址 写在了/etc/promethemus/blackbox目录下

            - targets:
                - 1.1.1.1
              labels:
                name: 'CLOUDFLARE'
                code: 'ANYCAST'
                ip: 'IPv4'
        
            - targets:
                - 2606:4700:4700::1111
              labels:
                name: 'CLOUDFLARE'
                code: 'ANYCAST'
                ip: 'IPv6'
        
        

        但后面的工作我也其实有点没有头绪,不知道是不是要像vps那样写一个job

          - job_name: "ANYCAST"
            metrics_path: "/probe"
            params:
              module: [icmp]
            file_sd_configs:
              - files:
                  - "/etc/prometheus/blackbox/anycast.yml"
            relabel_configs:
              - source_labels: [__address__]
                target_label: __param_target
              - source_labels: [__param_target]
                target_label: instance
              - target_label: __address__
                replacement: 1.1.1.1:80
        

        @Bene #41

  • @innoletion #42

    好漂亮的回复!👏🏼👏🏼

    1️⃣ 首先我们可以确定一点:target 不需要单独写 job,因为 target 层级更低
    正常的 Blackbox Exporter job 写法是:

      - job_name: VPS1 name
        metrics_path: /probe
        static_configs:
        - targets:      
          - "1.1.1.1"
          - "9.9.9.9"
          - "8.8.8.8"
        relabel_configs:
    	(省略)
    

    为了管理方便,我建议了用 file_sd_configs 的方式为每个 job 都实时载入同一份内容,也就是把 - targets:(省略) 替换成 file_sd_configs

    一份 file 里可以包含很多 targets,多份文件也只是为了分类,前提是一定要在每个 job 里面定义清楚

    按照您给出的例子,就是

    	file_sd_configs:
    	  - files:
    	  	 - "/etc/prometheus/blackbox/PEK-CM.yml"
    	  	 - "/etc/prometheus/blackbox/anycast.yml"
    

    当然我建议直接用"/etc/prometheus/blackbox/*.yml" 这样的通配符直接包含所有文件

    2️⃣ 前面提到 ISP 不显示的问题,我觉得是因为您没有把 PEK-CM.yml 写进 job 里

    3️⃣ 再补充一下,job 最底下只能填 exporter 的端口

  • @Bene #43 谢谢大佬指点 已经明白了 谢谢您了

  • 先收藏

  • 感谢分享 xhj003

  • 期待更新

  • 现在的这个外观已经很漂亮了,如果能增加以下几点更完美:
    1.支持改为公开面板,这样就具备了一些 nezha 的功能
    2.支持 tcping

  • @heroixinu #48

    Gen2 已经完工了,外观相比于第一代相当于重做,但我特别开心自己弄出来了,也特别满意^ ^

    1. Grafana 本来就支持公开面板
    2. Blackbox 有 TCP Ping 模式,可以尝试自行切换,target 应该也需要换 / 我太累了,所以 2024 年不会尝试 TCP Ping,你很感兴趣的话,如果可以自己搜索并摸索怎么切换就太好了^ ^
  • @Bene #49 我尝试把面板改为公共状态,提示
    模板变量不受支持
    此公共仪表板可能无法工作,因为其使用了模板变量

你好啊,陌生人!

我的朋友,看起来你是新来的,如果想参与到讨论中,点击下面的按钮!

📈用户数目📈

目前论坛共有72280位seeker

🎉欢迎新用户🎉