Prometheus-監控ICMP/TCP一:安裝與配置

使用Prometheus+grafana+blackbox監控ICMP

安裝proemtheus

1.下載prometheus-2.13.0.linux-386.tar.gz

mkdir /data/prometheus
cd /data/prometheus
wget https://github.com/prometheus/prometheus/releases/download/v2.13.0/prometheus-2.13.0.linux-386.tar.gz
tar xf prometheus-2.13.0.linux-386.tar.gz 
mv prometheus-2.13.0.linux-386 prometheus

安裝blackbox-exporter模塊,來進行icmp+http+ssl監控

blackbox_exporter 是 Prometheus 官方提供的 exporter之一,可以提供 http、dns、tcp、icmp(ping)的監控數據採集。

1.下載blackbox-export二進制文件

cd /data/prometheus/
wget https://github.com/prometheus/blackbox_exporter/releases/download/v0.15.1/blackbox_exporter-0.15.1.linux-amd64.tar.gz
tar xf blackbox_exporter-0.15.1.linux-amd64.tar.gz
mv blackbox_exporter-0.15.1.linux-amd64.tar.gz blackbox_ecporter

安裝Grafana,來圖形化顯示數據

Grafana 是開源的,功能齊全的度量儀表盤和圖形編輯器,支持 Graphite,OpenTSDB,Elasticsearch,Cloudwatch,Prometheus,InfluxDB,小米監控
等。
Grafana的默認端口是:3000
使用yum進行安裝

yum install initscripts urw-fonts
yum -y install grafana
systemctl daemon-reload
systemctl start grafana-servcer.service
systemctl enable grafana-server.service

安裝完成後,默認的用戶名和登陸密碼都是:admin/admin

修改相關配置文件

ICMP: 配置文件修改

cd /data/prometheus
vim /prometheus/prometheus.yml
    # 全局配置選項
    global:
      scrape_interval:     5s 
      evaluation_interval: 3s 

    # 配置告警方式
    alerting:
      alertmanagers:
      - static_configs:
        - targets:
          # - alertmanager:9093

    # 指定告警規則
    rule_files:
      # - "first_rules.yml"
      # - "second_rules.yml"


    # 配置被監控端,就是配置我們需要監控點額東西
    scrape_configs:

      # 指定job的名稱
      - job_name: 'prometheus'
        scrape_interval: 3s
        metrics_path: '/api/v1/prometheus/metrics'
        static_configs:
        - targets: ['192.168.50.222:9090']


## 下面的內容是需要新添加到配置文件裏面,主要用於測試服務器的連通性
      - job_name: 'ping_all'
        scrape_interval: 3s
        metrics_path: /metrics
        params:
          module: [icmp] #ping
        static_configs:
          - targets: ['ipaddress'] 
            labels:
              group: '電信泉州'
        relabel_configs:
          - source_labels: [__address__]
            regex: (.*)(:80)?
            target_label: __param_target
            replacement: ${1}
          - source_labels: [__param_target]
            regex: (.*)
            target_label: ping
            replacement: ${1}
          - source_labels: []
            regex: .*
            target_label: __address__
            replacement: 192.168.50.222:9115

    # 上面的91155是blackbox程序的啓動端口

TCP: 配置文件修改

scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
    
  - job_name: '本地 --> QingDao'
    scrape_interval: 15s
    metrics_path: /probe
    params:
      module: [tcp_connect]
    static_configs:
      - targets: ['ipaddress:port']
       labels:
          group: 'QingDao-server'
    relabel_configs:
      - source_labels: [__address__]
        #regex: (.*)(:80)?
        target_label: __param_target
       #replacement: ${1}
      - source_labels: [__param_target]
        #regex: (.*)
        target_label: instance
        #replacement: ${1}
      - source_labels: []
        #regex: .*
        target_label: __address__
        replacement: 192.168.50.222:9115
# 上面的91155是blackbox程序的啓動端口
    
    
  - job_name: '東莞移動 --> HongKong'
    scrape_interval: 15s
    metrics_path: /probe
    params:
      module: [tcp_connect]
    static_configs:
      - targets:
          - ipaddress:port
          - ipaddress:port
          - ipaddress:port
        labels:
          group: 'HongKong-server'
    relabel_configs:
      - source_labels: [__address__]
       #regex: (.*)(:80)?
        target_label: __param_target
        #replacement: ${1}
      - source_labels: [__param_target]
        #regex: (.*)
        target_label: instance
        #replacement: ${1}
      - source_labels: []
        #regex: (.*)
        target_label: instance
        #replacement: ${1}
      - source_labels: []
        #regex: .*
        target_label: __address__
        replacement: xxx.xxx.xxx.xxx:9115

啓動服務

systemctl restart grafana-server.service
/root/
/data/prometheus/blackbox_exporter/blackbox_exporter --config.file=/data/prometheus/blackbox_exporter/blackbox.yml &
/data/prometheus/prometheus --config.file=/data/prometheus/prometheus.yml   &

驗證是否正常啓用

http://192.168.50.222:9090/tages

相關web後臺操作可視化圖形見下一篇文章

錯誤如何在Prometheus中修復’\“ INVALID \”不是有效的開始令牌”

在http://192.168.50.222:9090/targets發現不是最初始令牌
解決方法
在配置文件裏面將下面的設置爲默認的metrics

metrics_path: /metrics

在prometheus, version 2.12.0中使用icmp進行ping測的時候,可以使用下面的語法:

static_configs:
      - targets: ['ipaddress', 'ipaddress', 'ipaddress']
        labels:
          group: '電信泉州'
    relabel_configs:
      - source_labels: [__address__]
        regex: (.*)(:80)?
        target_label: __param_target
        replacement: ${1}
      - source_labels: [__param_target]
        regex: (.*)
        target_label: ping
        replacement: ${1}
      - source_labels: []
        regex: .*
        target_label: __address__
        replacement: 192.168.50.222:9115

在## 需要注意的是:建議使用static_configs格式。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章