Zabbix:使用相同的IP注册主机

时间:2016-02-19 05:12:31

标签: amazon-web-services amazon-cloudformation zabbix

我们正在使用AWS CloudFormation和静态专用IP来部署服务,即每次部署时,我们都会使用IP关闭实例并生成具有相同IP的新实例。我们使用Zabbix进行监控,实例的主机名是ip-aaa-bbb-ccc-ddd.us-west-2.compute.internal(其中aaa-bbb-ccc-ddd是IP)。第一次部署时,一切正常,但是从第二次部署开始,zabbix-agent注册开始失败,说明Zabbix中存在具有相同主机名的主机。有办法解决这个问题吗?

3 个答案:

答案 0 :(得分:2)

我假设您在Zabbix中使用自动注册。 Zabbix中主机的唯一ID是(技术)name,IP地址实际上不必是每个主机唯一。

因此,您面临的问题是AWS实际上在实例的命名方案中使用IP。重用IP意味着重用主机名。

有办法解决这个问题:

  • 退出AWS实例后,请确保从Zabbix中清除它。您可以使用编排工具中的API call来实现此目的,或者如果手动完成淘汰,您也可以手动执行此操作。
  • 不使用AWS主机名作为Zabbix中的技术名称,而是使用其他独特的东西。也许你可以让你的业务流程工具将zabbix_agentd.conf文件中的hostname参数设置为你可以控制的更独特的东西,更合乎逻辑。 (即web-server-001)。
  • 您可以使用HostnameItem代理配置参数使用system.run[]项密钥从系统本身获取唯一标识符,例如使用{{1}的ec2 instance-id } cli工具。然后,您可以通过在Zabbix中提供人类可读的可见名称来使主机更易于识别。

答案 1 :(得分:1)

没有zabbix的经验,但有时与其他工具(udeploy / centrify)有类似的问题。由于您正在重新使用ip和hostname,因此当实例终止时,您应该查看从zabbix取消注册实例,如果有api调用,那么您可以将其添加到自动扩展生命周期组中自动取消注册(假设您使用缩放)

答案 2 :(得分:0)

您的计算机和zabbix配置文件可以有不同的名称

因此,如果您的(真实)计算机名称为ip-aaa-bbb-ccc-ddd.us-west-2.compute.internal,您可以在zabix_agentd.conf中编写另一个名称(zabbix代理配置文件,如:

Hostname=new1.ip-aaa-bbb-ccc-ddd.us-west-2.compute.internal 

在启动服务器之后和启动zabbix代理

之前更改此名称

如果您不想更改Zabbix中的主机名,则必须禁用自动注册功能或尝试在zabbix_agentd.conf上注释HostMetadata和HostMetadataItem