zabbix agent 默认注册的是主机名,不少状况下都没有改主机名,很差分清楚,以前一直想实现此功能,研究过改代码,建数据库触发器,最终都放弃,现找到较完美的解决办法shell
先放最终实现效果:数据库
以前发过一篇改代码实现hostname+ip的,能够弃用了《zabbix4.0修改仪表盘中的问题列表(加入IP、群组显示)》,但这篇文章上还有其余内容,能够参考一下vim
实现方式:shell
全部的操做都在agent端segmentfault
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
HostnameItem=system.run["sh /etc/zabbix/scripts/gethostname.sh",wait]bash
可能须要开启远程命令脚本,没测试,我通常都开启了测试