Fork me on GitHub
Monitorix logo
Welcome to The Monitorix Project
Take control over your small server
monitorix.conf.5


Manual Reference Pages  - monitorix.conf (5)

NAME

monitorix.conf - Configuration file for Monitorix.

CONTENTS

Description
Configuration Options
     Built-in HTTP server
     Log files pathnames
     Enable or disable graphs
     System load average and usage (system.rrd)
     Global kernel usage (kern.rrd)
     Kernel usage per processor (proc.rrd)
     HP ProLiant System Health (hptemp.rrd)
     LM-Sensors and GPU temperatures (lmsens.rrd)
     NVIDIA temperatures and usage (nvidia.rrd)
     Disk drive temperatures and health (disk.rrd)
     Filesystem usage and I/O activity (fs.rrd)
     Network traffic and usage (net.rrd)
     System services demand (serv.rrd)
     Mail statistics (mail.rrd)
     Network port traffic (port.rrd)
     Users using the system (user.rrd)
     FTP statistics (ftp.rrd)
     Apache statistics (apache.rrd)
     Nginx statistics (nginx.rrd)
     Lighttpd statistics (lighttpd.rrd)
     MySQL statistics (mysql.rrd)
     Squid Proxy Web Cache (squid.rrd)
     NFS server statistics (nfss.rrd)
     NFS client statistics (nfsc.rrd)
     BIND statistics (bind.rrd)
     NTP statistics (ntp.rrd)
     Fail2ban statistics (fail2ban.rrd)
     Icecast Streaming Media Server (icecast.rrd)
     Raspberry Pi sensor statistics (raspberrypi.rrd)
     Devices interrupt activity (int.rrd)
     Monitoring the Internet traffic of your LAN (traffacct.rrd)
     Monthly reports of Internet traffic (traffacct.rrd)
     Monitoring remote servers (Multihost)
Author
Copyright
See Also

DESCRIPTION

Monitorix is a free, open source, lightweight system monitoring tool designed to monitor as many services and system resources as possible. It has been created to be used on production Linux/UNIX servers, but due to its simplicity and small size may also be used to monitor embedded devices as well.

It consists mainly of two programs: a collector, called monitorix, which is a Perl daemon that is started automatically like any other system service, and a CGI script called monitorix.cgi. Since 3.0 version Monitorix includes its own HTTP server built in, so you don’t need to install any web server to use it.

Every time monitorix is started it reads the configuration file from the path specified in the command line (using the -c option), and once checked, it creates the index.html file that will act as the Monitorix main page.

It also creates a file called <base_dir>/cgi/monitorix.conf.path that includes the absolute path of the configuration file. This file will be read by monitorix.cgi to determine the exact location of the configuration file.

CONFIGURATION OPTIONS

Blank lines are ignored, and whitespace before and after a token or value is ignored as well as tabulators, although a value can contain whitespace within. Lines which begin with a # are considered comments and ignored.

If you want to comment out a large block you can use C-style comments. A /* signals the begin of a comment block and the */ signals the end of the comment block.

If an option has multiple values their must be separated by comma.

title

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

Default value: Place a Title Here

hostname

The name of the host.

Default value: none

theme_color

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

Default value: black

refresh_rate

The refresh rate (in seconds) of the statistics web page displayed in your browser. If set to 0, page refreshing is disabled.

Default value: 150

iface_mode

The interface mode defines the manner in which data is shown in the browser. Since version 1.4.0 it has been possible to display the graphic data using plain text tables. This allows Monitorix to be used by those running screen reader software, and also simplifies automatic data processing through scripts.

The possible values are:

graph for rendered graphs
text for plain text representation

Default value: graph

enable_zoom

Zoom allows double clicking any graph in order to see a larger version (zoomed in). This is especially useful for seeing additional detail.

Default value: y

netstats_in_bps

This option toggles network values between bits and bytes per second.

Default value: n

disable_javascript_void

This option enables or disables the use of use javascript:void-URLs when opening windows with zoomed graphs. Some people likes to open links in the background by pressing the middle mouse button in Firefox, and with the default javascript:void-URLs the only they get is an empty window with nothing in it.

Default value: n

temperature_scale

This option toggles between values in Celsius or in Fahrenheit in those graphs that represent temperatures.

The possible values are:

c for Celsius
f for Fahrenheit

Default value: c

base_dir

This is the absolute path to the directory where all the web elements are located:

cgi/ monitorix.cgi script directory
imgs/ .png graph images directory
index.html Monitorix main page
logo_bot.png Monitorix bottom logo
logo_top.png Monitorix top logo
monitorixico.png Monitorix favicon logo

Default value: /usr/share/monitorix/
(depends on the operating system)

base_lib

This is the absolute path to the directory where all of the monthly reports, daily traffic usage, and RRD files are located:

reports/ monthly reports localization directory
usage/ daily traffic usage data directory
*.rrd RRD files

Default value: /var/lib/monitorix/
(depends on the operating system)

base_url

This is the URL prefix that Monitorix utilizes when refering to its own pages and files.

Default value: /monitorix

base_cgi

This is the URL prefix that Monitorix utilizes when refering to monitorix.cgi.

Default value: /monitorix-cgi

    Built-in HTTP server

enabled
This enables or disables the HTTP server that Monitorix has built-in. This is specially useful for system administrators that don’t want to install a web server (Apache, Lighttpd, Nginx, etc.) to see the Monitorix graphs.

Default value: y

port

This is the network port from where the HTTP server will listen on.

Default value: 8080

user/group

This sets the user and group that the HTTP server will run as.

Default value for user: nobody
Default value for group: nobody

log_file

This is the path to the HTTP server log file.

Default value: /var/log/monitorix-httpd

    Log files pathnames

log_file
This is the path to the Monitorix log file. Please check this file periodically and especially after every update to confirm proper operation.

Default value: /var/log/monitorix

secure_log

This is the path to the system log (also known as auth.log, etc.) Monitorix uses this file to report SSH, POP3, FTP and Telnet successful logins.

Default value: /var/log/secure

mail_log

This is the path to the mail log file. Monitorix uses this file to report messages sent (supporting Sendmail and Postfix formats), and the MailScanner log format for spam-mail and virus-mail alerts.

Default value: /var/log/maillog

milter_gl

This is the path to the dump file of milter-greylist.

Default value: /var/milter-greylist/greylist.db

imap_log

This is the path to the IMAP (Dovecot or UW-IMAP) log file. Monitorix uses this file to report IMAP and POP3 successful logins.

Default value: /var/log/imap

hylafax_log

This is the path to the Hylafax log file. Monitorix uses this file to report successful FAX dispatches.

Default value: /var/spool/hylafax/etc/xferfaxlog

cups_log

This is the path to the CUPS page log file. Monitorix uses this file to report on print jobs.

Default value: /var/log/cups/page_log

ftp_log

This is the path to the FTP server (ProFTPD or vsftpd) log. Monitorix uses this file to report FTP successful logins and other FTP-related information.

Default value: /var/log/proftpd/access.log

fail2ban_log

This is the path to the Fail2ban log file. Monitorix uses this file to report IP addresses banned.

Default value: /var/log/fail2ban.log

spamassassin_log

This is the path to the Spamassassin log file. Monitorix uses this file to report spam-mail alerts.

Default value: /var/log/maillog

clamav_log

This is the path to the Clamav log file. Monitorix uses this file to report virus-mail alerts.

Default value: /var/log/clamav/clamav.log

cg_logdir

This is the path to the CommuniGate logs directory. Monitorix uses these files to report the number of mail messages successfully received and sent, and to report IMAP and POP3 successful logins.

Default value: /var/CommuniGate/SystemLogs/

squid_log

This is the path to the Squid log file. Monitorix uses this file to report on Squid Proxy requests.

Default value: /var/log/squid/access.log

imap_log_date_format

This is the Dovecot date format as it appears in the imap_log file.

Default value: %b %d

secure_log_date_format

This is secure_log date format.

Default value: %b %e

    Enable or disable graphs

graph_enable
This enables or disables the monitoring of each graph. Placing a y on a desired graph and restarting Monitorix will automatically create the RRD file for that graph and start gathering information according to its settings.

    System load average and usage (system.rrd)

loadavg_enabled
This section enables or disables the alert capabilities for this graph. Only the alert for the average CPU load is currently implemented. It works as follows:

The CPU load average uses the third value (the one that represents the last 15 minutes of the load average), and if it reaches the loadavg_threshold value for the interval of time defined in loadavg_timeintvl, Monitorix will execute the external alert script defined in loadavg_script.

The default Monitorix installation includes an example of a shell-script alert called monitorix-alert.sh which you can use as a base for your own script.

Default value: n

loadavg_timeintvl

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

Default value: 3600

loadavg_threshold

This is the value that needs to be reached or exceeded within the specified time period in loadavg_timeintvl to trigger the mechanism for a particular action, which in this case is the execution of an external alert script.

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

Default value: 5.0

loadavg_script

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

It will receive the following three parameters:

1st - the value currently defined in loadavg_timeintvl
2nd - the value currently defined in loadavg_threshold
3rd - the current 15min CPU load average

Default value: /path/to/script.sh

    Global kernel usage (kern.rrd)

graph_mode
This changes the layout of the kernel usage graph, the possible values are r for a real graph, or s for a stacked graph (every line or area is stacked on top of the previous element).

Default value: r

list

This is the list of values offered in modern Linux kernels. Older Linux kernels or other Operating Systems may not have all of them. Placing a y or an n will enable or disable the value in the graph.

    Kernel usage per processor (proc.rrd)

max
This is the number of processors or cores that your system has. There is no limit, however keep in mind that every time this number is changed Monitorix will resize the proc.rrd file accordingly, removing all historical data.

Default value: 4

graphs_per_row

This is the number of processor graphs that will be put in a row. Consider the interaction of this parameter with the size and data options (below) in order to adjust the size and number of graphs in relation to your horizontal screen size.

Default value: 2

size

This option sets the size of all processors graphs.

The possible values are:

main for 450x150 graphs
medium for 325x150 graphs
medium2 for 325x70 graphs
small for 200x66 graphs
mini for 183x66 graphs
tiny for 110x40 graphs

Default value: medium

DATA

This option will completely enable or disable the legend in the processor graphs.

Default value: y

    HP ProLiant System Health (hptemp.rrd)

list
This list will hold the defined temperature sensors for each graph. You must have installed the command hplog that comes with HP ProLiant System Health Application and Command Line Utilities.

Each graph has a limited number of IDs:

graph_0 up to 8 IDs
graph_1 up to 6 IDs
graph_2 up to 6 IDs

The following is a configuration example of selected IDs:

# hplog -t
ID     TYPE        LOCATION      STATUS    CURRENT  THRESHOLD
 1  Basic Sensor Ambient         Normal    75F/ 24C 107F/ 42C
 2  Basic Sensor CPU (1)         Normal   104F/ 40C 179F/ 82C
 3  Basic Sensor CPU (2)         Normal   ---F/---C 179F/ 82C
 4  Basic Sensor Memory Board    Normal   ---F/---C 188F/ 87C
 5  Basic Sensor Memory Board    Normal    82F/ 28C 188F/ 87C
 6  Basic Sensor Memory Board    Normal   ---F/---C 188F/ 87C
 7  Basic Sensor System Board    Normal    89F/ 32C 192F/ 89C
 8  Basic Sensor System Board    Normal   ---F/---C 192F/ 89C
 9  Basic Sensor System Board    Normal    84F/ 29C 192F/ 89C
10  Basic Sensor System Board    Normal   118F/ 48C 230F/110C
11  Basic Sensor System Board    Normal    96F/ 36C 192F/ 89C
12  Basic Sensor System Board    Normal    84F/ 29C 154F/ 68C
13  Basic Sensor System Board    Normal    87F/ 31C 154F/ 68C
14  Basic Sensor System Board    Normal    89F/ 32C 156F/ 69C
15  Basic Sensor System Board    Normal    93F/ 34C 161F/ 72C
16  Basic Sensor Ambient         Normal   ---F/---C 192F/ 89C
17  Basic Sensor System Board    Normal   ---F/---C 192F/ 89C
18  Basic Sensor SCSI Backplane  Normal    32F/  0C 140F/ 60C

<list>
        graph_0 = 2, 3
        graph_1 = 1, 5, 18
        graph_2 = 7, 9, 10, 11, 12, 13
</list>

    LM-Sensors and GPU temperatures (lmsens.rrd)

list
In this list you may specify the sensors you want to monitor with the same names as they appear in your sensors command.

For example, imagine a sensors output like this:

# sensors
coretemp-isa-0000
Adapter: ISA adapter
Core 0:       +51.0°C  (high = +78.0°C, crit = +100.0°C) 

coretemp-isa-0001
Adapter: ISA adapter
Core 1:       +49.0°C  (high = +78.0°C, crit = +100.0°C) 

f71882fg-isa-0a00
Adapter: ISA adapter
3.3V:        +3.30 V
Vcore:       +1.21 V  (max =  +2.04 V)  
Vdimm:       +1.82 V
Vchip:       +1.38 V
+5V:         +5.00 V
12V:        +14.37 V
5VSB:        +4.33 V
3VSB:        +3.30 V
Battery:     +3.22 V
CPU:        2035 RPM
System:     1765 RPM  ALARM
Power:      2110 RPM  ALARM
Aux:        2080 RPM  ALARM
M/B Temp:   +36.00 C
CPU Temp:   +29.00 C

Then you may want to configure that list as:

<list>
        core0 = Core 0
        core1 = Core 1
        mb0 = M/B Temp
        cpu0 = CPU Temp
        fan0 = CPU
        fan1 = System
        fan2 = Power
        fan3 = Aux
        volt0 = 3.3V
        volt1 = VCore
        volt2 = Vdimm
        volt3 = Vchip
        volt4 = \+5V
        volt5 = 12V
        volt6 = 5VSB
        volt7 = 3VSB
        volt8 = Battery
        gpu0 = nvidia
</list>

Note that you need to escape the plus and minus signs in the voltage labels.

The last one, gpu0, is set here just in case you have a supported graphics card and want to monitor its temperature. Currently only NVIDIA and ATI graphic cards are supported; with the values nvidia and ati respectively. It requires the official NVIDIA or ATI drivers.

This list has the following maximums allowed:

Up to 16 core keys (from core0 to core15)
Up to 2 mb keys (mb0 and mb1)
Up to 4 cpu keys (from cpu0 to cpu3)
Up to 9 fan keys (from fan0 to fan8)
Up to 12 volt keys (from volt0 to volt11)
Up to 9 gpu keys (from gpu0 to gpu8)

    NVIDIA temperatures and usage (nvidia.rrd)

This graph requires to have installed the official NVIDIA drivers.

max

This is the number of NVIDIA cards currently plugged in your system.

The maximum allowed is 9.

Default value: 1

    Disk drive temperatures and health (disk.rrd)

This graph is able to monitor an unlimited number of disk drives.

list

This is a list of groups of disk device names that you want to monitor. Each group will become a graph and there may be an unlimited number of groups.

WARNING: Every time the number of groups in this option changes, Monitorix will resize the disk.rrd file accordingly, removing all historical data.

To collect the disk drive temperatures and health the commands smartmontools or hddtemp are required.

It is recommended that you first check if either smartctl or hddtemp are able to collect data from the disk drive(s) that you plan to monitor. You may test this with the following command:

# hddtemp /dev/sdb
/dev/sdb: WDC WD1600AABS-00M1A0: 48°C

If you see good results as above, you can add it to the group 0 like this:

<list>
        0 = /dev/sda, /dev/sdb
</list>

The maximum number of disk device names allowed per group is 8.

    Filesystem usage and I/O activity (fs.rrd)

This graph is able to monitor an unlimited number of filesystems.

list

This is a list of groups of mounted filesystems that you want to monitor. Each group will become a graph and there may be an unlimited number of groups.

WARNING: Every time the number of groups in this option changes, Monitorix will resize the fs.rrd file accordingly, removing all historical data.

Take special care to use the same name as appears in the output of the df command (the swap device is a special case). An example would be:

<list>
        0 = /, swap, boot, home, /mnt/backup
</list>

The maximum number of filesystems allowed per group is 8.

desc

This list complements the list option. It basically allows you to change the name that will appear in the graph, hiding the real name of the mount point. If no association is defined, then Monitorix will display the name specified in the list option.

<desc>
        / = Root FS
        /home = My Home
        /mnt/backup = Backups
</desc>

You can define as much entries as you want.

devmap

This list complements the list option. When Monitorix is started it tries to detect automatically the device name associated to each filesystem defined in the list option in order to be able to show its I/O activity. If for any reason Monitorix failed to detect it, then you can help it using this option.

<devmap>
        /mnt/backup = /dev/cciss/c0d2p6
</devmap>

You can define as much entries as you want.

rootfs_enabled

This section enables or disables the alert capabilities for this graph. Only the alert for the root filesystem disk usage is currently implemented. It works as follows:

If the percentage of disk space used in the root filesystem reaches the rootfs_threshold value for the interval of time defined in rootfs_timeintvl, Monitorix will execute the external alert script defined in rootfs_script.

The default Monitorix installation includes an example of a shell-script alert called monitorix-alert.sh which you can use as a base for your own script.

Default value: n

rootfs_timeintvl

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

Default value: 3600

rootfs_threshold

This is the value that needs to be reached or exceeded within the specified time period in rootfs_timeintvl to trigger the mechanism for a particular action, which in this case is the execution of an external alert script.

The value of this option is compared to the current root filesystem disk usage.

Default value: 100

rootfs_script

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

It will receive the following three parameters:

1st - the value currently defined in rootfs_timeintvl
2nd - the value currently defined in rootfs_threshold
3rd - the current root filesystem disk usage

Default value: /path/to/script.sh

    Network traffic and usage (net.rrd)

list
This is the list of network interfaces that you may want to monitor. An example would be:

list = eth0, eth1

The maximum number of entries allowed is 10.

desc

This is the option where each network interface specified in list is described. Each definition consists of three parameters separated by comma: the description of the interface and the rigid and limit values.

Put one description for each interface listed. An example would be:

<desc>
        eth0 = FastEthernet LAN, 0, 1000
        eth1 = ADSL 10Mbs Internet, 0, 1000
</desc>

The maximum number of entries allowed is 10.

gateway

This is where the network interface that acts as the gateway for this server is defined. This is mainly used if you plan to monitor network traffic usage of your devices/networks using the traffacct graph below.

    System services demand (serv.rrd)

mode
This option toggles the way the System Services Demand data is represented in the graph. There are two possible values:

i for incremental style
l for load (peaks) style

Default value: i

    Mail statistics (mail.rrd)

mta
This option specifies the MTA that Monitorix will use to collect mail statistics. The currently supported MTAs are:
Sendmail
Postfix

NOTE: the pflogsumm utility is required when using the Postfix MTA.

Default value: sendmail

greylist

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

The currently supported Greylist software is:

milter-greylist

Default value: milter-greylist

delvd_enabled

This section enables or disables one of the alert capabilities for this graph; the alert for the number of delivered messages. It works as follows:

If the number of delivered messages reaches the delvd_threshold value for the interval of time defined in delvd_timeintvl, Monitorix will execute the external alert script defined in delvd_script.

The default Monitorix installation includes an example of a shell-script alert called monitorix-alert.sh which you can use as a base for your own script.

Default value: n

delvd_timeintvl

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

Default value: 60

delvd_threshold

This is the value that needs to be reached or exceeded within the specified time period in delvd_timeintvl to trigger the mechanism for a particular action, which in this case is the execution of an external alert script.

The value of this option is compared against the number of delivered messages since the last delvd_timeintvl seconds.

Default value: 100

delvd_script

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

It will receive the following three parameters:

1st - the value currently defined in delvd_timeintvl
2nd - the value currently defined in delvd_threshold
3rd - the number of delivered messages

Default value: /path/to/script.sh

mqueued_enabled

This section enables or disables one of the alert capabilities for this graph; the alert for the number of queued messages. It works as follows:

If the number of queued messages reaches the mqueued_threshold value for the interval of time defined in mqueued_timeintvl, Monitorix will execute the external alert script defined in mqueued_script.

The default Monitorix installation includes an example of a shell-script alert called monitorix-alert.sh which you can use as a base for your own script.

Default value: n

mqueued_timeintvl

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

Default value: 3600

mqueued_threshold

This is the value that needs to be reached or exceeded within the specified time period in mqueued_timeintvl to trigger the mechanism for a particular action, which in this case is the execution of an external alert script.

The value of this option is compared with the number of messages in the mail queue.

Default value: 100

mqueued_script

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

It will receive the following three parameters:

1st - the value currently defined in mqueued_timeintvl
2nd - the value currently defined in mqueued_threshold
3rd - the number of messages in the mail queue

Default value: /path/to/script.sh

    Network port traffic (port.rrd)

This graph requires the iptables command on Linux systems and the ipfw command on *BSD systems.

max

This is the number of network ports that you want to monitor. There is no limit to the number of ports monitored, but keep in mind that every time this number changes, Monitorix will resize the port.rrd file accordingly, removing all historical data.

Default value: 9

rule

This is the rule number that Monitorix will use when using the ipfw command to manage network port activity on *BSD systems. Change it if you think it might conflict with any other rule number.

Default value: 24000

list

You may define here up to max network port numbers. If you see a red color in the background of a network port graph, it means that there is not a daemon listening on that port. This can be useful to know if some service gone down unexpectedly.

desc

This is the option where each network port specified in list is described. Each port definition consists of five parameters separated by comma: the port description, the network protocol, the connection type (in, out or in/out) and the rigid and limit values.

An example would be:

<desc>
        25 = SMTP, tcp, in/out, 0, 1000
        80 = HTTP, tcp, in, 0, 1000
        53 = DNS, udp, in, 0, 1000
</desc>

graphs_per_row

This is the number of graphs that will be put in a row. Consider the interaction of this parameter with the max option in order to adjust the size and number of graphs in relation to your horizontal screen size.

Default value: 3

    Users using the system (user.rrd)

Only the limit and rigid values may be set here.

    FTP statistics (ftp.rrd)

This graph supports currently ProFTPD and vsftpd log file formats.

For best results with the ProFTPD server I recommend to add the following line in its configuration file:

ExtendedLog /var/log/proftpd/access.log AUTH,DIRS,READ,WRITE

For best results with the vsftpd server I recommend to setup the option xferlog_std_format to NO, and the option ftp_log to /var/log/vsftpd.log.

server

This option specifies the FTP server. The currently supported FTP servers are:
ProFTPD
vsftpd

Default value: proftpd

anon_user

This option lists the different names (separated by comma) that can adopt the Anonymous user in the FTP server defined in server.

Default value: anonymous, ftp

    Apache statistics (apache.rrd)

This graph requires that mod_status be loaded and ExtendedStatus option set to On in order to collect full status information of the Apache web server.

This graph is able to monitor an unlimited number of local and remote Apache web servers.

list

This is a list of URLs of the monitored Apache web servers.

WARNING: Every time the number of entries in this option changes, Monitorix will resize the apache.rrd file accordingly, removing all historical data.

Default value: http://localhost:80/

    Nginx statistics (nginx.rrd)

This graph may require adding some lines in the configuration file nginx.conf. Please see the README.nginx file to determine the exact steps needed to configure Nginx to get status information.

This graph requires the iptables command on Linux systems, and the ipfw command on *BSD systems.

port

This is the network port the Nginx web server is listening on.

Default value: 80

rule

This is the rule number that Monitorix will use when using the ipfw command to manage Nginx network activity on *BSD systems. Change it if you think it might conflict with any other rule number.

Default value: 24100

    Lighttpd statistics (lighttpd.rrd)

This graph requires that mod_status is loaded in order to collect status information from the Lighttpd web server.

This graph is able to monitor an unlimited number of local and remote Lighttpd web servers.

list

This is a list of URLs of the monitored Lighttpd web servers.

WARNING: Every time the number of entries of this option changes, Monitorix will resize the lighttpd.rrd file accordingly, removing all historical data.

Default value: http://localhost:80/

    MySQL statistics (mysql.rrd)

This graph requires that you create a password protected MySQL user that is NOT granted privileges on any DB.

Example:

mysql> CREATE USER ’user’@’localhost’ IDENTIFIED BY ’password’;
mysql> FLUSH PRIVILEGES;

where user is the new user name and password is the password that will be used for that user.

This graph is able to monitor an unlimited number of local and remote MySQL web servers.

NOTE: It is strongly recommended that you restart the MySQL service in order to avoid high peaks that could prevent correct display of the first plotted data.

conn_type

This option toggles the way how Monitorix establishes the connection with the MySQL server. There are two possible values:

host using the network (hostname and IP address)
socket using a socket file

Default value: host

list

This is the list of hostnames or path to sockets of MySQL servers.

WARNING: Every time the number of entries of this option change Monitorix will resize the mysql.rrd file accordingly, removing all historical data.

Default value: localhost

desc

This is the option where each entry specified in the list is described. Each definition consists of three parameters separated by comma: the port, the username and the password.

An example would be:

<desc>
        localhost = 3306, user, secret
</desc>

Some of the values shown in the graphs are the result of a calculation of two values from either SHOW [GLOBAL] STATUS or SHOW VARIABLES. The following is an explanation of them:

Thread Cache Hit Rate
(1 - (Threads_created / Connections)) * 100
When an application connects to a MySQL database, the database has to create a thread to manage the connection and the queries that will be sent in that connection. The database instructs the kernel to create a new thread, and the kernel allocates resources and creates the thread, then returns it to the MySQL service. When the connection is terminated by the application, MySQL tells the kernel to destroy the thread and free the resources. This create/destroy mechanism causes considerable overhead if the MySQL server has many new connections per second.
If MySQL doesn’t destroy the thread when the connection is terminated, but reuses it and assigns it to the next connection then this will decrease the kernel overhead. This is why a high Thread Cache Hit Rate improves MySQL performance and decreases the system’s CPU usage.
Setting the parameter thread_cache_size in the my.cnf file accordingly will help to correctly balance between having a great thread cache and keeping MySQL memory consumption reasonable.
Higher is better.

Query Cache Hit Rate
Qcache_hits / (Qcache_hits + Com_select) * 100
Higher should be considered better.
A query cache size increase is recommended if the query cache usage is very close to 100% and the query cache hit rate is far from 100%. But sometimes a size increase will not lead to a better hit rate: this means that the increase was not needed and that the application do not run enough cacheable SELECT queries.
This value should grow proportionally with the number of executed queries as long as the query cache is performing well. Please also have a look at the Query cache usage percentage to know if your query_cache configuration is appropriate.

For more information please refer to http://www.databasejournal.com/features/mysql/article.php/3808841/Optimizing-the-MySQL-Query-Cache.htm

Query Cache Usage
(1 - (Qcache_free_memory / query_cache_size)) * 100
This value should be reasonably far from 100%, otherwise consider incrementing the query_cache_size parameter in my.cnf.

Connections Usage
(Max_used_connections / max_connections) * 100
This value should be reasonably far from 100%, otherwise consider incrementing the max_connections parameter in my.cnf.

Key Buffer Usage
(Key_blocks_used / (Key_blocks_used + Key_blocks_unused)) * 100
This value should be reasonably far from 100%, otherwise consider incrementing the key_buffer_size parameter in my.cnf.

InnoDB Buffer Pool Usage
(1 - (Innodb_buffer_pool_pages_free / Innodb_buffer_pool_pages_total)) * 100
This value should be reasonably far from 100%, otherwise consider incrementing the innodb_buffer_pool_size parameter in my.cnf.

Temp. Tables To Disk
(Created_temp_disk_tables / Created_temp_disk_tables + Created_temp_tables)) * 100
During operation, MySQL has to create some temporary tables (that can be explicit, so created by the web application, or implicit, so for example MySQL has to create one when he runs some "SELECT DISTINCT", "UNION" or "VIEW" queries). MySQL will prefer to save this tmp tables to memory, for a fast access. But if tmp_table_size gets saturated, he has to write them on the disk instead, making the access slower.
Note that if you modify the value of tmp_table_size in the MySQL configuration file, you should also modify the value of max_heap_table_size as well, since both values should have the same value because MySQL uses the minimum of both, so raising one of them is useless.
Therefore this value helps to know how many tmp tables go to the disk instead than to the memory. Keep in mind that some large queries, involving TEXT and BLOB columns, are directly written to the disk instead than to the memory, because they would be too big. So you probably will want to avoid having a high % of tmp tables written to the disk, but you will never reach 0% on a big site, and this is fine.
Lower is better ... but 0% is not reachable and you should not try to reach it, usually.

    Squid Proxy Web Cache (squid.rrd)

cmd

This command displays statistics about the Squid HTTP proxy process and is the main command used to collect all data.

Default value: squidclient -h 127.0.0.1

graph_0
graph_1
These two lists hold the selected Squid result or status codes to be shown in each graph. Feel free to mix result status and code status in any of the two options.

For more information about the list of all the result and status codes, please refer to http://wiki.squid-cache.org/SquidFaq/SquidLogs.

Each graph has a limit number of 9 entries.

    NFS server statistics (nfss.rrd)

version

This option specifies which NFS server version is running in the system in order to correctly gather the correct values.

The possible values are:

2 for NFS version 2
3 for NFS version 3
4 for NFS version 4

Default value: 3

graph_0
graph_1
graph_2
These three lists hold the defined NFS server activity statistics to be shown in each graph. Put every statistic name exactly as they appear in the output of the nfsstat command.

Each graph has a limit number of 10 entries.

    NFS client statistics (nfsc.rrd)

version

This option specifies which NFS server version is running in the system in order to correctly gather the correct values.

The possible values are:

2 for NFS version 2
3 for NFS version 3
4 for NFS version 4

Default value: 3

graph_1
graph_2
graph_3
graph_4
graph_5
These five lists hold the defined NFS client activity statistics to be shown in each graph. Put every statistic name exactly as they appear in the output of the nfsstat command.

Each graph has the following limit number of entries:

graph_1 up to 10 entries
graph_2 up to 10 entries
graph_3 up to 4 entries
graph_4 up to 4 entries
graph_5 up to 4 entries

    BIND statistics (bind.rrd)

This graph requires a BIND server with version 9.5 or higher, and in order to see all statistics provided by BIND you must configure the statistics-channels option like this:
statistics-channels {
        inet 127.0.0.1 port 8053;
};

This graph is able to monitor an unlimited number of BIND servers.

list

This is a list of URLs of BIND servers status pages.

WARNING: Every time the number of entries in this option changes, Monitorix will resize the bind.rrd file accordingly, removing all historical data.

Default value: http://localhost:8053/

in_queries_list

This is a list of RR (Resource Records) types for each BIND server specified in list option. The RR types defined here will appear in the Incoming Queries graph which shows the number of incoming queries for each RR type.

For a complete list of RR types check the BIND 9 Administrator Reference Manual at <http://ftp.isc.org/www/bind/arm95/Bv9ARM.html>.

<in_queries_list>
        http://localhost:8053/ = A, AAAA, ANY, DS, MX, NS, PTR, SOA, SRV, TXT, NAPTR, A6, CNAME, SPF, KEY, DNSKEY, HINFO, WKS, PX, NSAP
</in_queries_list>

The maximum number of RR types allowed for this graph is 20.

out_queries_list

This is a list of RR (Resource Records) types for each BIND server. The RR types defined here will appear in the Outgoing Queries graph (_default view) which shows the number of outgoing queries sent by the DNS server resolver for each RR type.

<out_queries_list>
        http://localhost:8053/ = A, AAAA, ANY, DS, MX, NS, PTR, SOA, SRV, TXT, NAPTR, A6, CNAME, SPF, KEY, DNSKEY, HINFO, WKS, PX, NSAP
</out_queries_list>

The maximum number of RR types allowed for this graph is 20.

server_stats_list

This is a list of counters about incoming request processing. The counters defined here will appear in the Server Statistics graph.

<server_stats_list>
        http://localhost:8053/ = Requestv4, Requestv6, ReqEdns0, ReqBadEDNSVer, ReqTSIG, ReqSIG0, ReqBadSIG, ReqTCP, Response, QrySuccess, QryAuthAns, QryNoauthAns, QryReferral, QryNxrrset, QrySERVFAIL, QryNXDOMAIN, QryRecursion, QryDuplicate, QryDropped, QryFailure
</server_stats_list>

The maximum number of counters allowed for this graph is 20.

resolver_stats_list

This is a list of counters about name resolution performed in the internal resolver. The counters defined here will appear in the Resolver Statistics graph (_default view).

<resolver_stats_list>
        http://localhost:8053/ = Queryv4, Queryv6, Responsev4, Responsev6, NXDOMAIN, SERVFAIL, FORMERR, OtherError, EDNS0Fail, Truncated, Lame, Retry, QueryTimeout, GlueFetchv4, GlueFetchv6, GlueFetchv4Fail, GlueFetchv6Fail, ValAttempt, ValOk, ValNegOk
</resolver_stats_list>

The maximum number of counters allowed for this graph is 20.

cache_rrsets_list

This is a list of RR (Resource Records) types for each BIND server. The RR types defined here will appear in the Cache DB RRsets graph (_default view) which shows the number of RRsets per RR type (positive or negative) and nonexistent names stored in the cache database.

<cache_rrsets_list>
        http://localhost:8053/ = A, !A, AAAA, !AAAA, DLV, !DLV, DS, !DS, MX, NS, CNAME, !CNAME, SOA, !SOA, !ANY, PTR, RRSIG, NSEC, DNSKEY, NXDOMAIN
</cache_rrsets_list>

The maximum number of RR types allowed for this graph is 20.

    NTP statistics (ntp.rrd)

This graph is able to monitor an unlimited number of NTP servers.

list

This is a list of NTP servers.

WARNING: Every time the number of entries in this option changes, Monitorix will resize the ntp.rrd file accordingly, removing all historical data.

Default value: localhost

desc

This is a list of groups of Reference Identifier and Kiss-o’-Death Codes for every hostname specified in the list option.

For more information on these NTP codes:
<http://www.iana.org/assignments/ntp-parameters/ntp-parameters.xml>
<http://www.iana.org/go/rfc5905>

<desc>
        localhost = AUTH, AUTO, CRYP, DENY, GPS, INIT, NKEY, RATE, RMOT, RSTR
</desc>

The maximum number of codes allowed for each hostname is 10.

    Fail2ban statistics (fail2ban.rrd)

This graph is able to monitor an unlimited number of Fail2ban jails.

list

This is the list that describes the groups of jails in desc. Put one description for each group. For every group specified you need to specify its description in the desc option.

WARNING: Every time the number of entries in this option changes, Monitorix will resize the fail2ban.rrd file accordingly, removing all historical data.

An example would be:

list = Security, Overload / Abuse

desc

This is a list of jails per group defined in your Fail2ban configuration.

<desc>
        0 = [apache], [apache-mod-security], [apache-overflows], [courierauth], [ssh], [pam-generic], [php-url-fopen], [vsftpd]
        1 = [apache-imdbphp], [apache-evasive], [apache-badbots], [apache-robots-txt], [communigate], [named-refused-udp], [named-refused-tcp], [trac-ticketspam]
</desc>

The maximum number of jails allowed for each group is 9.

graphs_per_row

This is the number of fail2ban graphs that will be put in a row.

Default value: 2

    Icecast Streaming Media Server (icecast.rrd)

This graph is able to monitor an unlimited number of Icecast servers.

list

This is a list of URLs of Icecast server status pages.

WARNING: Every time the number of entries in this option changes, Monitorix will resize the icecast.rrd file accordingly, removing all historical data.

Default value: http://localhost:8000/status.xsl

desc

This is a list of mountpoints configured for every URL specified in the list option.

<desc>
        http://localhost:8000/status.xsl = stream1, stream2, stream3
</desc>

The maximum number of mountpoints allowed for each URL is 9.

graph_mode

This changes the layout of the listeners graph, the possible values are r for a real graph, or s for a stacked graph (every line or area is stacked on top of the previous element).

Default value: r

    Raspberry Pi sensor statistics (raspberrypi.rrd)

This graph requires to have installed the command vcgencmd that should come with the Raspberry Pi firmware.

For more information please refer to http://elinux.org/RPI_vcgencmd_usage.

cmd

This is where the vcgencmd command is installed.

Default value: /opt/vc/bin/vcgencmd

clocks

This is the list of clock types that will be represented in the first graph.

An example would be:

clocks = arm, core, h264, isp, v3d, uart, emmc, pixel, hdmi

The maximum number of clocks allowed is 9.

volts

This is the list of voltage types that will be represented in the third graph.

An example would be:

volts = core, sdram_c, sdram_i, sdram_p

The maximum number of clocks allowed is 6.

    Devices interrupt activity (int.rrd)

Only the limit and rigid values may be set here.

    Monitoring the Internet traffic of your LAN (traffacct.rrd)

If your server acts as the gateway for a group of PCs, devices or even whole networks in your local LAN, you may want to know how much Internet traffic each one is generating.

This graph requires the iptables command on GNU/Linux systems, and the ipfw command on *BSD systems.

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

enabled

This option enables this feature.

Default value: n

max

This is the number of LAN devices you want to monitor. There is no limit, but keep in mind that every time this number changes, Monitorix will resize the traffacct.rrd file, removing all historical data.

Default value: 10

graphs_per_row

If your horizontal screen resolution is pretty wide, you may want to increase the number of graphs that appear on each row.

Default value: 2

list

This is the list of names of PCs, LAN devices or whole networks that you want to monitor. The only requirement is that all they must utilize this server as their gateway.

If the names in this list are able to be resolved by a DNS query then you don’t need to define the desc list (below) with corresponding IP addresses, unless you want monthly reports.

An example would be:

list = pc8, printer, scanner, lan3

desc

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

An example would be:

<desc>
        0 = 192.168.1.101/32, ace@example.com
        1 = 192.168.1.102/32, gene@example.com
        2 = 192.168.1.103/32, paul@example.com
        3 = 192.168.1.104/32, peter@example.com
</desc

    Monthly reports of Internet traffic (traffacct.rrd)

enabled
If this option is set to y, Monitorix will send a report of all the monthly Internet activity of the defined devices in list to the specified email address on the first day of each month.

Default value: n

language

Define here the language used in the monthly report.

The possible values are: ca, de, en, it, pl and zh_CN.

Default value: en

default_mail

This is the default email address used to send the monthly reports. This option is only used if the second paramater in desc list is empty.

Default value: root@localhost

smtp_hostname

This is the hostname that will be used as a SMTP relay to deliver the monthly report emails.

Default value: localhost

from_address

This is the address that will be used as remitent for all the monthly report emails.

Default value: noreply@example.com

    Monitoring remote servers (Multihost)

The Multihost feature allows you to monitor an unlimitted number of remote servers that already have Monitorix installed. Make sure that all servers (local and remote) have the same version of Monitorix, otherwise there would be some incompatibilities that would prevent showing correctly the graphs.

enabled

This option enables the Multihost feature.

Default value: n

footer_url

If set to y Monitorix will show the original URL of each server at the bottom of the graph. Where security is important you may want to hide this information.

Default value: y

graphs_per_row

If your horizontal screen resolution is pretty wide, you may want to increase the number of graphs that appear on each row.

Default value: 2

remotehost_list

This is a list with descriptive names of remote servers with Monitorix already installed and working that you plan to monitor from here.

An example of this list would be:

remotehost_list = server 1, server 2, server 3

remotehost_desc

This is a numbered list that describes each of the names defined in the remotehost_list option and the remote values of base_url and base_cgi options.

An example would be:

<remotehost_desc>
        0 = http://www.example.com,/monitorix,/monitorix-cgi
        1 = http://10.0.0.1,/monitorix,/monitorix-cgi
        2 = http://192.168.0.100:8080,/,/
</remotehost_desc>

As you can see all these three entries use URLs to designate the location of each remote server. This means that each server most also have been enabled the built-in HTTP server, or have been installed a CGI capable web server like Apache.

groups

This enables the server grouping for those environments where there are too much servers to display at the same time. Hence, you can group them in order to show them separatedly.

Default value: n

remotegroup_list

This is a list of groups of remote servers with Monitorix already installed and working that you plan to monitor from here.

An example of this list would be:

remotegroup_list = My Group

remotegroup_desc

This is a numbered list that describes each of the names defined in the remotegroup_list option.

An example would be:

<remotegroup_desc>
        0 = server2, server 3
</remotegroup_desc>

    rigid and limit values

rigid
This value defines how the graph must be scaled. Its possible values are:

0 No rigid. The graph will be scaled automatically.
2 The graph will be scaled using the limit value as its upper-limit value.

limit
This is where you can enter the upper-limit value for a graph.

AUTHOR

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

COPYRIGHT

Copyright © 2005-2013 Jordi Sanfeliu
Licensed under the GNU General Public License version 2 (GPLv2).

SEE ALSO

monitorix(8), rrdtool(1)


3.2.0 monitorix.conf (5) "May 2013"
Generated by manServer 1.07 from monitorix.conf.5 using man macros.