用惯了cacti的童鞋们,估计都对cacti的树形视图情有独钟,连我们的网络工程师都抱怨,zabbix没有cacti直观的界面。
本来,我在每个host的模板里面都加了screen,虽然麻烦点吧,总归有了直观的显示。
但是前几天,介于偷懒的想法,修改了所有机器的模板,网卡一类统一启动了dicovery,这下好screen无法做到模板里面去了,还好,有插件,重点是so easy,只要把代码加入的zabbix原有代码即可。
好,开始工作:
1:下载文件
git clone https://github.com/spide4k/zatree.git zatree
2.复制文件到zabbix目录下面(注意,什么版本的zabbix,对应什么版本的zatree,我的zabbix版本是2.2.2)
(PS:为了保险期间,所有zatree跟zabbix有名字重复的文件,请在复制钱做好备份,或者整个zabbix代码提前备份,方法看自己爱好)
cp -r zatree/zabbix-2.2.x $ZABBIX_PATH/zatree cd $ZABBIX_PATH/zatree/addfile cp -f CLineGraphDraw_Zabbix.php CGraphDraw_Zabbix.php CImageTextTable_Zabbix.php $ZABBIX_PATH/include/classes/graphdraw/ cp -f zabbix.php zabbix_chart.php $ZABBIX_PATH/ cp -f CItemValue.php $ZABBIX_PATH/api/classes/ cp -f menu.inc.php $ZABBIX_PATH/include/ cp -f main.js $ZABBIX_PATH/js/ cp -f API.php $ZABBIX_PATH/include/classes/api/
3:支持web interface,修改配置文件
vi $ZABBIX_PATH/zatree/zabbix_config.php 'user'=>'xxx', //你的用户名 'passowrd'=>'xxx', //你的密码
4:导航增加Zatree入口,修改menu.inc.php,main.js
vi $ZABBIX_PATH/include/menu.inc.php
在login数组前添加以下内容:
'zatree'=>array( 'label' => _('zatree'), 'user_type' => USER_TYPE_ZABBIX_USER, 'default_page_id' => 0, 'force_disable_all_nodes' => true, 'pages' =>array( array('url' => 'zabbix.php','label' => _('Zatree'),) ),
vim vi $ZABBIX_PATH/js/main.js
替换106行
menus: {'empty': 0, 'view': 0, 'cm': 0, 'reports': 0, 'config': 0, 'admin': 0, 'zatree':0},
66:增加封装的api类
vi $ZABBIX_PATH/include/classes/api/API.php
在70行附近,添加如下内容:
'usermedia' => 'CUserMedia', 'itemvalue' =>'CItemValue', 'webcheck' => 'CWebCheck'
7:登陆zabbix,在导航里可以看到一个Zatree的菜单,接下来,你就知道怎么玩儿了。