欢迎光临
我们一直在努力

Kibana:如何保存 Dev Tools 中的变量及恢复它们

我们知道可以在 Kibana 中定义变量,这样我们可以在 Kibana 的 Dev Tools 中进行使用。这样做有很多好处:

  • 可以在多处使用同一个变量。在定义变量的地方修改,所有的的命令都同时生效
  • 针对一下比较敏感的信息,比如 API key。在展示的时候,我们可以不用硬编码,这样很多人都可以看到。

有关如何定义 Kibana 中的变量,请参考我之前的文章 “Kibana:如何设置变量并应用它们”。

对于我们定义很多变量的情况下,如果我们一旦清除浏览器中的 cache,那么对不起,所有的变量都会消失,这是因为这些变量不是存在一个永久存储的地点。它存在于浏览器中一个叫做 Local Storage 的地方。另外一种情况就是,如果我们想把这些变量复制到另一个集群中,手动复制一个一个的变量非常浪费时间。那么我们会有更好的办法保存这些变量的定义吗?答案是有的。我创建了一个代码仓库:GitHub – liu-xiao-guo/elastic_devtools_variables · GitHub

下载代码

我们根据如下的命令来下载代码:

git clone https://github.com/liu-xiao-guo/elastic_devtools_variables

一对 Python 脚本,用于备份和恢复 Kibana DevTools Console 变量。

Kibana 将 DevTools 变量存储在浏览器的 localStorage 中,对应的键为 sense:variables —— 而不是存储在服务器端 —— 因此这些脚本通过 AppleScript 直接从正在运行的 Chrome 会话中读取和写入这些变量。

文件描述
backup_devtools_variables.py 从 Kibana 读取变量并将其保存到 devtools_variables.json
restore_devtools_variables.py 读取 devtools_variables.json 并将变量写回 Kibana
devtools_variables.json 保存的变量(由备份脚本自动生成)
.env 连接配置(不会提交到版本控制系统)

注意:强烈建议你在向任何浏览器恢复变量之前,先备份当前变量。

配置

在项目目录中创建一个 .env 文件:

KIBANA_URL=http://localhost:5601
KIBANA_API_KEY=<your-base64-encoded-api-key>

创建 Kibana API Key

在 Kibana UI 中,进入 Stack Management → API Keys → Create API key,或者通过 API 创建:

curl -X POST "http://localhost:5601/api/security/api_key" \\
-H "kbn-xsrf: true" \\
-H "Content-Type: application/json" \\
-u elastic:<password> \\
-d '{"name": "devtools-variables-manager"}'

使用方法

备份变量

从正在运行的 Chrome 中读取 sense:variables,并将其保存到 devtools_variables.json:

python backup_devtools_variables.py

恢复变量

将 devtools_variables.json 中的变量写回 Chrome 的 localStorage:

python restore_devtools_variables.py

在恢复变量时,如果这个时候修改 .env 中的端点值,那么就可以把当前 devtools_variables.json 中的变量值恢复到另外一个集群中。

恢复完成后,重新加载 Kibana DevTools 配置页面(/app/dev_tools#/console/config)即可查看变更。

编辑变量

devtools_variables.json 是一个普通 JSON 文件 —— 你可以在备份和恢复之间自由编辑它:

[
{ "name": "${COHERE_API_KEY}", "value": "<Your Cohere API KEY>" },
{ "name": "${OPENAI_API_KEY}", "value": "sk-…" }
]

变量名称必须使用 Kibana 在 Console 中显示的 ${NAME} 格式。

赞(0)
未经允许不得转载:171主机测评 » Kibana:如何保存 Dev Tools 中的变量及恢复它们
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址