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
可能須要開啓遠程命令腳本,沒測試,我通常都開啓了測試