わくわく鮟鱇ランドのモニタリングシステムとして Grafana を採用しています。この Grafana は Grafana Helm Chart でデプロイされていて[1]、ダッシュボードのためのサイドカーコンテナが有効化されています。これにより、以下のような grafana_dashboard: "1" というラベルがついた ConfigMap をデプロイするとダッシュボードを追加できるようになっています。
kind: ConfigMap
metadata:
labels:
grafana_dashboard: "1"
name: dashboard
data:
dashboard.json: |-
{
...
}
この ConfigMap の data には Grafana のダッシュボード編集画面から “Save” ボタンを押すと表示される “Save dashboard” の JSON をコピペしていました。
ところが、今日この JSON をコピペして ConfigMap に貼り付けると、Grafana が以下のようなエラーを出力してダッシュボードを表示できなくなってしまいました:
error="dashboard appears to be in v2 format. Please use the /apis/dashboard.grafana.app/v2 API"
少し調査したところ、現在の最新版である Grafana v13.0.1(+security-01) で出力される “Save dashboard” 画面の JSON は、バグによって不完全なものになっているようです。具体的には、v2 フォーマットのうち .spec 配下の内容しか表示されません。そこで正しい v2 フォーマットを参考に、不足している apiVersion などを追加すると無事読み込まれるようになりました[2]:
// ここから
{
"apiVersion": "dashboard.grafana.app/v2",
"kind": "Dashboard",
"metadata": {
"annotations": {
"grafana.app/createdBy": "user:ffj6ck2tk9se8b",
"grafana.app/folder": "",
"grafana.app/saved-from-ui": "Grafana v13.1.0-local (858bd26f82)"
},
"creationTimestamp": "2026-04-16T13:30:37Z",
"generation": 1,
"labels": {
"grafana.app/deprecatedInternalID": "136208330895360"
},
"name": "adfbbd6",
"namespace": "default",
"resourceVersion": "1776346237382014",
"uid": "967da577-8ccd-4859-b492-f3ceacec2355"
},
"spec":
// ここまで追加。この下に Save dashboard の JSON を貼る。
ちなみに Save dashboard ではなく Export dashboard の画面から JSON をコピーすると正しい形式になります。また、このバグは main ブランチではすでに修正されているようです。
注釈
-
実際には victoria-metrics-k8s-stack 経由で使用しています。 ↩
-
metadata の中身は適当に修正しても良さそうですが、そのままでも動きます。 ↩