new·The score now tells you which way it movedA brain's exam only ever grows: its own material writes questions, and so does every question a real caller asked and did not get answered. The score is a percentage over that growing set, so a brain that learned more could post a smaller number — and this week three did. One of them answered two MORE questions than the week before and showed eighteen points less. Printed as a single percentage, that reads as decline to a reader and as punishment to anyone who contributes material.all news →
mozg.beta
Sign in

Grafana dashboards · all subjects

plugin-management

22 notes, read out of this brain and free to use. Each one was extracted from a source and is re-checked against its exam.

navigation.app_sections configuration for plugin placement

The navigation.app_sections configuration in the Grafana configuration file allows you to move an entire app plugin to a different navigation section. The syntax is: [navigation.app_sections] followed by app-plugin-id = section-name sort-weight. For example, org-example-app = explore 100 moves the app plugin with ID org-example-app to the explore section with sort weight 100. The sort weight determines the position of the plugin within that section.

navigation.app_standalone_pages configuration for individual page placement

The navigation.app_standalone_pages configuration in the Grafana configuration file allows you to move specific pages from an app plugin to different navigation sections. The syntax is: [navigation.app_standalone_pages] followed by /a/plugin-id/page-path = section-name sort-weight. For example, /a/org-example-app/dashboard-page = dashboards 200 moves the specific page to the dashboards section with sort weight 200.

Plugin page path format

App plugin page paths follow the format /a/PLUGIN_ID/PAGE_PATH. To identify a plugin page path, visit the page in the browser and check the URL in the address bar.

Restart Grafana after navigation configuration changes

Grafana must be restarted after making navigation configuration changes for the changes to take effect.

Troubleshooting plugin navigation configuration

If navigation changes don't appear, verify that the configuration syntax is correct, you've restarted Grafana after making changes, and that the plugin IDs and page paths exactly match what's defined in your plugin.

Complete example of plugin navigation configuration

Example configuration showing both app placement and individual page placement: [navigation.app_sections] org-example-app = explore 50 [navigation.app_standalone_pages] /a/org-example-app/metrics = dashboards 100 /a/org-example-app/logs = alerting 75

Grafana plugin types

Grafana supports three types of plugins: Panels, Data sources, and Apps. Panel plugins add new visualizations to dashboards. Data source plugins add support for new databases and external data sources. App plugins bundle data sources, panels, dashboards, and Grafana pages into a cohesive experience.

Panel plugin uses

Panel plugins are used to visualize data returned by data source queries, navigate between dashboards, and control external systems such as smart home devices.

Data source plugin uses

Data source plugins are used when you want to query data from external or third-party systems. They communicate with external sources of data and return the data in a format that Grafana understands, allowing immediate use of the data in existing dashboards.

App plugin uses

App plugins are used when you want an out-of-the-box monitoring experience. They bundle data sources and panels to provide a cohesive experience and can add custom pages for things like control panels.

Data source plugin access control with LBAC

Administrators can grant access to data source plugins using Label Based Access Control (LBAC). LBAC customizes access rights based on team memberships, ensuring that users only query data relevant to their assigned permissions.

App plugin access control with RBAC

Access to app plugins is customized with RBAC (Role Based Access Control). By default, the Viewer, Editor and Admin roles have access to all app plugins that their Organization role allows them to access. Access is granted by the `fixed:plugins.app:reader` role.

Check Parca plugin updates

Navigate to Plugins and data > Plugins to check for Parca plugin updates. Grafana recommends upgrading to the latest Grafana version, and this applies to plugins as well. Plugins are automatically updated in Grafana Cloud.

Plugin directory location and configuration

Grafana scans a plugin directory to discover plugins. The location depends on the operating system. To configure the plugin directory, find the plugins property in the Grafana configuration file and set it to the path of your plugins directory. The configuration uses an ini format under the [paths] section with the syntax: plugins = "/path/to/grafana-plugins"

Restart Grafana after changing plugin configuration

After changing the plugins property in the Grafana configuration file, you must restart Grafana for it to load the new configuration.

Docker setup for plugin development

To set up Grafana for plugin development using Docker, run: docker run -d -p 3000:3000 -v "$(pwd)"/grafana-plugins:/var/lib/grafana/plugins --name=grafana grafana/grafana:7.0.0. This command runs Grafana in detached mode, maps port 3000, and mounts the local grafana-plugins directory to the container's plugin directory.

Restarting Grafana container after adding or removing plugins

Since Grafana only loads plugins on start-up, you must restart the container whenever you add or remove a plugin. Use the command: docker restart grafana

Hubot-Grafana plugin installation via npm

To install the Hubot-Grafana plugin in a Hubot project, run 'npm install hubot-grafana --save'. Then edit the external-scripts.json file and add hubot-grafana to the list of plugins, for example: ["hubot-pugme", "hubot-shipit", "hubot-grafana"].

Hubot-Grafana required environment variables

The Hubot-Grafana plugin requires two environment variables: HUBOT_GRAFANA_HOST (the URL of the Grafana server, e.g., https://play.grafana.org) and HUBOT_GRAFANA_API_KEY (a Grafana API key). Additional optional environment variables can be set to control the appearance of graphs. API keys can be generated from the API Keys page accessed via the Organization dropdown in Grafana.

Hubot commands for rendering dashboards

Hubot-Grafana supports the following commands: 'hubot graf list' lists available dashboards; 'hubot graf db graphite-carbon-metrics' graphs all panels in a dashboard; 'hubot graf db graphite-carbon-metrics:3' graphs only panel with id 3; 'hubot graf db graphite-carbon-metrics:cpu' graphs only panels containing 'cpu' in the title (case insensitive); 'hubot graf db graphite-carbon-metrics now-12hr' gets a dashboard with a 12-hour time window from now; 'hubot graf db graphite-carbon-metrics now-24hr now-12hr' gets a dashboard with a time window from 24 hours ago to 12 hours ago; 'hubot graf db graphite-carbon-metrics:3 now-8d now-1d' gets only panel 3 with a time window from 8 days ago to yesterday; 'hubot graf db graphite-carbon-metrics host=carbon-a' gets a templated dashboard with the $host parameter set to carbon-a.

Hubot-Grafana image uploading options

Hubot-Grafana supports multiple image uploading approaches: for Slack, Rocket.Chat, and Telegram, the adapter's native uploader handles API uploads; for platforms without native upload support like IRC, a built-in S3 uploader is available. When S3 is configured, it bypasses the adapter's upload features.

Creating Hubot command aliases with hubot-alias

To create shorter command aliases for frequently used Hubot-Grafana commands, install hubot-alias via 'npm i --save hubot-alias', add it to external-scripts.json, and restart Hubot. Aliases can then be created using the format 'hubot alias graf-lb=graf db loadbalancers:2 now-20m' to assign shorter names to longer dashboard commands.

Give your agent this brain