Section: Munin Documentation (5)
munin.conf - Munin configuration file
Munin is a group of programs to gather data from hosts, graph them,create html-pages, and optionally warn contacts about any off-limitvalues.
The hosts are divided into three groups: One master (could be more,but Munin is not cluster aware so they'll likely be independent). Themaster contacts a number of machines running munin-node, these arecalled nodes. Each node has data from one or more hosts that ismonitored by Munin.
munin.conf is the configuration file for the Munin master server.The programs using it are munin-update, munin-graph, munin-limits andmunin-html. There is also quite extensive documentation of this fileat <http://munin-monitoring.org/wiki/munin.conf>
The format of the file is simple. A minimal configuration lookssomething like:
[machine1.your.dom] address localhost
The default location of munin.conf is /etc/munin/munin.conf.If your placement deviates from this norm, use the ``--config<file>''-option when running the munin-* programs.
Munin-update will expand all node-entries in this file, and save themto /var/lib/munin/datafile, which is used by all programs in the packagetogether with this file.
Any directives in this file will override directives of the same namein datafile. E.g., if you want to change the title of the``load''-graph in the above minimum configuration, you would modify thetwo bottom lines to:
[machine1.your.dom] address localhost load.graph_title Edited title of the load-graph
This will override the "graph_title" attribute of the "load"field/data series while keeping all the others at their default.
These directives should appear in munin.conf
before any host orgroup definitions.
- dbdir path (Default: /var/lib/munin)
- Directory for generated database files. Required.
- logdir path (Default: /var/log/munin)
- Directory for log files. Required.
- htmldir path (Default: /srv/www/htdocs/munin)
- Directory for HTML pages and graphs. Required.
- rundir path (Default: /var/run/munin)
- Directory for files tracking munin's current running state. Required.
- tmpldir path (Default: /etc/munin/templates)
- Directory for templates used to generate HTML pages. Required.
- fork value
- This directive determines whether munin-update fork when gatheringinformation from nodes. Possible values are "yes" and "no".Default is "yes". If you set it to "no" munin-update will collectdata from the nodes in sequence rather than in parallel and this willtake considerably more time. Affects: munin-update.
- palette default|old
- Choose palette between the very nice ""default"``, and the good old''"old"".
- graph_data_size value
- This directive sets the resolution of the RRD files that are created.Possible values are "normal" and "huge". Default is "normal"."Huge" is really huge, it saves the complete data with 5 minuteresolution for 400 days. This will probably increase the I/O load onyour Munin master, and currently has very little benefit. Affects:munin-update.
- graph_strategy value
- Deprecated. (Graphs are now always drawn via CGI.)
- local_address value
- The local address to connect any node from in case the master hasseveral IP interfaces. This can be overridden by a group or globaldirective. Without this directive Munins traffic will originate fromthe master server according to the IP routing table.
- max_processes <value>
- This directive specifies the maximum number of processes to be usedfor gathering information from nodes. If left blank, munin will useas many processes as necessary. Affects: munin-update.
- max_graph_jobs <value>
- This directive specifies the maximum number of concurrent rrdgraphproesses started by munin-graph. The default is 6. A setting of 0disables concurrent processing. Affects: munin-graph
- max_cgi_graph_jobs <value>
- This directive specifies the maximum number of concurrentmunin-cgi-graph jobs. The web server can start a high number ofmunin-cgi-graph jobs which we can't stop, but munin-cgi-graph willthrottle down how many rrdgraph calls will be running at the same timeto this number. Affects: munin-cgi-graph and munin-fastcgi-graph.
- tls <value>
- Can have four values. "paranoid", "enabled", "auto", and"disabled". "Paranoid" and "enabled" require a TLS connection,while "disabled" will not attempt one at all.
The current default is "disabled" because "auto" is broken. "Auto"causes bad interaction between munin-update and munin-node if the nodeis unprepared to go to TLS.
If you see data dropouts (gaps in graphs) please try to disable TLS.Affects: munin-update.
- tls_verify_certificate <value>
- This directive can be "yes" or "no". It determines if the remotecertificate needs to be signed by a CA that is known locally. Defaultis "no". Affects: munin-update.
- tls_private_key <value>
- This directive sets the location of the private key to be used forTLS. Default is /etc/munin/munin.pem. The private key andcertificate can be stored in the same file. Affects: munin-update.
- tls_certificate <value>
- This directive sets the location of the TLS certificate to be used forTLS. Default is /etc/munin/munin.pem. The private key andcertificate can be stored in the same file. Affects: munin-update.
- tls_ca_certificate <value>
- This directive sets the CA certificate to be used to verify the node'scertificate, if tls_verify_certificate is set to "yes". Default is/etc/munin/cacert.pem. Affects: munin-update.
- tls_verify_depth <value>
- This directive sets how many signings up a chain of signatures TLS iswilling to go to reach a known, trusted CA when verifying acertificate. Default is 5. Affects: munin-update.
- tls_match <value>
- This directive, if defined, searches a dump of the certificate provided by theremote host for the given regex. The dump of the certificate is two lines ofthe form:
Subject Name: /C=c/ST=st/L=l/O=o/OU=ou/CN=cn/emailAddress=email Issuer Name: /C=c/ST=st/O=o/OU=ou/CN=cn/emailAddress=email
So, for example, one could match the subject distinguished name by the directive:
tls_match Subject Name: /C=c/ST=st/L=l/O=o/OU=ou/CN=cn/emailAddress=email
Note that the fields are dumped in the order they appear in the certificate.It's best to view the dump of the certificate by running munin-update in debugmode and reviewing the logs.
Unfortunately, due to the limited functionality of the SSL module in use, it isnot possible to provide finer-grained filtering. By default this value is notdefined. Affects: munin-update.
- FIXME: This section MAY be complete, it may be missing a directive or two.
Host definitions can have several types. In all forms, the definitionis used to generate the host name and group for the host, and thefollowing lines define its directives. All following directives applyto that node until another node definition or EOF.
Note that whendefining a nodename it is vital that you use a standard DNS
name, asin, one that uses only a-z, '-', and '.'. While other characters canbe used in a DNS
name, it is against the RFC,
and Munin uses the othercharacters as delimiters. If they appear in nodenames, unexpectedbehavior may occur.
The simplest node definition defines the section for a new node bysimply wrapping the DNS name of the node in brackets, e.g."[machine1.your.dom]". This will add the node "machine1.your.dom"to the group "your.dom".
The next form of definition is used to define the node and groupindependently. It follows the form"[your.dom;machine1.sub.your.dom]". This adds the node"machine1.sub.your.dom" to the group "your.dom". This can be usefulif you have machines you want to put together as a group that areunder different domains (as in the given example). This can alsosolve a problem if your machine is "machine1.com", where having agroup of "com" makes little sense.
Multiple groups can be specified by adding more "groupname;"s, e.g."[servers;local;mail;mail.foo.net]", if you need a more hierarchicalstructure.
These are directives that can follow a node definition and will applyonly to that node.
- address <value>
- The IP address of the node. Required.
- local_address <value>
- The local address to connect to the node from. This overrides a group orglobal directive.
- FIXME: This section is incomplete.
These directives should appear after a node definition and are of theform "plugin.directive <value>"
. Using these directives youcan override various directives for a plugin, such as its contacts,and can also be used to create graphs containing data from otherplugins.
- FIXME: This section is (obviously) incomplete.
These directives should appear after a node definition and are of theform "plugin.field <value>"
. Using these directives you canoverride values originally set by plugins on the nodes, such aswarning and critical levels or graph names.
- graph_height <value>
- The graph height for a specific service. Default is 175. Affects:munin-graph.
- graph_width <value>
- The graph width for a specific service. Default is 400. Affects:munin-graph.
- warning <value>
- The value at which munin-limits will mark the service as being in awarning state. Value can be a single number to specify a limit thatmust be passed or they can be a comma separated pair of numbersdefining a valid range of values. Affects: munin-limits.
- critical <value>
- The value at which munin-limits will mark the service as being in acritical state. Value can be a single number to specify a limit thatmust be passed or they can be a comma separated pair of numbersdefining a valid range of values Affects: munin-limits.
- FIXME: This section is incomplete.
On all the examples below, all the 'top-level' parameters (dbdir,logdir, htmldir, tmpldir) are not present. They are only skipped forbrevity - they are needed.
An example with three servers on two domains:
[machine1.one.dom] address machine1.one.dom [machine2.one.dom] address 10.33.32.123 [machine3.two.dom] address localhost
This will appear as two groups (one.dom and two.dom), havingrespectively two and one node.
Summarize the 'load'-graphs of the two servers in one.dom, in a 'totalload'-graph.
[one.dom;Totals] update no load.graph_title Total load load.sum_load.label load load.sum_load.special_stack machine1=machine1.one.dom:load.load machine2=machine2.one.dom:load.load
Jimmy Olsen, Audun Ytterdal, Brian de Wolf, Nicolai Langfeldt
Copyright (C) 2002-2008 Audun Ytterdal, Jimmy Olsen, NicolaiLangfeldt, Linpro AS
This is free software; see the source for copying conditions. There isNO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULARPURPOSE.
This program is released under the GNU General Public License
For more information, see the man pages of the individual munin-*programs or the Munin homepage <http://munin-monitoring.org/
- GLOBAL DIRECTIVES
- HOST DEFINITIONS
- NODE DIRECTIVES
- PLUGIN DIRECTIVES
- FIELD DIRECTIVES
- EXAMPLE 1
- EXAMPLE 2
- SEE ALSO
This document was created byman2html,using the manual pages.