grafana/docs/sources/developers/plugins/_index.md
Christopher Moyer a568d421f8
Docs: Setup refactor (#49739)
* builds out refactored setup topics

* Automatically fix some relrefs with mv-manager

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

* Use refs for tutorials content which is outside of this repository

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

* Manually fix complicated relrefs

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

* consolidates team sync and db encryption topics

* Fix relrefs

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

* updates setup index file

* Convert TOML to YAML

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

* Add current alias for new alerting content

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

* Add current aliases to new setup-grafana and configure-security pages

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

* Update docs/sources/setup-grafana/configure-grafana/_index.md

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>

* moves saml docs, updates order in TOC

* Manually fix relrefs

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

* added usage insights topics, adjusted weights

* corrected relrefs

* Fix relrefs broken in rebase

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2022-06-02 11:57:22 -05:00

3.1 KiB

aliases title weight
/docs/grafana/latest/developers/plugins/
/docs/grafana/latest/plugins/developing/
Build a plugin 200

Build a plugin

For more information on the types of plugins you can build, refer to the [Plugin Overview]({{< relref "../../plugins/" >}}).

Get started

The easiest way to start developing Grafana plugins is to use the Grafana Toolkit.

Open the terminal, and run the following command in your [plugin directory]({{< relref "../../setup-grafana/configure-grafana/#plugins" >}}):

npx @grafana/toolkit plugin:create my-grafana-plugin

Note: If running NPM 7+ the npx commands mentioned in this article may hang. The workaround is to use npx --legacy-peer-deps <command to run>.

If you want a more guided introduction to plugin development, check out our tutorials:

  • [Build a panel plugin]({{< ref "/tutorials/build-a-panel-plugin/" >}})
  • [Build a data source plugin]({{< ref "/tutorials/build-a-data-source-plugin/" >}})

Go further

Learn more about specific areas of plugin development.

Tutorials

If you're looking to build your first plugin, check out these introductory tutorials:

  • [Build a panel plugin]({{< ref "/tutorials/build-a-panel-plugin/" >}})
  • [Build a data source plugin]({{< ref "/tutorials/build-a-data-source-plugin/" >}})
  • [Build a data source backend plugin]({{< ref "/tutorials/build-a-data-source-backend-plugin/" >}})

Ready to learn more? Check out our other tutorials:

  • [Build a panel plugin with D3.js]({{< ref "/tutorials/build-a-panel-plugin-with-d3/" >}})

Guides

Improve an existing plugin with one of our guides:

  • [Add authentication for data source plugins]({{< relref "add-authentication-for-data-source-plugins/" >}})
  • [Add support for annotations]({{< relref "add-support-for-annotations/" >}})
  • [Add support for Explore queries]({{< relref "add-support-for-explore-queries/" >}})
  • [Add support for variables]({{< relref "add-support-for-variables/" >}})
  • [Add a query editor help component]({{< relref "add-query-editor-help/" >}})
  • [Build a logs data source plugin]({{< relref "build-a-logs-data-source-plugin/" >}})
  • [Build a streaming data source plugin]({{< relref "build-a-streaming-data-source-plugin/" >}})
  • [Error handling]({{< relref "error-handling/" >}})
  • [Working with data frames]({{< relref "working-with-data-frames/" >}})
  • [Development with local Grafana]({{< relref "development-with-local-grafana/" >}})

Concepts

Deepen your knowledge through a series of high-level overviews of plugin concepts:

  • [Data frames]({{< relref "data-frames/" >}})

UI library

Explore the many UI components in our Grafana UI library.

Examples

For inspiration, check out our plugin examples.

API reference

Learn more about Grafana options and packages.

Metadata

  • [Plugin metadata]({{< relref "metadata/" >}})

Typescript

  • Grafana Data
  • Grafana Runtime
  • Grafana UI

Go

  • [Grafana Plugin SDK for Go]({{< relref "backend/grafana-plugin-sdk-for-go/" >}})