diff options
Diffstat (limited to 'stories/projects/minimunin.rst')
| -rw-r--r-- | stories/projects/minimunin.rst | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/stories/projects/minimunin.rst b/stories/projects/minimunin.rst new file mode 100644 index 0000000..170c30a --- /dev/null +++ b/stories/projects/minimunin.rst | |||
| @@ -0,0 +1,75 @@ | |||
| 1 | .. link: | ||
| 2 | .. description: is a tiny munin-node implementation for FreeBSD written in pure bourne shell providing basic plugin support. | ||
| 3 | .. tags: project | ||
| 4 | .. date: 2015/02/01 19:10:08 | ||
| 5 | .. title: minimunin | ||
| 6 | .. subtitle: A tiny munin-node implementation for FreeBSD written in pure bourne shell providing basic plugin support | ||
| 7 | .. slug: ../arts/software/minimunin/index | ||
| 8 | .. prio: 800 | ||
| 9 | |||
| 10 | .. contents:: | ||
| 11 | :depth: 1 | ||
| 12 | :class: ezjail-toc | ||
| 13 | |||
| 14 | ---- | ||
| 15 | |||
| 16 | Overview | ||
| 17 | ======== | ||
| 18 | |||
| 19 | .. image:: http://www.freebsd.org/gifs/daemon_hammer-tn25.jpg | ||
| 20 | :align: right | ||
| 21 | |||
| 22 | `munin <http://munin-monitoring.org/>`_ is an open source multi platform service monitoring framework, written in perl. Munin nodes report server statistics to their respective masters. Unfortunally, the munin-node script is written in perl, too – even though the language features never actually are used. On a FreeBSD system this introduces unnecessary dependencies. *minimunin* tries to address this: It was implemented as a simple shell script triggered from inetd.conf and comes with some handy built in monitoring commands. Most of the munin plugins should also work. | ||
| 23 | |||
| 24 | ---- | ||
| 25 | |||
| 26 | Code | ||
| 27 | ==== | ||
| 28 | |||
| 29 | You can always get the latest version of *minimunin*, use ``git clone git://erdgeist.org/minimunin` or the legacy view ``cvs -d :pserver:anoncvs@cvs.erdgeist.org:/home/cvsroot co minimunin`` with an empty password to check it out. There is a `minimunin tarball <minimunin-0.2.tar.bz2>`_. You can scroll through the source at `minimunin gitweb </gitweb/minimunin>` or `minimunin cvsweb (deprecated) </cvsweb/minimunin>`_. Typing ``make install`` installs the binary in your ``${PREFIX}/bin`` (or ``/usr/local``, if none is set). | ||
| 30 | |||
| 31 | ---- | ||
| 32 | |||
| 33 | Installation | ||
| 34 | ============ | ||
| 35 | |||
| 36 | After getting *minimunin* either from source or by installing the FreeBSD port/package, you need to activate *minimunin*. Just add the line:: | ||
| 37 | |||
| 38 | munin stream tcp nowait nobody /usr/libexec/tcpd /usr/local/bin/minimunin | ||
| 39 | |||
| 40 | to your ``/etc/inetd.conf``. Alternatively, if you plan to run plugins that require root permissions (e.g. for changing to a different user via the plugin config), add:: | ||
| 41 | |||
| 42 | munin stream tcp nowait root /usr/libexec/tcpd /usr/local/bin/minimunin`` to your ``/etc/inetd.conf | ||
| 43 | |||
| 44 | In both cases you need to enable inetd by setting ``inetd_enable="YES"`` in your ``/etc/rc.conf`` and restart inetd with the ``service inetd start`` command. You may also want to restrict access to your munin node via the ``/etc/hosts.allow`` and ``/etc/hosts.deny`` configuration files. | ||
| 45 | |||
| 46 | ---- | ||
| 47 | |||
| 48 | Plugins | ||
| 49 | ======= | ||
| 50 | |||
| 51 | Munin has been designed to allow administrators to `write their own plugins <http://munin-monitoring.org/wiki/HowToWritePlugins>`_ to provide statistics not covered by the base installation. You can find `many munin plugins here <http://munin-monitoring.org/browser/munin-contrib/plugins>`_. *minimunin* can execute those plugins, as well. It expects plugin files in the folder /usr/local/etc/minimunin-plugins and will ignore `wild card plugins <http://munin-monitoring.org/wiki/WildcardPlugins>`_. In order to use them (after reading the documentation on the project website ;) create the appropriate soft link, e.g. ``ln -s if_ /usr/local/etc/minimunin-plugins/if_bge0``. Please note that the plugins must be executable and you may need to install further dependencies for plugins, such as perl, python or monitoring helpers. | ||
| 52 | |||
| 53 | munin plugins `can be configured with ini-file style config files <http://munin-monitoring.org/wiki/plugin-conf.d>`_. *minimunin* expects config to reside under ``/usr/local/etc/minimunin-configs``, either as a single config file or a directory containing respective configs. Currently *minimunin* only supports the config parameters ``env.``-variables, ``user`` and ``command``. The ``group`` and ``timeout`` config parameters are not supported. The ``user`` parameter only works if *minimunin* finds itself being root and otherwise silently ignores the ``user`` parameter. | ||
| 54 | |||
| 55 | ---- | ||
| 56 | |||
| 57 | Version history | ||
| 58 | =============== | ||
| 59 | |||
| 60 | * V0.2 `minimunin-0.2.tar.bz2 <minimunin-0.2.tar.bz2>`_ (2014-13-02) | ||
| 61 | |||
| 62 | * Fixed a bug where uptime was not reported correctly. Thanks to Lothar Schmidt. | ||
| 63 | * Fixed a bug where only the last environment setting of a plugin config was obeyed. Thanks to Philipp Wünsche. | ||
| 64 | * V0.1 `minimunin-0.1.tar.bz2 <minimunin-0.1.tar.bz2>`_ (2013-09-29) | ||
| 65 | |||
| 66 | * First version, no diffs to previous ones ;) | ||
| 67 | |||
| 68 | ---- | ||
| 69 | |||
| 70 | License | ||
| 71 | ======= | ||
| 72 | |||
| 73 | *minimunin* was written by `Dirk Engling <mailto:erdgeist@erdgeist.org>`_ and is considered `beer ware </beerware.html>`_. | ||
| 74 | |||
| 75 | Please do not even think about hesitating to contact me via email or `@erdgeist <http://twitter.com/erdgeist>`_ on twitter. | ||
