今天发现 Grafana 连接zabbix 报错,所有数据都取不到。
报错内容:
Invalid parameter “/”: unexpected parameter “user”.
查询后,找到github 上给出的一篇文章,点击查看
大意是zabbix 6.4 与grafana存在兼容性问题。
主要是zabbix定义为username,而grafana的zabbix插件依旧是user,所以造成无法识别
帖子里给出了一个可以修复的操作。
思路是修改zabbix的api接口配置,转换下user
-
登录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
红色为新增内容