App plugins can let you create a custom out-of-the-box monitoring experience by custom pages, nested datasources and panel plugins.
@grafana/scenes is a framework to enable versatile app plugins implementation. It provides an easy way to build apps that resemble Grafana's dashboarding experience, including template variables support, versatile layouts, panels rendering and more.
To learn more about @grafana/scenes please refer to Scenes documentation
- From Grafana Scenes root directory run
yarn install
- From Grafana Scenes root directory run
./scripts/demo.sh
- Navigate to http://localhost:3001/a/grafana-scenes-app
-
Modify Grafana config to load demo app plugin, i.e.
# Grafana custom.ini [plugin.grafana-scenes-app] path=<your-path>/grafana-scenes/packages/scenes-app
or
-
copy manually the demo app provisioning yaml into
grafana/conf/provisioning/plugins
, i.e.cp ./provisioning/plugins/app.yaml ../../../grafana/conf/provisioning/plugins/grafana-scenes-app.yaml
-
Creates a symlink folder from
~/scenes/packages/scenes-app/dist
to~/grafana/data/plugins/grafana-scenes-app/dist
in order to load the scenes demo app compiled assets inside Grafana.
-
-
Use provided datasource provisioning file to setup required data source in Grafana. Copy manually this file into
grafana/conf/provisioning/datasources
, i.e.cp ./provisioning/datasources/default.yaml ../../../grafana/conf/provisioning/datasources/grafana-scenes-app.yaml
but if you want to setup also the
gdev-prometheus
datasource used on the demo app, you can follow the instructions here. As thegdev-prometheus
data source require a database to run in the background, you should also run next command to start a Prometheus server:make devenv sources=prometheus
-
From
packages/scenes-app
runyarn dev
-
Navigate to http://localhost:3000/a/grafana-scenes-app/
For more details, checkout package.json
, docker-compose.yaml
, and the provisioning directory.