Zabbix 在哪里存储仪表板的收藏夹 objects(地图、屏幕和图表)?

Where does Zabbix store the Dashboard's Favorite objects (maps, screens and graphs)?

我查看了数据库架构,但没有发现任何相关内容。我在 /usr/share/zabbix/dashboard.php 查看了仪表板页面的 PHP 代码,但他们使用了一些我不太理解的代码。

例如:

CFavorite::add('web.favorite.screenids', $id, $favouriteObject)

所以,我知道它必须在某处 link 每个用户配置文件。以下是配置文件 table 的列,但我看不到数据库中保存此信息的其他位置。

mysql> describe profiles;
+-----------+---------------------+------+-----+---------+-------+
| Field     | Type                | Null | Key | Default | Extra |
+-----------+---------------------+------+-----+---------+-------+
| profileid | bigint(20) unsigned | NO   | PRI | NULL    |       |
| userid    | bigint(20) unsigned | NO   | MUL | NULL    |       |
| idx       | varchar(96)         | NO   |     |         |       |
| idx2      | bigint(20) unsigned | NO   |     | 0       |       |
| value_id  | bigint(20) unsigned | NO   |     | 0       |       |
| value_int | int(11)             | NO   |     | 0       |       |
| value_str | varchar(255)        | NO   |     |         |       |
| source    | varchar(96)         | NO   |     |         |       |
| type      | int(11)             | NO   |     | 0       |       |
+-----------+---------------------+------+-----+---------+-------+

您已找到正确的 table。在 https://zabbix.org/wiki/Docs/DB_schema/3.4/profiles 有关于这个 table 的部分文档,我刚刚添加了更多细节。

存储屏幕收藏条目时有意义的字段示例:

MariaDB [zabbix]> select userid,idx,value_id,source,type from profiles
    -> where idx like 'web.favorite.screenids';
+--------+------------------------+----------+----------+------+
| userid | idx                    | value_id | source   | type |
+--------+------------------------+----------+----------+------+
|     45 | web.favorite.screenids |       16 | screenid |    1 |
+--------+------------------------+----------+----------+------+