【easyctl】使用easyctl对多主机探活(ping+te

2021-12-29  本文已影响0人  微凉哇

背景说明

最近有个场景:

获取某地址段内存活的linux主机列表(ip列表形式)

实现方式:

优势:秒级批量探活

注意: 可能存在一定误差,以实际情况为准。

使用方式

安装easyctl

git clone https://github.com/weiliang-ms/easyctl.git
cd easyctl
go build -ldflags "-w -s" -o /usr/local/bin/easyctl

建议采用以下方式安装:

easyctl-v0.7.12-alpha

chmod +x easyctl
mv easyctl /usr/local/bin

主机探活

  1. 生成默认配置文件
$ easyctl exec ping
INFO[0000] 生成配置文件样例, 请携带 -c 参数重新执行 -> config.yaml
  1. 修改配置文件

config.yaml默认配置解析:

ping检测192.168.1.1-192.168.1.255192.168.2.1-192.168.2.255地址段内主机,如果主机能ping通,将ip地址入server-list.txt文件

ping:
  - address: 192.168.1
    start: 1
    end: 255
    #port: 22
  - address: 192.168.2
    start: 1
    end: 255
    #port: 22
  1. 执行探活指令

添加--debug可以输出详细内容。

$ easyctl exec ping -c config.yaml --debug

配置项说明

ping:
  - address: 192.168.1
    start: 1
    end: 255
    #port: 22
  - address: 192.168.2
    start: 1
    end: 255
    #port: 22

配置样例

  1. 探测192.168.1.1-192.168.1.255内主机可达性,并探测22端口可达性
ping:
  - address: 192.168.1
    start: 1
    end: 255
    port: 22
  1. 探测192.168.1.1-192.168.1.255192.168.2.1-192.168.2.255内主机可达性,不探测端口可达性
ping:
  - address: 192.168.1
    start: 1
    end: 255
    #port: 22
  - address: 192.168.2
    start: 1
    end: 255
    #port: 22

执行逻辑

ping.drawio.png
上一篇 下一篇

猜你喜欢

热点阅读