Grafana 连接Zabbix 报错

今天发现 Grafana 连接zabbix 报错,所有数据都取不到。

报错内容:

Invalid parameter “/”: unexpected parameter “user”.

查询后,找到github 上给出的一篇文章,点击查看

大意是zabbix 6.4 与grafana存在兼容性问题。

主要是zabbix定义为username,而grafana的zabbix插件依旧是user,所以造成无法识别

帖子里给出了一个可以修复的操作。

思路是修改zabbix的api接口配置,转换下user

  1. 登录zabbix 服务器,编辑/usr/share/zabbix/include/classes/api/clients/CLocalApiClient.php

    vim /usr/share/zabbix/include/classes/api/clients/CLocalApiClient.php

按照如下编辑:

--- /usr/share/zabbix/include/classes/api/clients/CLocalApiClient.php.orig	2023-03-08 16:23:26.555055621 +0100
+++ /usr/share/zabbix/include/classes/api/clients/CLocalApiClient.php	2023-03-08 16:22:46.378217849 +0100
@@ -128,6 +128,13 @@
 				$newTransaction = true;
 			}

+			// UGLY GRAFANA DATASOURCE HACK
+			// rename "user" param to "username" when present
+			if ($params['user'] ?? null) {
+				$params['username'] = $params['user'];
+				unset($params['user']);
+			}
+
 			$result = call_user_func_array([$this->serviceFactory->getObject($api), $method], [$params]);

 			// if the method was called successfully - commit the transaction

红色为新增内容