docker搭建prometheus+blackbox-exporter+granfana实现网络监控(2)

本阶段内容:续上篇,docker搭建blackbox

1、创建/home/blackbox 目录,并创建和编辑 config.conf文件,输入以下内容

modules:
  http_2xx:
    prober: http
    http:
      preferred_ip_protocol: "ip4"
  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
    icmp:
      preferred_ip_protocol: "ipv4"
  icmp6:
    prober: icmp
    icmp:
      preferred_ip_protocol: "ipv6"
  icmp_ttl5:
    prober: icmp
    timeout: 5s
    icmp:
      ttl: 5

仓库中的blackbox镜像与我的有所不同,因为我需要监控ipv4和ipv6双线程,所以我修改了icmp的模块,分成了icmp和icmp6,只要prometheus.yml文件中模块应用同时存在[icmp,icmp6],就能同时监控ipv4和ipv6地址。

2、添加好balckbox的配置文件之后,就可以创建blackbox的docker实例了

docker run  -d -p 9115:9115  --network=host  --name blackbox-exporter -v /home/blackbox/config.yml:/etc/blackbox_exporter/config.yml  prom/blackbox-exporter

 -v  //通过该参数,你可以将宿主机上的目录或文件与容器中的目录或文件进行关联,使得容器可以访问这些宿主机上的内容。
--network=host    //令容器的网络环境与宿主机一致,目的是监控目的ip是用宿主机本身的ip进行监控,避免用了docker的ip进行监控

 docker ps -a 查看blackbox容器是否启动成功

blackbox容器创建成功之后可以用curl来验证blackbox是否已经搭建成功

curl http://ip:9115    //ip是blackbox的宿主机ip,如果是非host模式 ip则是blackbox docker内部地址

如果出现以下信息,则成功了

 上篇中 prometheus.yml文件已经添加了需要被监控的ip地址,当blackbox搭建成功之后,已按照prometheus.yml文件中关联的blackbox地址成功建联,也就是已经开始对ip地址进行监控了,我们利用tcpdump工具进行抓包,看看是否按照我们的要求进行监控,应该是每秒对监控ip进行ping测。

从发包时间来看,确实是每秒对监控ip进行ping测,以上已经完成了prometheus+blackbox对监控ip进行ping测监控,后续只需要将prometheus添加进grafana进行可视化数据即可。 

好的,以下是一个基于Docker Compose的搭建Prometheus、Grafana、AlertmanagerBlackbox Exporter和Node Exporter的示例: ```yaml version: "3" services: prometheus: image: prom/prometheus container_name: prometheus ports: - "9090:9090" volumes: - ./prometheus/prometheus.yml:/etc/prometheus/prometheus.yml command: - '--config.file=/etc/prometheus/prometheus.yml' - '--web.enable-admin-api' restart: always grafana: image: grafana/grafana container_name: grafana ports: - "3000:3000" volumes: - ./grafana:/var/lib/grafana restart: always alertmanager: image: prom/alertmanager container_name: alertmanager ports: - "9093:9093" volumes: - ./alertmanager/config.yml:/etc/alertmanager/config.yml command: - '--config.file=/etc/alertmanager/config.yml' restart: always blackbox-exporter: image: prom/blackbox-exporter container_name: blackbox-exporter ports: - "9115:9115" volumes: - ./blackbox-exporter/config.yml:/etc/blackbox-exporter/config.yml command: - '--config.file=/etc/blackbox-exporter/config.yml' restart: always node-exporter: image: prom/node-exporter container_name: node-exporter ports: - "9100:9100" restart: always ``` 需要注意的是,这里的配置文件都需要自己创建并且挂载到对应的容器中。例如,prometheus.yml、config.yml和config.yml分别对应Prometheus、AlertmanagerBlackbox Exporter的配置文件。同时,Grafana的数据目录也需要挂载到主机上以便数据持久化。 另外,需要注意的是这只是一个示例,具体的配置文件需要根据实际情况进行修改。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值