使用 Grafana Data Source 插件进行观测
本文档介绍如何在本地 Grafana 安装 Data Source 插件,并使用 Grafana Data Source 进行观测。
- Grafana 应为 v7.0.0 或更高版本。
- Chaos Mesh 应为 v2.1.0 或更高版本。
使用 grafana-cli 安装 Data Source 插件
grafana-cli plugins install chaosmeshorg-datasource
手动安装 Data Source 插件
作为备选,你也可以通过以下步骤在本地 Grafana 安装 Data Source 插件:
-
通过如下命令下载插件 zip 包,或前往 https://github.com/chaos-mesh/datasource/releases 下载该压缩包:
curl -LO https://github.com/chaos-mesh/datasource/releases/download/v2.2.3/chaosmeshorg-datasource-2.2.3.zip
下载完成后,将插件解压至 Grafana 插件目录:
unzip chaosmeshorg-datasource-2.2.3.zip -d YOUR_PLUGIN_DIR
-
然后更新并保存 Grafana 的配置文件
grafana.ini
,将插件添加至allow_loading_unsigned_plugins
以保证 Grafana 可以加载未签名的插件:[plugins]
allow_loading_unsigned_plugins = chaosmeshorg-datasource -
完成修改后,重启 Grafana 即可加载 Data Source 插件。
设置 Data Source 插件
-
成功在本地 Grafana 安装 Data Source 插件后,前往 Configuration -> Data sources,在此处添加 Chaos Mesh 后,进入如下配置页面:
在本页面中,只有
URL
字段需要填写,其他字段可以忽略。假设你已经在本地安装了 Chaos Mesh,Dashboard 会默认在
2333
端口导出 API。因此,如果你没有修改任何东西,可以直接在URL
中填写http://localhost:2333
。 -
然后使用
port-forward
命令让 API 可被外部访问:kubectl port-forward -n chaos-mesh svc/chaos-dashboard 2333:2333
-
点击 Save & Test 来测试连接。如果显示成功的通知,则说明设置已经完成。
Query
Data Source 插件会以事件的视角来观测 Chaos Mesh,以下几个选项负责过滤不同的事件:
Object ID
: 通过对象的 UUID 进行过滤Namespace
: 通过不同的命名空间进行过滤Name
: 通过对象名进行过滤Kind
: 通过类型(PodChaos, Schedule 等)进行过滤Limit
: 限制事件的数量
对这些选项的设置会作为参数被传递到 /api/events
API 中。
Annotations
你可以通过设置 Annotations 把 Chaos Mesh 的事件集成到面板上,具体创建示例如下:
如需了解如何填写 Annotations 中的字段,请参考 Query。
Variables
你可以通过设置不同的变量来动态地查询 Chaos Mesh 的事件。
以下是插件提供的变量类型:
Namespace
: 选择后,所有可用的命名空间将直接显示在页面下方的Preview of values
。Kind
: 与命名空间相同。获取所有种类。Experiment
: 与命名空间相同。获取所有实验的名称。Schedule
: 与命名空间相同。获取所有时间表的名称。
问题反馈
如果在安装或设置的过程中遇到了问题,欢迎在 CNCF Slack 向社区提问,或者直接在 GitHub 创建一个 issue 向 Chaos Mesh 团队反馈。
探索更多
如果你想了解更多内容, 欢迎在 chaos-mesh/datasource 查看插件的源代码。