Zatree for zabbix 2.0.x 安装

1:下载文件

git clone https://github.com/spide4k/zatree.git zatree

2:复制相关文件

假如zabbix web目录位置在/var/www/zabbix,定义zabbix目录

ZABBIX_PATH=/var/www/zabbix

复制相关文件和目录

cp -rf zatree/zabbix-2.0.x $ZABBIX_PATH/zatree

cd $ZABBIX_PATH/zatree/addfile

cp class.cchart_zabbix.php class.cgraphdraw_zabbix.php class.cimagetexttable_zabbix.php $ZABBIX_PATH/include/classes/

cp zabbix.php zabbix_chart.php $ZABBIX_PATH/

cp CItemValue.php $ZABBIX_PATH/api/classes/

3:支持web interface,修改配置文件

vi $ZABBIX_PATH/zatree/zabbix_config.php

'user'=>'xxx', //web登陆的用户名

'passowrd'=>'xxx', //web登陆的密码

4:导航增加Zatree入口,修改menu.inc.php,main.js

vi $ZABBIX_PATH/include/menu.inc.php

添加285行到294行内容

285         'zatree'=>array(
286                 'label' => _('Zatree'),
287                 'user_type'                             => USER_TYPE_ZABBIX_USER,
288                 'default_page_id'       => 0,
289                 'force_disable_all_nodes' => true,
290                 'pages' =>array(
291                         array('url' => 'zabbix.php','label' => _('Zatree'),)
292                         )
293         
294         ),      
295         
296         'login' => array(                               
297                 'label'                                 => _('Login'),
298                 'user_type'                             => 0,
299                 'default_page_id'               => 0,

vi $ZABBIX_PATH/js/main.js

替换106行

menus: {'empty': 0, 'view': 0, 'cm': 0, 'reports': 0, 'config': 0, 'admin': 0, 'zatree':0},

6:增加封装的api类

vi $ZABBIX_PATH/include/classes/api/API.php

在74行下添加75行'itemvalue'=>'CItemValue',

 74                 'usermedia' => 'CUserMedia',
 75                 'itemvalue'=>'CItemValue',
 76                 'webcheck' => 'CWebCheck'
 77         );

7:登陆zabbix,在导航里可以看到一个Zatree的菜单,使用方法是傻瓜的

8: 如果你的主机名都是ip,并且向排序显示,解决方法: 编辑zabbix_ajax.php 43行代码注释44打开,不支持ip排序,43行代码打开44行注释,支持ip排序 43 $new_list[ip2long($each_host->host)]=$each_host; 44 //$new_list[] = $each_host;

交流

QQ讨论群:216490997

常见问题

1:如何排错?

可以打开php的显示错误,看看什么原因

vi /etc/php.ini

display_errors = On

重启web server,然后监控web日志

2:Fatal error: Call to undefined function json_encode() in /var/www/html/zabbix/zatree/ZabbixApiAbstract.class.php on line 220

需要php encode支持

yum install php-pecl-json

如果上面这个方法不行,找不到php-pecl-json,试试下面这个方法

yum install php-pear

pecl install json

echo "extension=json.so" > /etc/php.d/json.ini

3:如果右侧显示一行2个图,说明你分辨率不够,叫老板给你换个机器,或者修改graph.php文件这行的width值

181 <img  src=\'#\'" /> </a>

4:如果想在小图里显示时间段,编辑文件include/classes/class.cchart_zabbix.php,打开2363行

 2363                 //      $this->drawDate();

5:报以下错误

Warning: array_key_exists() expects parameter 2 to be array, null given in zatree/ZabbixApiAbstract.class.php on line 255

Notice: Trying to get property of non-object in zatree/ZabbixApiAbstract.class.php on line 262

Warning: Invalid argument supplied for foreach() in zatree/graph.php online 130

内存溢出,修改php.ini调整大小为XXX memory_limit = XXXM

6:是否支持搜索多个关键字? 支持,关键字用逗号分隔

7:搜索选项的差值是什么意思? 在一段时间里,最大值减去最小值得到一个结果,然后用这个结果排序,这个选项对一段时间内的突发增长查看非常有用

8: 解决分组只显示一个ip的问题,因为我们单位的主机名都写的是ip,你们的主机名是字符串,所以就显示不出来了 解决方法: 编辑zabbix_ajax.php,注释以下几行,并且保证画圈的变量名一致 image


你可能感兴趣的:(安装,for,zabbix,2.0.x,zatree)