$ npx @grafana/toolkit plugin:create my-grafana-plugin
? Select plugin type
❯ Panel Plugin
Datasource Plugin
Backend Datasource Plugin
$ cd my-grafana-plugin
$ yarn install
$ yarn dev
https://grafana.com/docs/grafana/latest/developers/plugins/
- Introduction
- Set up your environment
- Grafana pluginフォルダをマウント。
- Grafana を再起動。
- Create a new plugin
作り方
に従ってpluginを生成。
- Anatomy of a plugin
dist/plugins.json
のtype, name, id
に適切な値を設定する。module.ts
を作成する。これはエントリポイントを記述するもの。
- Panel plugins
- Grafana 6.0はAngularJSベースだったが、現時点はReactJSベースにすべき。
src/SimplePanel.tsx
でprops
- 開発の流れは以下の通り。
- まずパネルをダッシュボードに追加する。
- Grafanaをブラウザで開く。
- 新しいダッシュボードとパネルを作成する。
- 可視化タイプのリストからあなたのパネルを選択する。
- ダッシュボードを保存する。
- 次に手順を実施する。
SimplePanel.tsx
を適当に変更する。yarn dev
を実行する。- ブラウザでGrafanaを再表示する。
- まずパネルをダッシュボードに追加する。
- Add panel options
- Create dynamic panels using data frames
- Configurations
- Introduction
- Set up your environment
- Grafana pluginフォルダをマウント。
- Grafana を再起動。
- Create a new plugin
作り方
に従ってpluginを生成。
- Anatomy of a plugin
dist/plugins.json
のtype, name, id
に適切な値を設定する。module.ts
を作成する。これはエントリポイントを記述するもの。
- Data source plugins
- query メソッドは、外部DBからデータを取得し、Grafanaが認識できる形式でデータを返す。
- testDatasource メソッドは、動作確認用のデートを読み込む。
- Data frames
const query = defaults(target, defaultQuery);
でqueryのデフォルトクエリを読み込む。- data frameを作成する。
- data frame にvalueを入れる。
- Define a query
- クエリモデルを定義する。つまり、クエリで送信する変数。
- モデルをフォームにバインドする。
- queryメソッド内でプロパティを使用する。
- Configure your data source
- オプションモデルを定義する。
- モデルをフォームにバインドする。
- オプションを使用する。
- Get data from an external API
- Configurations
- Introduction
- Set up your environment
- Grafana pluginフォルダをマウント。
- Grafana を再起動。
- Create a new plugin
作り方
に従ってpluginを生成。
- Anatomy of a backend plugin
dist/plugins.json
のtype, name, id
に適切な値を設定する。module.ts
を作成する。これはエントリポイントを記述するもの。
- Implement data queries 1.
- Add support for health checks 1.
- Enable Grafana Alerting
yarn build
- Configurations
プラグインは4種類ある。
Grafanaプラグインには4つの主要なフレーバーがあります。これらは、データソース、バックエンド、パネル、アプリです。それぞれが独自の利点と制限を備えて設計されています。ここでは、それぞれの簡単な概要とそれらが達成することを示します。
- データソース:これらのプラグインを使用すると、HTTPを介して通信できる任意のデータベースとの対話を有効にできます。
- バックエンド:バックエンドでデータソースをラップして、データのアラートを有効にします。
- パネル:フロントエンドでデータをレンダリングするカスタム方法を提供します。
- アプリ:ユーザーがページのまったく新しいスタイルを作成し、パネルとデータソースを一緒にラップし、システムのまったく異なるエクスペリエンスを提供できるようにします。