root / plugins / README.md @ e59e2d01
Historique | Voir | Annoter | Télécharger (3,46 ko)
| 1 | e59e2d01 | Lars Kruse | # Contributed Munin Plugins |
|---|---|---|---|
| 2 | |||
| 3 | This plethora of plugins covering various topics was contributed by many different users of [munin](http://munin-monitoring.org). |
||
| 4 | |||
| 5 | See the [gallery](http://gallery.munin-monitoring.org/) for a browsable overview of these plugins. |
||
| 6 | |||
| 7 | |||
| 8 | ## Purpose of this repository |
||
| 9 | |||
| 10 | This repository of contributed plugin strives to achieve the following goals: |
||
| 11 | |||
| 12 | * allow users to find interesting plugins |
||
| 13 | * allow contributors to publish their plugins |
||
| 14 | * simplify cooperative maintenance of plugins |
||
| 15 | |||
| 16 | Contributed plugins are maintained primarily by their authors. |
||
| 17 | You may file bug reports for plugin issue here in this repository (`munin-contrib`), but please do not forget to notify the author the plugin, as well. |
||
| 18 | |||
| 19 | Please note, that this repository is not supposed to be a dumping site for random plugins of low quality. The related infrastructure (e.g the [gallery](http://gallery.munin-monitoring.org/) or automated tests) require a certain level of quality. Please see below for details. |
||
| 20 | |||
| 21 | |||
| 22 | ## Submit a new plugin |
||
| 23 | |||
| 24 | 1. check if a similar plugin exists and if it can be extended/changed instead of adding a new plugin |
||
| 25 | * please avoid code copies - they are a maintenance burden |
||
| 26 | 2. add [documentation](http://guide.munin-monitoring.org/en/latest/develop/documenting.html#plugin-documentation) including configuration, author, license and [magic markers](http://guide.munin-monitoring.org/en/latest/architecture/syntax.html#magic-markers) |
||
| 27 | 3. pick a suitable [category](guide.munin-monitoring.org/en/latest/reference/graph-category.html) |
||
| 28 | 5. use style check tools for the language of the plugin (e.g. `shellcheck` for shell and `flake8` for Python) |
||
| 29 | 6. pick a suitable [name and location](#Plugin_name_and_location) |
||
| 30 | 7. bonus: |
||
| 31 | * use the [multigraph approach](http://guide.munin-monitoring.org/en/latest/plugin/multigraphing.html#plugin-multigraphing) for non-trivial plugins |
||
| 32 | * add [example graphs](http://munin-monitoring.org/wiki/PluginGallery#Rulesforplugincontributors) for the [gallery](http://gallery.munin-monitoring.org/) |
||
| 33 | * support [dirtyconfig](http://guide.munin-monitoring.org/en/latest/plugin/protocol-dirtyconfig.html#plugin-protocol-dirtyconfig) if it is suitable |
||
| 34 | 8. open a [pull request](https://github.com/munin-monitoring/contrib/pull/) with your new plugin or send it attached to an email to the [mailing list](https://lists.sourceforge.net/lists/listinfo/munin-users) |
||
| 35 | |||
| 36 | See the [plugin development documentation](http://guide.munin-monitoring.org/en/latest/develop/plugins/index.html) for more details. |
||
| 37 | |||
| 38 | |||
| 39 | ## Modify an existing plugin |
||
| 40 | |||
| 41 | * *try* to keep the plugin backwards compatible (e.g. keep data fieldnames unchanged) |
||
| 42 | * improvements of code quality and features can justify incompatible changes of existing plugins |
||
| 43 | * bonus: |
||
| 44 | * improve the existing plugins according to the [wishlist for new plugins](#Submit_a_new_plugin) |
||
| 45 | * upgrades from simple plugins to a [multigraph plugin](http://guide.munin-monitoring.org/en/latest/plugin/multigraphing.html#plugin-multigraphing) are welcome |
||
| 46 | |||
| 47 | |||
| 48 | ## Plugin name and location |
||
| 49 | |||
| 50 | The following descriptions are *intentions* - they do not necessarily describe the current state for all plugins. Please open a [pull request](https://github.com/munin-monitoring/contrib/pull/) if you want to align the current structure along the goals outlined below: |
||
| 51 | |||
| 52 | * the top level directory should describe a related *software* or *vendor* |
||
| 53 | * use *concepts* or *platforms* only if it is really necessary (e.g. *cpu*, *bsd*, *memory*) |
||
| 54 | * subdirectories are usually not required |
