Advertisement

y73.第四章 Prometheus大厂监控体系及实战 -- blackbox exporter安装和grafana安装(四)

阅读量:

2.5 blackbox exporter安装

https://prometheus.io/download/#blackbox_exporter

官方提供的blackbox导出器能够支持通过HTTP、HTTPS等多种协议对被监控节点进行实时监控并采集相关数据。

复制代码
    HTTP/HTTPS:URL/API可用性检测
    TCP:端口监听检测
    ICMP:主机存活检测
    DNS:域名解析
    
    
      
      
      
      
    
    AI助手

2.5.1 部署blackbox exporter

复制代码
    root@node1:/apps# wget https://github.com/prometheus/blackbox_exporter/releases/download/v0.20.0/blackbox_exporter-0.20.0.linux-amd64.tar.gz
    
    root@node1:/apps# tar xf blackbox_exporter-0.20.0.linux-amd64.tar.gz 
    root@node1:/apps# ln -sv /apps/blackbox_exporter-0.20.0.linux-amd64 /apps/blackbox_exporter
    '/apps/blackbox_exporter' -> '/apps/blackbox_exporter-0.20.0.linux-amd64'
    
    root@node1:/apps# cd blackbox_exporter
            
    root@node1:/apps/blackbox_exporter# cat blackbox.yml 
    modules:
      http_2xx:
    prober: http
      http_post_2xx:
    prober: http
    http:
      method: POST
      tcp_connect:
    prober: tcp
      pop3s_banner:
    prober: tcp
    tcp:
      query_response:
      - expect: "^+OK"
      tls: true
      tls_config:
        insecure_skip_verify: false
      grpc:
    prober: grpc
    grpc:
      tls: true
      preferred_ip_protocol: "ip4"
      grpc_plain:
    prober: grpc
    grpc:
      tls: false
      service: "service1"
      ssh_banner:
    prober: tcp
    tcp:
      query_response:
      - expect: "^SSH-2.0-"
      - send: "SSH-2.0-blackbox-ssh-check"
      irc_banner:
    prober: tcp
    tcp:
      query_response:
      - send: "NICK prober"
      - send: "USER prober prober prober :prober"
      - expect: "PING :([^ ]+)"
        send: "PONG ${1}"
      - expect: "^:[^ ]+ 001"
      icmp:
    prober: icmp
    
    
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
    
    AI助手

2.5.2 创建blackbox exporter启动文件

复制代码
    root@node1:/apps/blackbox_exporter# vim /etc/systemd/system/blackbox-exporter.service
    [Unit]
    Description=Prometheus Blackbox Exporter
    After=network.target
    
    [Service]
    Type=simple
    User=root
    Group=root
    ExecStart=/apps/blackbox_exporter/blackbox_exporter \
    --config.file=/apps/blackbox_exporter/blackbox.yml \
    --web.listen-address=":9115"
    Restart=on-failure
    
    [Install]
    WantedBy=multi-user.target
    
    
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
    
    AI助手

2.5.3 启动blackbox exporter服务

复制代码
    root@node1:/apps/blackbox_exporter# systemctl enable --now blackbox-exporter
    
    
      
    
    AI助手

2.5.4 访问blackbox exporter web界面

http://172.31.2.181:9115/

在这里插入图片描述

2.5.5 blackbox exporter实现URL监控

prometheus调用blackbox exporter 实现对URL/ICMP监控。

2.5.5.1 URL监控配置
复制代码
    root@prometheus1:/apps/prometheus# vim prometheus.yml 
    ...
    # 网站监控
      - job_name: 'http_status'
    metrics_path: /probe
    params:
      module: [http_2xx]
    static_configs:
      - targets: ['http://www.xiaomi.com', '']
        labels:
          instance: http_status
          group: web
    relabel_configs:
      - source_labels: [__address__] #relabel通过将[__address__(当前目标地址)写入__param_target标签来创建一个label
        target_label: __param_target #监控目标www.xiaomi.com,作为__address__的value
      - source_labels: [__param_target] #监控目标
        target_label: url #将监控目标与url创建一个label
      - target_label: __address__
        replacement: 172.31.2.181:9115
    
    root@prometheus1:/apps/prometheus# ./promtool check config prometheus.yml 
    Checking prometheus.yml
     SUCCESS: prometheus.yml is valid prometheus config file syntax
    
    root@prometheus1:/apps/prometheus# systemctl restart prometheus
    
    
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
    
    AI助手
2.5.5.2 prometheus验证数据
在这里插入图片描述
2.5.5.3 blackbox exporter验证数据
在这里插入图片描述

2.5.6 blackbox exporter实现ICPM监控

2.5.6.1 ICMP监控配置
复制代码
    root@prometheus1:/apps/prometheus# vim prometheus.yml
    ...
    # ICMP检测
      - job_name: 'ping_status'
    metrics_path: /probe
    params:
      module: [icmp]
    static_configs:
      - targets: ['172.31.0.2', '223.6.6.6']
        labels:
          instance: ping_status
          group: 'icmp'
    relabel_configs:
      - source_labels: [__address__]
        target_label: __param_target
      - source_labels: [__param_target]
        target_label: ip #将ip与__param_target创建一个label
      - target_label: __address__
        replacement: 172.31.2.181:9115 
    
    root@prometheus1:/apps/prometheus# ./promtool check config prometheus.yml 
    Checking prometheus.yml
     SUCCESS: prometheus.yml is valid prometheus config file syntax
    
    root@prometheus1:/apps/prometheus# systemctl restart prometheus
    
    
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
    
    AI助手
2.5.6.2 prometheus验证数据
在这里插入图片描述
2.5.6.3 blackbox exporter验证数据
在这里插入图片描述

2.5.7 blackbox exporter实现端口监控

2.5.7.1 端口监控配置
复制代码
    root@prometheus1:/apps/prometheus# vim prometheus.yml
    ...
    # 端口监控
      - job_name: 'port_status'
    metrics_path: /probe
    params:
      module: [tcp_connect]
    static_configs:
      - targets: ['172.31.2.181:9100', '172.31.7.188:6443']
        labels:
          instance: port_status
          group: 'port'
    relabel_configs:
      - source_labels: [__address__]
        target_label: __param_target
      - source_labels: [__param_target]
        target_label: ip
      - target_label: __address__
        replacement: 172.31.2.181:9115 
    
    root@prometheus1:/apps/prometheus# ./promtool check config prometheus.yml 
    Checking prometheus.yml
     SUCCESS: prometheus.yml is valid prometheus config file syntax
    
    root@prometheus1:/apps/prometheus# systemctl restart prometheus
    
    
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
    
    AI助手
2.5.7.2 prometheus验证数据
在这里插入图片描述
2.5.7.3 blackbox exporter验证数据
在这里插入图片描述

3.Grafana安装

官方安装文档

官方安装文档

官方安装文档

3.1 安装并启动grafana

https://grafana.com/grafana/download?pg=get&plcmt=selfmanaged-box1-cta1

复制代码
    root@prometheus2:~# sudo apt-get install -y adduser libfontconfig1
    
    root@prometheus2:~# wget https://mirrors.tuna.tsinghua.edu.cn/grafana/apt/pool/main/g/grafana/grafana_7.5.16_amd64.deb
    
    root@prometheus2:~# dpkg -i grafana_7.5.16_amd64.deb 
    
    root@prometheus2:~# vim /etc/grafana/grafana.ini 
    ...
    #################################### Paths ####################################
    [paths]
    # Path to where grafana can store temp files, sessions, and the sqlite3 db (if that is used)
    ;data = /var/lib/grafana #数据目录
    
    # Temporary files in `data` directory older than given duration will be removed
    ;temp_data_lifetime = 24h #临时数据
    
    # Directory where grafana can store logs
    ;logs = /var/log/grafana #日志目录
    
    # Directory where grafana will automatically scan and look for plugins
    ;plugins = /var/lib/grafana/plugins #插件目录
    ...
    # The http port  to use
    ;http_port = 3000 #端口
    ...
    #################################### Database ####################################
    [database] #数据库配置
    # You can configure the database connection by specifying type, host, name, user and password
    # as separate properties or as on string using the url properties.
    
    # Either "mysql", "postgres" or "sqlite3", it's your choice
    ;type = sqlite3
    ;host = 127.0.0.1:3306
    ;name = grafana
    ;user = root
    # If the password contains # or ; you have to wrap it with triple quotes. Ex """#password;"""
    ;password =
    ...
    
    root@prometheus2:~# systemctl enable --now grafana-server
    
    
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
    
    AI助手

3.2 grafana web界面

3.2.1 登录界面

默认用户名密码:admin

http://172.31.2.102:3000/

在这里插入图片描述

第一次登录提示修改密码,可以修改也可以skip

在这里插入图片描述

3.2.2 添加prometheus数据

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.3 import模板

导入模板查看web

3.3.1 模板下载地址

模板可以在左侧栏匹配或搜索相关名称

https://grafana.com/grafana/dashboards

在这里插入图片描述

3.3.2 模板详细信息和下载模板

在这里插入图片描述

3.3.3 通过模板ID导入

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

icmp:https://grafana.com/grafana/dashboards/12412

在这里插入图片描述

blackbox:https://grafana.com/grafana/dashboards/9719

在这里插入图片描述

全部评论 (0)

还没有任何评论哟~