添加对 InfluxDB 2 和 InfluxDB 3 Core 的支持
Https://GitHub.com/google/cadvisor/blob/master/docs%2Fstorage%2Finfluxdb.md上的文件只支持InfluxDB 1. 对于InfluxDB 2和InfluxDB 3,没有密码的概念,只有个符号. 符号不能直接用作密码 。
贾瓦 导入 com.fasterxml.jackson.databind。 对象Mapper; 导入 org.junit.jupiter.api。 测试; 进口 org.testcontainers.containers.Generic Containers; 进口 org. testcontainers.containers.Generic Containers. 进口 org. testcontainers.junit.jupiter。 集装箱; 进口 org. testcontainers.junit.jupiter。 试验容器; 导入java.net.http.HttpClient; 导入java.net.http.Http请求; 进口java.net.http.HttpResponse; @ 测试容器@ info 类 : @ container (中文(简体) ). 私人最终通用容器 <?> 容器 = 新的通用容器%% (“ 豪华b : 3. 3.3. 0- 核心”) . 有Command ("influxdb3 serve -- node-id local01 --object-store 文件 --data-dir/home/influxb3/.influxb3") . . 使用已开口(8181); @ 测试 无效测试 () 抛出例外 { HttpResponse < String > 响应=HttpClient. newHttpClient (. send () (中文(简体) ). Http Request. newBuilder () 页面存档备份,存于互联网档案馆 .uri(新URI ("http://%s:%d/api/v3/confit/token/admin").formated (container.getHost (,容器.getMappedPort (81))). .POST(Http Request.BodyPublishers.noBody ()) (中文(简体) ). .header ("接受","应用/json") (中文(简体) ). .header ("Content-Type","应用程序/json") . 建设( ), HttpResponse.BodyHandlers.ofString () (中文(简体) ). (三) 字符串令牌 = 新对象Mapper (. readTree (reswer.body (.)) get ("token").asText (;). {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢? {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?
对InfluxDB 2和InfluxDB 3核心的支持需要一些额外的相容性处理. 这是因为使用InfluxDB 1客户端显然无法连接到InfluxDB 2或InfluxDB 3 Core. 见https://GitHub.com/google/cadvisor/issues/2843.内容来源: google/cadvisor