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

报错内容:

Invalid parameter "/": unexpected parameter "user".

image1

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

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

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

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

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

  1. 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

红色为新增内容