Prometheus使用blackbox_exporter监控端口及网站状态(七)

一、blackbox_exporter应用场景

HTTP 测试: 定义 Request Header 信息、判断 Http status / Http Respones Header / Http Body 内容
TCP 测试:   业务组件端口状态监听、应用层协议定义与监听
ICMP 测试: 主机探活机制
POST 测试: 接口联通性
SSL证书过期时间

二、blackbox_exporter安装

# wget https://github.com/prometheus/blackbox_exporter/releases/download/v0.16.0/blackbox_exporter-0.16.0.linux-amd64.tar.gz

# tar xf blackbox_exporter-0.16.0.linux-amd64.tar.gz -C /usr/local/
# ln -s /usr/local/blackbox_exporter-0.16.0.linux-amd64/ /usr/local/blackbox_exporter

# 使用systemd进行管理blackbox_exporter服务
# vim /usr/lib/systemd/system/blackbox_exporter.service
[Unit]
Description=blackbox_exporter
After=network.target

[Service]
User=root
Type=simple
ExecStart=/usr/local/blackbox_exporter/blackbox_exporter --config.file=/usr/local/blackbox_exporter/blackbox.yml
Restart=on-failure

[Install]
WantedBy=multi-user.target

# systemctl daemon-reload
# systemctl start blackbox_exporter.service 
# systemctl enable blackbox_exporter.service 

三、配置prometheus采集数据

# cd /usr/local/prometheus
# vim prometheus.yml
# my global config
global:
  scrape_interval:     15s
  evaluation_interval: 15s
alerting:
  alertmanagers:
  - static_configs:
    - targets:
rule_files:
  # - "first_rules.yml"
  # - "second_rules.yml"
scrape_configs:
  - job_name: 'prometheus'

    static_configs:
    - targets: ['192.168.5.237:9090']

  - job_name: 'node'
    file_sd_configs:
    - refresh_interval: 30s
      files: 
      - "/usr/local/prometheus/sd_config/node*.yml"

  - job_name: 'docker'
    static_configs:
    - targets: ['192.168.5.85:8080']

  - job_name: 'mysql'
    static_configs:
    - targets: ['192.168.5.237:9104']
      labels:
        app: zabbix-server-mysql
# 网站监控
- job_name: 'http_status' metrics_path: /probe params: module: [http_2xx] static_configs: - targets: ['http://www.lzfn.com', 'wiki.lzfn.com'] labels: instance: http_status group: web relabel_configs: - source_labels: [__address__] target_label: __param_target - target_label: __address__ replacement: 192.168.5.85:9115 # ping 检测 - job_name: 'ping_status' metrics_path: /probe params: module: [icmp] static_configs: - targets: ['192.168.5.85'] labels: instance: 'ping_status' group: 'icmp' relabel_configs: - source_labels: [__address__] target_label: __param_target - target_label: __address__ replacement: 192.168.5.85:9115 # 端口监控 - job_name: 'port_status' metrics_path: /probe params: module: [tcp_connect] static_configs: - targets: ['192.168.5.85:80', '192.168.5.85:9000', '192.168.5.85:8080'] labels: instance: 'port_status' group: 'port' relabel_configs: - source_labels: [__address__] target_label: __param_target - target_label: __address__ replacement: 192.168.5.85:9115
# 检查配置文件并重启服务 # .
/promtool check config prometheus.yml Checking prometheus.yml SUCCESS: 0 rule files found # systemctl restart prometheus.service

四、配置Grafana展示数据

使用9965模板,需要安装饼状态图插件,安装后重启grafana

grafana-cli plugins install grafana-piechart-panel
systemctl restart grafana-server.service 

 

posted @ 2020-05-12 16:13  林中龙虾  阅读(14557)  评论(0编辑  收藏  举报