查看: 562|回复: 0

[Zabbix] Zabbix 自动注册 hostname 和 HostMetadata 自动配置

[复制链接]

440

主题

642

帖子

5080

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
5080
发表于 2017-8-14 16:12:13 | 显示全部楼层 |阅读模式
虚拟化开通平台已初见成效,在AB机房切换项目中,承担了交付的重要角色,共交付了将近千台虚拟机。每台交付时间在1分钟之内。并且出色的完成了订单的历史沉淀,同时我们又打通了帕拉迪的堡垒机自动注册功能,且稳定运行。并且与业务运维的虚拟机分类API进行了同步,完成了申请的虚拟机归项目所有。
因为监控的需要,我们需要开启zabbix的自动注册功能。需要修改配置文件中的“hostname”和“HostMetadata”,但是查阅了zabbix的手册之后发现并没有可用的zabbix内置函数可以处理此需求,所以只能使用脚本进行修改。具体脚本如下:
QQ图片20170814151618.png
完成zabbix配置文件之后会自动将此脚本删除!
脚本详细内容如下:
  1. #!/bin/bash



  2. #set zabbix conf path
  3. Zabbix_Conf_Path='/usr/local/zabbix-howbuy-agent/conf'
  4. HostName=`hostname`

  5. if [[ $HostName != *"Centos67LVM"* ]]
  6. then

  7. #Modify Zabbix conf HostName
  8. sed -i "s/^Hostname=.*/Hostname=`hostname`/g" $Zabbix_Conf_Path/zabbix_agentd.conf

  9. #modify zabbix conf HostMetadata
  10. Get_Network_Name=`ifconfig |awk '{ print $1}' |grep eth`

  11. Get_IP_Addr=`ifconfig $Get_Network_Name | grep 'inet addr' | awk '{ print $2}' | awk -F: '{print $2}'`

  12. sed -i "s/^HostMetadata=.*/HostMetadata=$Get_IP_Addr/g" $Zabbix_Conf_Path/zabbix_agentd.conf

  13. #Modify rc.local reboot run command
  14. sed -i "s/.*modify_zabbix.sh.*//g" /etc/rc.local

  15. #restart zabbix server
  16. /etc/init.d/zabbix-howbuy-agent restart

  17. #Modify over ,del self
  18. #rm -- "$0"

  19. fi
复制代码


选一人白头,择一城终老
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

!jz_fbzt! !jz_sgzt! !jz_xgzt! 快速回复 !jz_sctz! !jz_fhlb!
快速回复 返回顶部 返回列表