zabbix agent 默认注册的是主机名,很多情况下都没有改主机名,不好分清楚,之前一直想实现此功能,研究过改代码,建数据库触发器,最终都放弃,现找到较完美的解决办法

先放最终实现效果:

clipboard.png

之前发过一篇改代码实现hostname+ip的,可以弃用了《zabbix4.0修改仪表盘中的问题列表(加入IP、群组显示)》,但这篇文章上还有其他内容,可以参考一下

实现方式:shell
所有的操作都在agent端

gethostname.sh 记得加执行权限
#!/bin/bash
# -------------------------------------------------------------------------------
# FileName:    gethostname.sh
# Revision:    1.0
# Date:        2019-5-9
# Author:      soft_xiang
# Email:       soft_xiang@qq.com
# Description: 获取ip-hostname形式主机名
# Notes:       ~shell 菜鸟,获取ip的可能有bug,求优化修正
# -------------------------------------------------------------------------------
# Copyright:   2019 (c) soft_xiang
# License:     GPL


echo `ip a | grep -w "inet"|grep -v "127.0.0.1"|awk "NR==1"|awk -F" " '{print $2}'|awk -F"/" '{print $1}'`-`hostname`
vim /etc/zabbix/zabbix_agentd.conf

clipboard.png

HostnameItem=system.run["sh /etc/zabbix/scripts/gethostname.sh",wait]

可能需要开启远程命令脚本,没测试,我一般都开启了

clipboard.png


soft_xiang
38 声望5 粉丝

引用和评论

0 条评论