Permalink
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
77 lines (47 sloc) 5.43 KB

Plugin Gallery

.. index::
   pair: development; plugin
   pair: plugin; contribute
   pair: plugin; documentation
   pair: plugin; gallery

In the gallery you can browse description and graph images for our Munin Plugins. It is not ready and complete yet. Example graph images are still missing and many plugins have empty documentation pages (due to missing perldoc sections in the plugin script).

Here some examples pages with graph images:

The HTML-Presentation is auto-generated in a daily cronjob at our project server. It generates the plugins documentation page, that is accessible via :ref:`munindoc <munindoc>` otherwise. Example graphs for the plugins have to be placed in our github repositories.

Help from contributors is welcome. Please take a look at the instructions in the next section below.

The gallery has two showrooms. One called Core Collection for the plugins that we deliver with the distribution of Munin-Node and one called 3rd-Party Collection for the plugins from the wild, that were uploaded to our Contrib-Repository. Especially the latter need a lot of documentation work and we are happy if you add info in perldoc format and representative example graph images to the contrib repo. The more descriptive content is there, the more helpful the Plugin Gallery will be.

Categories

The plugins category is the main navigation criterion of the galley. So the first step of the build procedure is the search for the keyword graph_category within the plugin scripts and parse the string, that follows in the same line. It makes things easier if you don't use spaces within in the cagetories name. Please use the character underscore instead if a separator is needed.

The following pages contain information and recommendations concerning categories:

Rules for plugin contributors

To make sure that we can auto-generate the portrait pages for each plugin please pay attention to the following instructions.

  1. Add documentation about your plugin in perldoc style (information about perldoc) to show with :ref:`munindoc <munindoc>` and in the Plugin Gallery on the web. (See :ref:`Best Current Practices <plugin-bcp-documentation>`).
  • Add these sections at the start or end of your plugins script file.
  1. Upload the plugins files to Github contrib directory.
  • Put the plugins script in a subdirectory named after the software or product that it monitors, e.g. apache, mariadb, postfix. In case of plugins targeting specific operating systems, place these in a subdirectory with that name, e.g. debian or vmware. The directory's name will act as an outline on 2nd level of the plugin gallery (within the plugin category index pages).
  • Don't use generic terms as directory name like "mail". We already use :ref:`generic terms <well-known-categories>` to navigate on the 1st level in the plugin gallery and also in the Munin overview!
  1. Choose and upload a Munin generated graph of your plugin for demonstration purpose.
  • Take one in original size of the Munin website plugin page. Please do not upload scaled images. Each image should be a file in PNG format.
  • Place the image in the subdirectory example-graphs of your plugins directory. This is one level deeper in the file hierarchy.
  • The name of the image file should begin with the name of your plugins script file followed by -day.png for a daily graph, -week.png for a weekly graph, -month.png for a monthly graph, -year.png for a yearly graph, e.g. cpu-day.png or smart_-month.png.
  1. Upload more image files to the subdirectory example-graphs in PNG-Format if you want to illustrate the documentation section Interpretation
  • The filename of such an additional image should match the following format <plugins_name> -n.png with n standing for a digit between 1 and 9, e.g. cpu-1.png

Current state of the project

We have scripts to auto-generate the HTML presentation called "Munin Plugin Gallery" per daily cronjob.

ToDo

Whenever the scripts fails to find the relationship between plugins and categories, we put these into category other. It would be good to improve the plugins data concerning the category or to improve the parse method to decrease the number of these unrelated plugins.