通过数据库中手动设置tags不生效? #1258
-
情景:想通过数据库批量设置服务器tag,之前试过数据库添加单个tags大概一两分钟在快捷查询中就生效了;现在批量添加了多个tags,在快捷查询中查询未生效,且在大图中查询报错: 架构:n9e server和n9e webapi均为两个,且用nginx负载均衡;在categraf和n9e配置中写的是nginx的ip端口,轮训到2个server和api 问题: 1.在数据库中添加tags(单个或多个),生效时间是多少或者说是否会生效? 2.添加多个tags,是否会存在过长或者解析失败的问题? 3.猜测会不会跟nginx负载有关,上报到其中一个n9e server,另一个server没生效或者有缓存? |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 2 replies
-
![image](https://user-images.githubusercontent.com/30250875/200730383-e6cc6ae4-799c-4226-bca8-6fbb564beccb.png) |
Beta Was this translation helpful? Give feedback.
-
开源社区喜欢这样的动手验证和分享。 核心原因是页面上的修改,会自动更新 target 表的 update_at 字段,而 n9e-server 会定期同步 target 表的信息到内存里,收到数据之后从数据中解析出 ident 信息,然后去内存里找 target 信息,再找 target 关联了哪些 labels,然后把这些 labels 附到时序数据上。 而 n9e-server 同步 target 表,每9秒一次,每次同步的时候,都要先检查DB中的内容是否变化,如果没有变化无需同步,怎么判断是否变化,就看 target 表的行数是否发生变化,update_at 是否发生变化,手工修改数据库,大概率没有修改 update_at 字段,导致 n9e-server 认为DB没有更新。 至于tagkey,遵从prometheus的数据规范,tagkey只支持 |
Beta Was this translation helpful? Give feedback.
开源社区喜欢这样的动手验证和分享。
核心原因是页面上的修改,会自动更新 target 表的 update_at 字段,而 n9e-server 会定期同步 target 表的信息到内存里,收到数据之后从数据中解析出 ident 信息,然后去内存里找 target 信息,再找 target 关联了哪些 labels,然后把这些 labels 附到时序数据上。
而 n9e-server 同步 target 表,每9秒一次,每次同步的时候,都要先检查DB中的内容是否变化,如果没有变化无需同步,怎么判断是否变化,就看 target 表的行数是否发生变化,update_at 是否发生变化,手工修改数据库,大概率没有修改 update_at 字段,导致 n9e-server 认为DB没有更新。
至于tagkey,遵从prometheus的数据规范,tagkey只支持
a-zA-Z_:
,不支持中划线