zabbix agent 默认注册的是主机名,很多情况下都没有改主机名,不好分清楚,之前一直想实现此功能,研究过改代码,建数据库触发器,最终都放弃,现找到较完美的解决办法
先放最终实现效果:
之前发过一篇改代码实现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
HostnameItem=system.run["sh /etc/zabbix/scripts/gethostname.sh",wait]
可能需要开启远程命令脚本,没测试,我一般都开启了
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。