Monitorix logo
Welcome to The Monitorix Project
... in embedded devices or in production servers?
monitorix.conf.5


Manual Reference Pages  - monitorix.conf (5)

NAME

monitorix.conf - Configuration file for Monitorix.

CONTENTS

Synopsis
Description
Configuration Options
Files
Author

SYNOPSIS

Monitorix is a free, open source, lightweight system monitoring tool designed to monitorize as many services as possible. At this time it monitors from the CPU load and temperatures to the users using the system. Network devices activity, network services demand and even the devices’ interrupt activity are also monitored. The current status of any corporate UNIX/Linux server with Monitorix installed can be accessed via a web browser.

DESCRIPTION

This configuration file is a Perl file where you set the value directly to the variables that Monitorix will use during its normal operation. So be careful when touching this file, taking special attention to not break some Perl basic syntax.

The location of this file varies from operating system to operating system, but the right location should be in /etc/monitorix.conf.

CONFIGURATION OPTIONS

Because this file follows the Perl syntax you’ll find different type of options (scalar or normal variables, arrays and associative arrays), each one prefixed with $, @ and % respectively. This is important to keep in mind as the prefix symbols indicates you what type of values accepts each option.

Remember to enclose all the values using double quotes.

TITLE

A description of the server, or where it is located or the Company name, etc.

Default value: FIBRANET NSP, SL

HOSTNAME

The name of the host.

Default value: none

OSTYPE

This option identify the system type where Monitorix is installed. The possible values are:

Linux-RHFC for RedHat/Fedora/CentOS Linux
Linux-Arch for Arch Linux
Linux-Debian for Debian/Ubuntu Linux
Linux-Gentoo for Gentoo Linux
Linux-Slack for Slackware Linux
Linux-SusE for openSuSE Linux
Linux-Generic for the rest of Linux distributions (?)
FreeBSD for FreeBSD (since 6.2-RELEASE)

Default value: Linux-RHFC

SAMBAVER

Set the version of the Samba installed in the server. The possible values are 2 or 3. Don’t worry if this server don’t have Samba installed.

Default value: 3

MULTIHOST

If you plan to install Monitorix in only one server then just leave this with N, otherwise you may want set it to Y. In that case, you’ll have to install Monitorix in the other servers, but you don’t need to setup to Y this variable in the other servers. This is not relevant. Next you will want to setup the list of servers where the Monitorix is running in order to monitorize them remotely. See SERV_LIST below to know how to do that.

Default value: N

MULTIHOST_FOOTER

If set to Y Monitorix will show the original URL of the server in the bottom part of the graph. Only where the security is important you may want to be silent about this aspect.

Default value: Y

MULTIHOST_IMGPERLINE

If your screen resolution is very wide (1280 pixels or more), your browser may fit more than 2 graphs per line. This variable sets this.

Default value: 2

REPORT_LANG

The first day of each month, if configured, Monitorix will send to the specified email address, a report of all the monthly Internet activity of the pre-selected PCs in the LAN. With this option you can define the language used in that monthly report. The possible value are: ca, de, en or it.

Default value: en

THEME_COLOR

RRDtool comes with a default white theme and because Monitorix introduces its own black theme, you only have two predefined themes to choose.

Default value: black

REFRESH_RATE

The browser refresh rate of the statistics web page (in seconds).

Default value: 150

ENABLE_CROND_MAIL

Monitorix error messages are sent by crond to root account by default, so it’s recommendable not disable this option unless you know what are you doing.

Default value: Y

ENABLE_CPU

This enables or disables the CPU load average and memory usage graph.

Default value: Y

ENABLE_KERN

This enables or disables the global kernel usage graph.

Default value: Y

ENABLE_PROC

This enables or disables the per processor kernel usage graphs.

Default value: Y

ENABLE_DISK

This enables or disables the disk i/o activity and usage graph.

Default value: Y

ENABLE_NET

This enables or disables the network traffic and usage graphs.

Default value: Y

ENABLE_SERVU

This enables or disables the network services demand graph.

Default value: Y

ENABLE_MAIL

This enables or disables the mail statistics graph.

Default value: N

ENABLE_PORT

This enables or disables the network port traffic graphs.

Default value: Y

ENABLE_USER

This enables or disables the users using the system graph.

Default value: Y

ENABLE_NGINX

This enables or disables the Nginx statistics graph. See the file README.nginx for more information.

Default value: N

ENABLE_INT

This enables or disables the devices interrupt activity graph.

Default value: Y

ENABLE_LMTEMP

This enables or disables the LM-Sensors and disk temperatures graph. See SENSORS_LIST and HDDTEMP_LIST below to know how to proceed.

Default value: N

ENABLE_ZOOM

This permits to click on any graph image and see a bigger picture (zoomed) of it. It is specially useful when you need to see a graph with more detail.

Default value: Y

IFACE_MODE

This defines how will be shown the data in the browser. So far all the values have been represented by graphs rendered using RRDtool. Since the 1.4.0 version it’s possible to represent the same data using plain text tables.

This will make life easier either for people with vision impairments using screen readers software and for automatic processing of the data.

The possible values are:

graph for rendered graphs
text for plain text representation

Default value: graph

ENABLE_ALERTS

This enables or disables the alert capabilities that were introduced in the 1.4.0 version. The only alert currently supported is about the CPU load average. It uses the third CPU load average value, (the one that represents the last 15 minutes of load average), and if it reaches the ALERT_CPU_THRESHOLD value for the interval of time defined in ALERT_CPU_TIMEINTVL it will execute the external shell-script defined in ALERT_CPU_SCRIPT.

Default value: N

ALERT_CPU_TIMEINTVL

This is the period of time (in seconds) that the threshold needs to be exceeded before executing the external shell-script.

Default value: 3600

ALERT_CPU_THRESHOLD

This is the value that needs to be reached or exceeded within the specified time period in ALERT_CPU_TIMEINTVL to trigger the mechanism for a particular action. In this case the execution of an external shell-script.

The value of this option is compared directly with the last 15 minutes of CPU load average.

Default value: 5.0

ALERT_CPU_SCRIPT

This is the full path name of the shell-script that will be executed by this alert.

It will receive the following three parameters:

Current defined value in ALERT_CPU_TIMEINTVL
Current defined value in ALERT_CPU_THRESHOLD
Current CPU load average 15min value

Your Monitorix installation should include an alert shell-script example named monitorix-alert.sh. Use it as a base for your own script.

Default value: /path/to/script.sh

MEMORY

Since 1.4.2 version, Monitorix is able to detect automatically the total amount of memory in the system, so this option instead of remain obsolete, it now serves to force the usage of a specific amount of memory (in MiB).

Default value: none

KERN_GRAPH_MODE

This changes the behaviour of the kernel usage graph, the possible values are R for a real graph, or S for a stackable graph.

Default value: R

MACHINE

If this is a Hewlett-Packard ProLiant server and is a supported system, you’ll want specify this in order to get the CPU, system board and/or SCSI backplane temperatures. The HP Insight Management Agent must be installed.

The possible values are:

ML310 for HP ProLiant ML-310
ML330 for HP ProLiant ML-330
ML350 for HP ProLiant ML-350
ML570 for HP ProLiant ML-570

Default value: none

SENSORS_LIST
When the ENABLE_LMTEMP option is enabled you may specify in this associative array the sensors you want to monitorize with the same names as they appear in your ’sensors’ command.

For example, imagine that the output of your ’sensors’ command is:

# sensors
Temp1/CPU:      +36.00 C
Temp2/MB:       +29.00 C
Temp3/AUX:      failed
Fan1:             1440 RPM
Fan2:                0 RPM
Fan3:             3420 RPM
+12V:           +11.75 V
+5V:             +5.12 V
Battery:         +3.03 V

Then you may configure the SENSORS_LIST associative array as:

our %SENSORS_LIST = ("MB" => "Temp2/MB",
"CPU1" => "Temp1/CPU",
"FAN1" => "Fan1",
"FAN2" => "Fan2",
"FAN3" => "Fan3");

It accepts up to 4 CPUs and up to 3 Fans. The possible values are: MB, CPU1, CPU2, CPU3, CPU4, FAN1, FAN2 and FAN3.

HDDTEMP_LIST

When the ENABLE_LMTEMP option is enabled you may specify in this array the disk device names that you want to monitorize. Keep in mind that the ’hddtemp’ command is required to collect the disk drives temperatures.

It’s recommendable to test first if ’hddtemp’ is able to collect the temperature of the device drive that you plan monitorize. You may test this with the following command:

# hddtemp /dev/hda
/dev/hda: ST3200820A: 37°C
If you see good results, you can add it in the list. An example would be:
our @HDDTEMP_LIST = ("/dev/hda",
"/dev/sda",
"/dev/sdb");

The maximum number of device drives being monitorized is 9.

MNT_LIST

This is the list of the mounted filesystems (not including the root filesystem /), to be monitorized. Take special care to put the same name as appears in the output of the ’df’ command. An example would be:

our @MNT_LIST =("/boot",
"/var",
"/tmp");

The maximum allowed is 7.

NET_LIST

This is the list of network interfaces that you want to monitorize. Put one interface per entry. An example would be:

our @NET_LIST =("eth0",
"eth1");

The maximum allowed is 5.

NET_TYPE

This is the list where to put the description of each network interface listed in the NET_LIST. Put one description per each interface listed. An example would be:

our @NET_TYPE =("FastEthernet LAN",
"ADSL 10Mb Internet");

The maximum allowed is 5.

NET_RIGID

This is the list where to put the rigidness that will affect how the graph will be scaled.

The possible values are:

0 for No rigid, no lower-limit and no upper-limit
1 for No rigid, but with lower-limit and upper-limit
2 for Rigid with lower-limit and upper-limit

Remember to put an entry for each network interface listed in the NET_LIST. An example would be:

our @NET_RIGID =("0",
"2");

The maximum allowed is 5.

NET_LIMIT

This is the list where to put the upper limit value of the graph. Since Monitorix uses MB/s (Mega Bytes per second) instead of Mb/s (Mega Bits per second), the value accepted here must be in bytes.

Remember to put an entry for each network interface listed in the NET_LIST. Following the description of the above example, it would be:

our @NET_LIMIT =("10000000",
"1000000");

That is:

"Fast Ethernet LAN" means 100Mb/s, which means ~10MB/s which means 10000000 bytes.

and

"ADSL 10Mb Internet" means 10Mb/s, which means ~1MB/s which means 1000000 bytes.

The maximum allowed is 5.

INETIF

Put here the network interface name that acts as the gateway for this server. This is mainly used if you plan to control the network traffic usage of the PCs on your LAN using the the PC_LIST below.

SHOW_QUEUE

This option changes the view of the top-right graph in the mail statistics graph. The two possible values are Y to show the mail queue, or N to show the mail traffic in KB/s. This network traffic is almost the same one that appears in the SMTP network port traffic graph except that the data is collected directly from the MTA instead of using iptables (on Linux systems).

Default value: Y

MTA

This option specifies the MTA that Monitorix will use to collect the statistics information. In the future more MTA will be supported.

The currently supported MTAs are:

sendmail

Default value: sendmail

GREYLIST

This option specifies the Greylisting implementation that Monitorix will use to collect the statistics information. In the future more Greylisting software will be supported.

The currently supported Greylistings are:

milter-greylist

Default value: milter-greylist

PORT01 ... PORT12
PORT01_NAME ... PORT12_NAME

You may define up to 12 different network ports to monitorize. If you see the graph with a red color in the background it means that there is not any daemon listening on that port. This can be useful to know if some service gone down unexpectedly.

The default ports and names are:

25 SMTP
21 FTP
80 HTTP
22 SSH
23 TELNET
11P POP3
139 NETBIOS
3306 MYSQL
4559 HYLAFAX
3128 SQUID
53 DNS
143 IMAP

SERV_LIST

This is a list of all the remote servers where Monitorix it’s already installed and you plan to monitorize them from this one. It consists of a pair of values being in the left side the description of each server and in the right side the URL or IP.

There is a crucial difference between specifying a URL or an IP because the way how the graphs will be collected will change completely. The standard way is using URLs so it will need to have installed a web server on each remote server.

For those who don’t want to install a web server on every server being monitorized, see USING RRDTOOL AS A DAEMON below.

An example of this list would be:

our @SERV_LIST=("Main Linux", "http://linux.domain.lan",
"Mail Linux", "http://192.168.1.4",
"SMTP Linux", "http://71.16.11.2:8080");

As you can see all three entries use URLs to designate the location of each remote server. This means that on each server most have been installed a CGI capable web server like Apache. Actually it’s the same requirement for a standalone server.

MONITORIZING THE INTERNET TRAFFIC OF LAN PCs

If your server acts as the gateway for a group of PCs in your local LAN, maybe you want to know what internet traffic is using each one of them. The maximum number of PCs being monitorized is 100.

The following are the options you will need to configure to accomplish all of this.

PC_DEFMAIL

Default email address where to send the monthly reports. This option is only used if the PC_MAIL option is empty.

Default value: root@localhost

PC_MAIL

This is a list of email addresses (one per entry) that corresponds to each PC listed in the PC_LIST and PC_IP lists. If this list is empty then the PC_DEFMAIL option will be used as the default email address for all the PCs.

An example would be:

our @PC_MAIL = ("user1@mydomain.lan",
"user2@mydomain.lan",
"user3@mydomain.lan");

With this configuration a monthly report for each listed PC will be send to its correspoding email address.

Remember, the maximum allowed is 100 entries.

PC_LIST

This is a list of names of the PCs, printers, or any device with an IP address in the LAN that you want to be monitorized. The only requirement to account their network traffic is that they must have as the gateway the IP of this server.

If the names in this list are able to be resolved by a DNS query then you don’t need to define the PC_IP list with their corresponding IP addresses.

An example would be:

our @PC_LIST = ("pc001",
"pc002",
"pc003",
"lan34");

Remember, the maximum allowed is 100 entries.

PC_IP

This is a list of IP addresses and network masks corresponding to the entries defined in the PC_LIST. This list is only used when the those entries are not resolvable through a DNS query.

An example would be:

our @PC_IP = ("192.168.1.101/32",
"192.168.1.102/32",
"192.168.1.103/32",
"10.45.100.0/24");

Remember, the maximum allowed is 100 entries.

USING RRDTOOL AS A DAEMON

To do.

UNDERSTANDING THE RIGID AND LIMIT VALUES

To do.

FILES

/etc/monitorix.conf

AUTHOR

Monitorix was written by Jordi Sanfeliu <jordi@fibranet.cat>.

SEE ALSO

rrdtool(1)


1.5.1 monitorix.conf (5) June 2010
Generated by manServer 1.07 from monitorix.conf.5 using man macros.