zatree插件优化:支持HTTP Basic Authorization认证访问zabbix API

简介:

zatree是监控软件zabbix的一个插件,主要功能是提供host group的树形展示和在item里指定关键字查询及数据排序。

zatree项目地址https://github.com/spide4k/zatree,安装方法进到不同版本目录看readme。

   最近遇到一个问题,当zabbix的web端使用了http基本认证方式的时候,zatree插件不能正常调用zabbix的api,导致报错。

查看错误信息方法:打开php的显示错误,

# vi /etc/php.ini

1
display_errors = On

    重启web server。

wKiom1PRzTaATc6qAAChzbh5j_U802.jpg

    点击Zatree按钮,就会在页面上看到错误信息。

wKioL1PRzl-C51W6AAL4xe5OUp4649.jpg


    解决方法如下,这里针对zatree的zabbix-2.2.x版本做修改,方法同样适合zabbix-2.0.x版本。

    进入zatree目录,修改以下四个文件:

    步骤一、修改zabbix_config.php

添加HTTP Basic Authorization认证用户名和密码参数。如果没有设置HTTP Basic Authorization认证,http_user和http_password的值为空就行。

1
2
3
4
5
6
7
8
9
10
11
12
13
<?php 
global  $zabbix_api_config ;
 
$zabbix_api_config = array (
  'api_url' => 'api_jsonrpc.php' ,
  'http_user' => 'xxxxx' ,
  'http_password' => 'xxxxx' ,
  'user' => 'Admin' ,
  'passowrd' => 'xxxxx' ,
  'graph_url' => 'zabbix_chart.php' ,
);
 
?>

    步骤二、修改zabbix_ajax.php第33行,添加当有HTTP认证时的$url_http。

1
         $url_http  = dirname(dirname( 'http://'  .  $_SERVER [ 'HTTP_HOST' ] .  $_SERVER [ "REQUEST_URI" ]));

修改为:

1
2
3
4
5
         if  (! empty ( $zabbix_api_config [ 'http_user' ]) && ! empty ( $zabbix_api_config [ 'http_password' ])) {
                 $url_http  = dirname(dirname( 'http://'  . trim( $zabbix_api_config [ 'http_user' ]) .  ':'  . trim( $zabbix_api_config [ 'http_password' ]) .  '@'  .  $_SERVER [ 'HTTP_HOST' ] .  $_SERVER [ "REQUEST_URI" ]));
         }  else  {
                 $url_http  = dirname(dirname( 'http://'  .  $_SERVER [ 'HTTP_HOST' ] .  $_SERVER [ "REQUEST_URI" ]));
         }


    步骤三、修改graph.php第141行,添加当有HTTP认证时的$url_http。

1
         $url_http  = dirname(dirname( 'http://'  .  $_SERVER [ 'HTTP_HOST' ] .  $_SERVER [ "REQUEST_URI" ]));

修改为:

1
2
3
4
5
         if  (! empty ( $zabbix_api_config [ 'http_user' ]) && ! empty ( $zabbix_api_config [ 'http_password' ])) {
                 $url_http  = dirname(dirname( 'http://'  . trim( $zabbix_api_config [ 'http_user' ]) .  ':'  . trim( $zabbix_api_config [ 'http_password' ]) .  '@'  .  $_SERVER [ 'HTTP_HOST' ] .  $_SERVER [ "REQUEST_URI" ]));
         }  else  {
                 $url_http  = dirname(dirname( 'http://'  .  $_SERVER [ 'HTTP_HOST' ] .  $_SERVER [ "REQUEST_URI" ]));
         }


    步骤四、修改big_graph.php第88行,添加当有HTTP认证时的$url_http。

1
         $url_http  = dirname(dirname( 'http://'  .  $_SERVER [ 'HTTP_HOST' ] .  $_SERVER [ "REQUEST_URI" ]));

修改为:

1
2
3
4
5
         if  (! empty ( $zabbix_api_config [ 'http_user' ]) && ! empty ( $zabbix_api_config [ 'http_password' ])) {
                 $url_http  = dirname(dirname( 'http://'  . trim( $zabbix_api_config [ 'http_user' ]) .  ':'  . trim( $zabbix_api_config [ 'http_password' ]) .  '@'  .  $_SERVER [ 'HTTP_HOST' ] .  $_SERVER [ "REQUEST_URI" ]));
         }  else  {
                 $url_http  = dirname(dirname( 'http://'  .  $_SERVER [ 'HTTP_HOST' ] .  $_SERVER [ "REQUEST_URI" ]));
         }

链接地址:https://github.com/spide4k/zatree/pull/2

本文转自 张斌_青岛 51CTO博客,原文链接:http://blog.51cto.com/qicheng0211/1530018


相关文章
|
缓存 监控 前端开发
顺企网 API 开发实战:搜索 / 详情接口从 0 到 1 落地(附 Elasticsearch 优化 + 错误速查)
企业API开发常陷参数、缓存、错误处理三大坑?本指南拆解顺企网双接口全流程,涵盖搜索优化、签名验证、限流应对,附可复用代码与错误速查表,助你2小时高效搞定开发,提升响应速度与稳定性。
|
Java 测试技术 API
Java Stream API:被低估的性能陷阱与优化技巧
Java Stream API:被低估的性能陷阱与优化技巧
701 114
|
JSON 监控 API
Shopee:对接海外仓API实现本地发货,优化物流时效
Shopee卖家可通过对接海外仓API实现本地发货,将物流时效从10-15天缩短至3-5天,显著提升买家体验与店铺转化率。本文详解API对接原理、步骤及代码示例,助力优化跨境物流效率。
|
JSON 监控 API
亚马逊:调用跨境物流API追踪国际包裹清关状态,优化时效
在亚马逊跨境运营中,清关不确定性常导致物流延误。通过调用跨境物流API(如Amazon SP-API),可自动化获取包裹清关状态与预计交付时间,提升响应效率。本文详解API调用步骤,提供Python代码示例,并分享实时监控、预警机制与数据优化策略,助力卖家缩短处理时间、提升客户满意度,实现高效智能的国际物流管理。
|
数据采集 API
京东:调用用户行为API分析购买路径,优化页面跳转逻辑
京东通过整合用户行为API,构建购买路径分析体系,运用马尔可夫链模型识别高损耗、断裂与冗余路径,优化页面跳转逻辑。实施流程合并、预加载及实时干预策略,转化率提升30.2%,路径缩短34.9%,跳转失败率下降78.7%,实现数据驱动的精细化运营。
|
JSON 数据可视化 API
淘宝/天猫:利用销售数据API生成区域热力图,优化仓储布局
本文详解如何利用淘宝/天猫销售数据API生成区域热力图,结合核密度估计与线性规划,科学优化仓储布局。通过数据驱动降低物流成本15%-20%,提升配送效率,助力电商高效运营。(238字)
|
存储 监控 前端开发
淘宝商品详情 API 实战:5 大策略提升店铺转化率(附签名优化代码 + 避坑指南)
本文深入解析淘宝商品详情API的核心字段与实战应用,分享如何通过动态定价、库存预警、差评控制等5大策略提升电商转化率。结合300+店铺实战经验,提供优化代码与避坑指南,助力开发者与运营者实现数据驱动的精细化运营。
机器学习/深度学习 搜索推荐 算法
383 0
|
机器学习/深度学习 自然语言处理 算法
小红书:通过商品标签API自动生成内容标签,优化社区推荐算法
小红书通过商品标签API自动生成内容标签,提升推荐系统精准度与用户体验。流程包括API集成、标签生成算法与推荐优化,实现高效率、智能化内容匹配,助力社交电商发展。
|
JSON 监控 API
掌握使用 requests 库发送各种 HTTP 请求和处理 API 响应
本课程全面讲解了使用 Python 的 requests 库进行 API 请求与响应处理,内容涵盖环境搭建、GET 与 POST 请求、参数传递、错误处理、请求头设置及实战项目开发。通过实例教学,学员可掌握基础到高级技巧,并完成天气查询应用等实际项目,适合初学者快速上手网络编程与 API 调用。
1334 130