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 youll 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 and others
Linux-Debian for Debian and Ubuntu
Linux-Gentoo for Gentoo
Linux-Slack for Slackware
Linux-SusE for openSuSE
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. Dont worry if this server dont 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, youll have to install Monitorix in the other servers, but you dont 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 its 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_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 its 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 representationDefault 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 valueYour 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, youll want specify this in order to get the CPU, system board and/or SCSI backplane temperatures. The HP Insight Management Agent must be installed.SENSORS_LISTThe 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-570Default value: none
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 VThen 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.Its 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°CIf 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.
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.
PORT01 ... PORT12
PORT01_NAME ... PORT12_NAMEYou 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 IMAPSERV_LIST
This is a list of all the remote servers where Monitorix its 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 dont 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 its 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 dont 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.4.2 | monitorix.conf (5) | February 2010 |



