概要 †ここでは Grafana のパネルプラグインの開発手順を記載する。 (注意) 目次 †
事前準備 †docker のインストール †今回は docker イメージの grafana を使用する為、docker 及び docker-compose を事前にインストールしておく。 Nodejs 及び yarn のインストール †ビルドに必要なので nodejs 12 及び yarn をインストールしておく 環境構築 †ディレクトリ作成(dockerイメージへのマウント用) †mkdir influxdb mkdir grafana mkdir grafana-plugins docker-compose.yml の作成 †version: "3"
services:
influxdb:
image: influxdb:latest
container_name: grafana-sample-influxdb
hostname: grafana-sample-influxdb
ports:
- "8086:8086"
volumes:
- ./influxdb/data:/var/lib/influxdb
grafana:
image: grafana/grafana:7.0.3-ubuntu
container_name: grafana-sample
hostname: grafana-sample
ports:
- "3000:3000"
volumes:
- ./grafana/dashboards:/etc/grafana/provisioning/dashboards
- ./grafana/datasources:/etc/grafana/provisioning/datasources
- ./grafana-plugins:/var/lib/grafana/plugins
depends_on:
- influxdb
environment:
- GF_SERVER_ROOT_URL=http://localhost:3000
- GF_SECURITY_ADMIN_PASSWORD=admin
空のプラグインを作成してみる †雛形の作成 †mkdir work && cd work
npx @grafana/toolkit plugin:create my-plugin
? Select plugin type Panel Plugin
✔ Fetching plugin template...
? Plugin name my-plugin
? Organization (used as part of plugin ID) dev
? Description
? Keywords (separated by comma)
? Author Daisuke M
? Your URL (i.e. organisation url)
Your plugin details
---
Name: my-plugin
ID: dev-my-plugin
Description:
Keywords: []
Author: Daisuke M
Organisation: dev
Website:
? Is that ok? Yes
✔ Saving package.json and plugin.json files
✔ Cleaning
Congrats! You have just created Grafana Panel Plugin.
Grafana Panel Plugin tutorial: https://grafana.com/tutorials/build-a-panel-plugin
Learn more about Grafana Plugins at https://grafana.com/docs/grafana/latest/plugins/developing/development/
ビルド †いったんそのままビルドしてみる cd my-plugin yarn install # 依存ライブラリのダウンロード yarn dev # 開発用にビルド dist 配下にビルドされているので、Grafanaのプラグインディレクトリ配下にコピーして Grafana を再起動する。 cp -R dist ../../grafana-plugins/my-plugin docker-compose restart インストールされているか確認 †Grafanaのメニューから plugin を選択。 ![]() 検索ボックスに my- を打ち込んで my-plugin が表示されればOK ![]() オリジナルのプラグイン作成 †上記まででプラグインの作成方法の流れが追えたので、ここからはプラグインを作成する際のお作法などを確認しながら、実際に動くプラグインを作成していく。 TODO:
|