You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Zabbix监控VM硬编码IP与DNS解析IP的一致性?

解决Zabbix监控硬编码IP与DNS解析IP不一致的告警问题

步骤1:在目标VM上编写自定义检查脚本

在VM上创建Shell脚本,用于对比硬编码IP和DNS解析结果。示例脚本如下:

#!/bin/bash
# 接收传入的域名和硬编码IP参数
TARGET_DOMAIN="$1"
HARDCODED_IP="$2"

# 获取域名的DNS解析IP(过滤出有效IPv4地址,取第一个结果)
RESOLVED_IP=$(dig +short "$TARGET_DOMAIN" | grep -E '^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$' | head -n1)

# 处理DNS解析失败的情况(解析为空直接返回异常)
if [ -z "$RESOLVED_IP" ]; then
    echo 1
    exit 1
fi

# 对比IP,返回状态码:0=一致,1=不一致
if [ "$RESOLVED_IP" = "$HARDCODED_IP" ]; then
    echo 0
else
    echo 1
fi

将脚本保存为/usr/local/bin/check_dns_hardcode.sh,并赋予执行权限:

chmod +x /usr/local/bin/check_dns_hardcode.sh

步骤2:配置Zabbix Agent自定义Key

编辑Zabbix Agent配置文件(通常路径为/etc/zabbix/zabbix_agentd.conf),添加自定义监控参数:

UserParameter=check.dns.hardcode[*],/usr/local/bin/check_dns_hardcode.sh "$1" "$2"

保存配置后重启Zabbix Agent服务:

systemctl restart zabbix-agent

步骤3:在Zabbix Web端创建监控项

  1. 进入Zabbix Web界面,找到目标主机,点击「监控项」→「创建监控项」
  2. 填写核心参数:
    • 名称:硬编码IP与DNS解析IP一致性检测
    • 键值:check.dns.hardcode[amazon.com,205.251.242.103](替换为你的目标域名和硬编码IP)
    • 类型:Zabbix客户端
    • 信息类型:数字(无符号)
    • 更新间隔:根据业务需求设置(如5分钟)
  3. 点击「添加」完成创建

步骤4:创建告警触发器

  1. 在目标主机页面点击「触发器」→「创建触发器」
  2. 填写参数:
    • 名称:硬编码IP与DNS解析IP不一致告警
    • 表达式:{你的主机名:check.dns.hardcode[amazon.com,205.251.242.103].last()}<>0
    • 严重性:根据业务影响选择(如「警告」或「严重」)
    • 描述:当前主机{HOST.NAME}中硬编码的amazon.com IP为205.251.242.103,DNS解析IP为{ITEM.LASTVALUE},两者不一致,请及时核查。
  3. 点击「添加」完成创建

步骤5:验证监控效果

可以通过修改VM本地/etc/hosts文件,将目标域名指向错误IP,模拟DNS解析变化,等待监控项更新后,查看Zabbix是否触发对应告警。

内容的提问来源于stack exchange,提问作者Clarke

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 19:23:07