Shell:探测主机存活并推送到Prometheus
使用node_exporter的启动参数 --collector.textfile.directory
加载目录下的 .prom
文件
# node_exporter启动命令
/data/prometheus/node_exporter/node_exporter --web.listen-address=:9111 --collector.textfile.directory=/root/prometheus
#!/bin/bash
# 定义 IP 列表
ips=(
"100.0.6.30" "100.0.6.31" "100.0.6.36" "100.0.6.49" "100.0.6.45"
"100.0.6.43" "100.0.6.14" "100.0.6.4" "100.0.6.51" "100.0.6.52" "100.0.6.42"
"100.0.6.120" "100.0.6.122" "100.0.6.155" "100.0.6.151" "100.0.6.152"
"100.0.6.153" "100.0.6.154"
)
output_file="/root/prometheus/living.prom"
# 清空文件内容
> "$output_file"
# 遍历 IP 地址
for ip in "${ips[@]}"; do
# 使用 ping 检测 IP 连通性,-c 1 表示发送 1 个包,-W 1 表示超时时间 1 秒
if ping -c 1 -W 1 "$ip" > /dev/null 2>&1; then
status=1 # 如果 ping 成功
else
status=0 # 如果 ping 失败
fi
# 写入文件
echo "node_up{ip=\"$ip\"} $status" >> "$output_file"
done