* 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>
3.1 KiB
aliases | title | weight | ||
---|---|---|---|---|
|
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 usenpx --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/" >}})