monitorix.conf(5) | Monitorix configuration file | monitorix.conf(5) |
monitorix.conf - Configuration file for Monitorix.
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.
IMPORTANT NOTE: these options have default values that might vary depending on your operating system. Please check the configuration files in /etc/monitorix/conf.d/.
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
Default value: Place a Title Here
hostname
Default value:
theme_color
Default value: black
refresh_rate
Default value: 150
iface_mode
The possible values are:
Default value: graph
enable_zoom
Default value: y
netstats_in_bps
Default value: n
netstats_mode
Default value: overlapped
disable_javascript_void
Default value: n
temperature_scale
The possible values are:
Default value: c
show_gaps
In order to be able to locate those gaps easily in each graph, it uses the white color in the default black theme and the black color in the white theme. These default colors are defined in monitorix.conf so they can be changed as any other option.
Default value: n
global_zoom
This is specially useful for people with big screens that either want to avoid using the browser feature to zoom the contents of the window and for those that watch the graphs from certain distance.
Keep in mind that the contents of the graphs remains with the same detail level all the time, and that it doesn't affects to the standard zoomed graph that appears when clicking in the picture.
Default value: 1
max_historic_years
WARNING: Every time this value is extended Monitorix will resize every .rrd file accordingly, removing all historical data.
There is no longer any upper limit for this value.
Default value: 1
accept_selfsigned_certs
Default value: y
priority
In order to mitigate this situation this option sets the priority in which Monitorix will be scheduled by the kernel. The accepted range of values is the same as in the setpriority() system call: that is, from -20 (maximum priority) to 19 (lowest priority).
Default value: 0
image_format
Default value: PNG
enable_parallelizing
Default value: y
enable_rrd_lock
Default value: n
enable_relative_urls
Default value: n
include_dir
This option is mainly intended to include third-party modules with their own configuration files without having to modify any file from your Monitorix installation. All modules are located in /usr/lib/monitorix (in some operating systems that path can change).
All the configuration files in there will be loaded in alphabetic order, so the last file loaded will overwrite any previous option.
Default value: /etc/monitorix/conf.d
additional_graph_name
Default value: None
ip_default_table
Although this is a global option, only the graphs port, nginx and traffacct are affected by it.
Default value: filter
ipv6_disabled
Although this is a global option, only the graph port is currently affected by it.
Default value: n
url_prefix_proxy
An example would be: http://myexternalwebsite.com
Default value:
enable_hourly_view
No .rrd file will change by selecting this option and the historical data won't be affected.
Default value: n
user_agent_id
The default value will depend on the current Perl version in your system. An example would be libwww-perl/5.833.
enable_back_button
It will show a back arrow in the upper-left corner and it is specially useful for people using the browser in full-screen mode.
Default value: n
rrdtool_extra_options
An example would be:
rrdtool_extra_options = "--grid-dash=1:0, --no-legend"
use_external_firewall
Keep in mind that the rule names created in your firewall must coincide with the names that Monitorix expects to find for each case. Familiarize yourself with the iptables rules created automatically by Monitorix before enabling this option.
Default value: n
base_dir
Default value: /var/lib/monitorix/www/
(depends on the operating system)
base_lib
Default value: /var/lib/monitorix/
(depends on the operating system)
base_url
Default value: /monitorix
base_cgi
Default value: /monitorix-cgi
enabled
Default value: y
host
Default value:
port
Default value: 8080
user/group
Default value for user: nobody
Default value for group: nobody
log_file
If you leave this option blank or undefined Monitorix will log using the standard file descriptors. This is specially useful on systemd-based systems, you'll need to use the command journalctl -u monitorix to see the logs.
Default value: /var/log/monitorix-httpd
hosts_deny
The access control uses the same approach as in the TCP-Wrappers; the search stops at the first match:
- Access will be granted when an IP address matches an entry in
the hosts_allow list.
- Otherwise, access will be denied when an IP address matches an entry in the
hosts_deny list.
- Otherwise, access will be granted.
Default value:
hosts_allow
Default value:
https_url
Default value: n
autocheck_responsiveness
So in order to mitigate (hopefully) all this annoying hangups, this options acts like an autocheck to control the responsiveness of the HTTP server on every minute, and in case of no response then it will be restarted automatically.
Default value: y
enabled
It's highly recommended to set this option according your needs before start Monitorix.
For more information about the Basic access authentication mechanism and its security implications, please refer to http://en.wikipedia.org/wiki/Basic_access_authentication.
Default value: n
msg
Default value: Monitorix: Restricted access
htpasswd
The format of the password file consist of one or more lines with a username and password separated by a colon.
The following is an example of a password file:
paul:oGkEsQK6RYIII
peter:HF1r7qRL4Kg6E
Since the script uses the crypt() algorithm, only the first 8 characters of the password are used to form the password. If the supplied password is longer, the extra characters will be silently discarded.
WARNING: don't use the character colon ':' as part of your name or password since this character is used as field separator.
Default value: /var/lib/monitorix/htpasswd
hosts_deny
The access control uses a similar approach as in the TCP-Wrappers; the search stops at the first match:
- Access will be granted when an IP address matches an entry in
the hosts_allow list.
- Otherwise, access will be denied when an IP address matches an entry in the
hosts_deny list.
- Otherwise, access will be denied (if not defined it will deny all
hosts).
Default value: all
hosts_allow
Default value:
log_file
If you leave this option blank or undefined Monitorix will log using the standard file descriptors. This is specially useful on systemd-based systems, you'll need to use the command journalctl -u monitorix to see the logs.
Default value: /var/log/monitorix
secure_log
Default value: /var/log/secure
mail_log
Default value: /var/log/maillog
milter_gl
Default value: /var/milter-greylist/greylist.db
imap_log
Default value: /var/log/imap
hylafax_log
Default value: /var/spool/hylafax/etc/xferfaxlog
cups_log
Default value: /var/log/cups/page_log
ftp_log
Default value: /var/log/proftpd/access.log
fail2ban_log
Default value: /var/log/fail2ban.log
spamassassin_log
Default value: /var/log/maillog
clamav_log
Default value: /var/log/clamav/clamav.log
cg_logdir
Default value: /var/CommuniGate/SystemLogs/
squid_log
Default value: /var/log/squid/access.log
imap_log_date_format
Default value: %b %d
secure_log_date_format
Default value: %b %e
enabled
Default value: n
graph_enable
This graph shows information about system load average (classical UNIX triplet), memory allocation, active processes (on Linux brought directly from the /proc directory), entropy and the system uptime.
loadavg_enabled
This alert uses the minimum value between the second and the third load averages (those that represent the last 5 and 15 minutes), 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 idea to use min(load5, load15) is to obtain a more symmetric curve and a sooner cancellation of the alert.
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
Default value: 3600
loadavg_threshold
The value of this option is compared against the last 15 minutes of CPU load average.
Default value: 5.0
loadavg_script
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
time_unit
Note that the VFS graph is just informative of how the kernel is balancing its tables. graph_mode
Default value: r
list
max
Default value: 4
graphs_per_row
Default value: 2
size
The possible values are:
Default value: medium
DATA
Default value: y
This graph is able to monitor the power draw of an unlimited number of AMD CPUs if the amd_energy driver and sensors is available. I will show power draw of the cores and the socket and the non-core part of the power draw. It is calculated by subtracting the sum of the core power draw from the socket power draw.
list
WARNING: Every time the number of groups or the size of the groups in this option changes, Monitorix will resize the amdenergy.rrd file accordingly, removing all historical data.
To collect the CPU power usage the energy counters from the sensors command via the amd_energy driver is used and a power consumption in the monitoring time interval calculated.
It is recommended that you first check if the sensors output is able to provide energy counters (EcoreXXX and EsocketX) from the CPU(s) that you plan to monitor. For example check sensors for available sensors. You may test this with the following command (root privileges might be needed to access the energy counters):
If you see good results as above, you can add it to the group 0 like this:
number_of_cores
map
desc
socketpower_enabled
If the socket power draw of any of the specified CPU device reaches or succeeds the socketpower_threshold (the interval of time is not used here), Monitorix will execute the external alert script defined in socketpower_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
socketpower_timeintvl
Default value: None
socketpower_threshold
Default value: None
socketpower_script
It will receive the following three parameters:
1st - the value currently defined in socketpower_timeintvl.
2nd - the value currently defined in socketpower_threshold.
3rd - the current socket power draw.
Default value: /path/to/script.sh
use_nan_for_missing_data
Default value: n
gap_on_all_nan
Default value: n
This graph is able to monitor the power draw of an unlimited number of Intel RAPL supporting devices like Intel CPU packages. For example it can (if the device RAPL data is available) show power draw of the cores, integrated GPU, package, DRAM and the non-core part of the power draw. The non-core power draw composition can be specified by setting which parts will be subtracted from the package power draw.
list
WARNING: Every time the number of groups or the size of the groups in this option changes, Monitorix will resize the intelrapl.rrd file accordingly, removing all historical data.
To collect the CPU power usage the energy counters from the intel-rapl framework are used and a power consumption in the monitored time interval calculated.
It is recommended that you first check if the intel-rapl class tree and collect your desired energy counters from the devices that you plan to monitor. For example check tree /sys/class/powercap/intel-rapl for available energy_uj energy counters. The corresponding name files helps identifying the sensors.
You can add it to the group 0 like this:
list_item_names
sensors
sensor_names
package_sensors
package_content
noncore_names
desc
sum
sum_names
packagepower_enabled
If the package power draw specified by package_sensors of any of the specified device reaches or succeeds the packagepower_threshold (the interval of time is not used here), Monitorix will execute the external alert script defined in packagepower_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
packagepower_timeintvl
Default value: None
packagepower_threshold
Default value: None
packagepower_script
It will receive the following three parameters:
1st - the value currently defined in
packagepower_timeintvl.
2nd - the value currently defined in packagepower_threshold.
3rd - the current package power draw.
Default value: /path/to/script.sh
use_nan_for_missing_data
Default value: n
gap_on_all_nan
Default value: n
show_noncore_info
Default value: n
max_number_of_values_per_group
WARNING: Every time the max_number_of_values_per_group value changes, Monitorix will resize the intelrapl.rrd file accordingly, removing all historical data.
Default value: 10
list
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
alerts
The time interval is the period of time (in seconds) that the threshold needs to be exceeded before the external script is executed.
The threshold is the temperature that needs to be reached or exceeded within the specified time in time interval to execute the external script.
The script is the full path name of the script that will be executed by this alert.
Each defined sensor has its own alert.
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.
The following is an example of an alert defined for the first temperature sensor:
Such alert means that if the value of the sensor number 2 reaches or exceeds 40 during at least one hour (3600 seconds) the script in /path/to/script.sh will be executed.
The external script will receive the following arguments:
list
For example, imagine a sensors(1) 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:
Note that you need to escape the plus and minus signs in the voltage labels. It also recommended to enclose the values using double quotes.
The Fan values can be prefixed with the words rpm: (optional) or percent:. This will tell to Monitorix how to treat these values in the graph and in the case of the later it will add the percentage symbol (%) right after the value. Just like this:
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, and it requires the official NVIDIA or ATI drivers.
If the temperature of your graphical card appears in the output of lm_sensors, then you can tell Monitorix to use it instead of using the official NVIDIA or ATI drivers. In that case, you need to prefix with lmsensors: the name of the temperature value. Just like this:
This list has the following maximums allowed:
IMPORTANT NOTE: Sometimes the output of lm_sensors shows the same exact names for different temperature values and so Monitorix is unable to differentiate them. If you are under this situation please check the issue #131 (https://github.com/mikaku/Monitorix/issues/131) to solve this situation.
desc
Please note that in the default graph all names are limited to 5 characters in order to fit up to 9 different values. In the zoomed graphs the limit is 8 characters.
alerts
The time interval is the period of time (in seconds) that the threshold needs to be exceeded before the external script is executed.
The threshold is the temperature or volts, or whatever that needs to be reached or exceeded within the specified time in time interval to execute the external script.
The script is the full path name of the script that will be executed by this alert.
Each defined sensor has its own alert.
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.
The following is an example of an alert defined for the first temperature sensor:
Such alert means that if the value of the sensor core0 reaches or exceeds 40 during at least one hour (3600 seconds) the script in /path/to/script.sh will be executed.
The external script will receive the following arguments:
cmd
Default value: sensors
use_nan_for_missing_data
Default value: n
gap_on_all_nan
Default value: n
This graph helps to monitor up to three (so far) different sensors: temperatures, CPU frequencies and battery status which, depending of your machine, they should appear in the /sys directory.
list
An example would be:
All names are limited to 20 characters.
alerts
The time interval is the period of time (in seconds) that the threshold needs to be exceeded before the external script is executed.
The threshold is the value (temperature, Hz or battery charge) that needs to be reached or exceeded within the specified time in time interval to execute the external script. It can be specified as a unique value or as a range of two values separated by a dash.
The script is the full path name of the script that will be executed by this alert.
The when value specifies when the alert must be triggered (above or below) the threshold, being above the default value when it's not specified. This forth parameter is only relevant when the threshold value is not a range.
Each defined sensor has its own alert.
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.
The following is an example of an alert defined for the first temperature sensor:
The first alert means that if the value of the sensor temp0 exceeds above 40 during at least one hour (3600 seconds) the script in /path/to/script.sh will be executed.
The second alert means that if the value of the sensor temp1 exceeds below 10 during at least one hour (3600 seconds) the script in /path/to/script.sh will be executed.
The third alert means that if the value of the sensor temp2 exceeds either below 40 or above of 60 during at least one hour (3600 seconds) the script in /path/to/script.sh will be executed.
The external script will receive the following arguments:
This graph is able to monitor an unlimited number of IPMI sensors (temperatures, fans and voltages).
list
WARNING: Every time the number of entries in this option changes, Monitorix will resize the ipmi.rrd file accordingly, removing all historical data.
An example would be:
list = Temperatures, Fans, Voltages
desc
<desc>
0 = CPU Temp, System Temp
1 = FAN 1
2 = Vcore, 3.3VCC, 12V, VDIMM, 5VCC, CPU VTT, VBAT, VSB, AVCC
</desc>
The maximum number of sensors allowed for each group is 9.
units
map
alerts
The time interval is the period of time (in seconds) that the threshold needs to be exceeded before the external script is executed.
The threshold is the temperature that needs to be reached or exceeded within the specified time in time interval to execute the external script.
The script is the full path name of the script that will be executed by this alert.
Each defined sensor has its own alert.
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.
The following is an example of an alert defined for the first temperature sensor:
Notice that the spaces in the sensor's name must be converted to underscores, since a variable can hold spaces in its name.
Such alert means that if the value of the sensor CPU_Temp reaches or exceeds 40 during at least one hour (3600 seconds) the script in /path/to/script.sh will be executed.
The external script will receive the following arguments:
whitespace_key_support
Default value: n
Default value: 2
Default value: n
Default value: n
This graph is able to monitor an unlimited number of ambient sensors (temperatures, humidity, barometer, etc.).
list
WARNING: Every time the number of entries in this option changes, Monitorix will resize the ambsens.rrd file accordingly, removing all historical data.
An example would be:
list = Ambient temperature, Humidity
desc
<desc>
0 = at1, at2, at3
1 = h0
</desc>
The maximum number of sensors allowed for each type is 9.
units
cmd
map
alerts
The time interval is the period of time (in seconds) that the threshold needs to be exceeded before the external script is executed.
The threshold is the value (temperature, etc.) that needs to be reached or exceeded within the specified time in time interval to execute the external script. It can be specified as a unique value or as a range of two values separated by a dash.
The script is the full path name of the script that will be executed by this alert.
The when value specifies when the alert must be triggered (above or below) the threshold, being above the default value when it's not specified. This forth parameter is only relevant when the threshold value is not a range.
Each defined sensor has its own alert.
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.
The following is an example of an alert defined for the first temperature sensor:
The first alert means that if the value of the sensor temp0 exceeds above 40 during at least one hour (3600 seconds) the script in /path/to/script.sh will be executed.
The second alert means that if the value of the sensor temp1 exceeds below 10 during at least one hour (3600 seconds) the script in /path/to/script.sh will be executed.
The third alert means that if the value of the sensor temp2 either exceeds below 40 or above of 60 during at least one hour (3600 seconds) the script in /path/to/script.sh will be executed.
The external script will receive the following arguments:
graphs_per_row
Default value: 2
Default value: n
Default value: n
This graph is able to monitor an unlimited number of AMD GPUs as long as the driver provides a hwmon interface. Usually it is not guaranteed to always get the same hwmon path so it is advised to assign fixed links via udev rules.
list
WARNING: Every time the number of groups in this option changes, Monitorix will resize the amdgpu.rrd file accordingly, removing all historical data.
To collect the GPU temperatures and usage data the hwmon subsystem is used.
It is recommended that you first check if the hwmon subsystem is able to provide data from the GPU(s) that you plan to monitor. For example check /sys/class/hwmon/hwmon1 for available sensors.
You can add it to the group 0 like this:
The maximum number of GPUs allowed per group is 8.
sensors
map
desc
coretemp_enabled
If the core temperature of any of the specified GPU device names reaches or subceeds the coretemp_threshold (the interval of time is not used here), Monitorix will execute the external alert script defined in coretemp_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
coretemp_timeintvl
Default value: 0
coretemp_threshold
Default value: 10
coretemp_script
It will receive the following three parameters:
1st - the value currently defined in coretemp_timeintvl.
2nd - the value currently defined in coretemp_threshold.
3rd - the current core temperature.
Default value: /path/to/script.sh
memorytemp_enabled
If the memory temperature of any of the specified GPU names reaches or exceeds the memorytemp_threshold (the interval of time is not used here), Monitorix will execute the external alert script defined in memorytemp_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
memorytemp_timeintvl
Default value: 0
memorytemp_threshold
Default value: 90
memorytemp_script
It will receive the following three parameters:
1st - the value currently defined in memorytemp_timeintvl.
2nd - the value currently defined in memorytemp_threshold.
3rd - the current memory temperature.
Default value: /path/to/script.sh
accept_invalid_amdgpu
This option changes this behaviour and permits one to continue working even if the device names defined doesn't exist. Keep in mind that you will continue seeing error messages in the logfile.
Default value: n
show_current_values
Print current values in the legend of the small righthand plots.
Default value: n
use_nan_for_missing_data
Default value: n
gap_on_all_nan
Default value: n
respect_power_state
Default value: n
power_states
This graph is able to monitor an unlimited number of Nvidia GPUs via nvidia-smi.
list
WARNING: Every time the number of groups in this option changes, Monitorix will resize the nvidiagpu.rrd file accordingly, removing all historical data.
As identifier you can either use the GPU ID or the GPU UUID found via nvidia-smi --list-gpus. You can add it to the group 0 like this:
The maximum number of GPUs allowed per group is 8.
map
desc
coretemp_enabled
If the core temperature of any of the specified GPU device names reaches or subceeds the coretemp_threshold (the interval of time is not used here), Monitorix will execute the external alert script defined in coretemp_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
coretemp_timeintvl
Default value: 0
coretemp_threshold
Default value: 10
coretemp_script
It will receive the following three parameters:
1st - the value currently defined in coretemp_timeintvl.
2nd - the value currently defined in coretemp_threshold.
3rd - the current core temperature.
Default value: /path/to/script.sh
memorytemp_enabled
If the memory temperature of any of the specified GPU names reaches or exceeds the memorytemp_threshold (the interval of time is not used here), Monitorix will execute the external alert script defined in memorytemp_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
memorytemp_timeintvl
Default value: 0
memorytemp_threshold
Default value: 90
memorytemp_script
It will receive the following three parameters:
1st - the value currently defined in memorytemp_timeintvl.
2nd - the value currently defined in memorytemp_threshold.
3rd - the current memory temperature.
Default value: /path/to/script.sh
show_current_values
Print current values in the legend of the small righthand plots.
Default value: n
use_nan_for_missing_data
Default value: n
gap_on_all_nan
Default value: n
This graph requires to have installed the official NVIDIA drivers.
max
The maximum allowed is 9.
Default value: 1
This graph is able to monitor an unlimited number of disk drives.
list
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 smartmontools or the hddtemp command are required. Depending on the disk model reading smart values will wake up the disk and reset the sleep timer. To avoid waking them up set respect_standby = y but they still won't got to sleep automatically.
It is recommended that you first check if either smartctl(8) 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:
If you see good results as above, you can add it to the group 0 like this:
The maximum number of disk device names allowed per group is 8.
map
desc
realloc_enabled
If the number of reallocated sectors in any of the specified disk device names reaches the realloc_threshold (the interval of time is not used here), Monitorix will execute the external alert script defined in realloc_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
realloc_timeintvl
Default value: 0
realloc_threshold
Default value: 1
realloc_script
It will receive the following three parameters:
1st - the value currently defined in realloc_timeintvl.
2nd - the value currently defined in realloc_threshold.
3rd - the current number of reallocated sectors.
Default value: /path/to/script.sh
pendsect_enabled
If the number of current pending sectors in any of the specified disk device names reaches the pendsect_threshold (the interval of time is not used here), Monitorix will execute the external alert script defined in pendsect_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
pendsect_timeintvl
Default value: 0
pendsect_threshold
Default value: 1
pendsect_script
It will receive the following three parameters:
1st - the value currently defined in pendsect_timeintvl.
2nd - the value currently defined in pendsect_threshold.
3rd - the current number of pending sectors.
Default value: /path/to/script.sh
accept_invalid_disk
This option changes this behavior and permits one to continue working even if the device names defined doesn't exist. Keep in mind that you will continue seeing error messages in the logfile.
Default value: n
respect_standby
Default value: n
use_nan_for_missing_data
Default value: n
gap_on_all_nan
Default value: n
This graph is able to monitor an unlimited number of nvme drives.
list
WARNING: Every time the number of groups in this option changes, Monitorix will resize the nvme.rrd file accordingly, removing all historical data.
To collect the nvme drive temperatures and health the smartmontools command are required.
It is recommended that you first check if smartctl(8) is able to collect data from the nvme drive(s) that you plan to monitor. You may test this with the following command:
If you see good results as above, you can add it to the group 0 like this:
The maximum number of nvme device names allowed per group is 8.
map
desc
availspare_enabled
If the percentage of available spare space in any of the specified nvme device names reaches or subceeds the availspare_threshold (the interval of time is not used here), Monitorix will execute the external alert script defined in availspare_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
availspare_timeintvl
Default value: 0
availspare_threshold
Default value: 10
availspare_script
It will receive the following three parameters:
1st - the value currently defined in availspare_timeintvl.
2nd - the value currently defined in availspare_threshold.
3rd - the current percentage number of available spare space.
Default value: /path/to/script.sh
percentused_enabled
If the life percentage used in any of the specified nvme device names reaches or exceeds the percentused_threshold (the interval of time is not used here), Monitorix will execute the external alert script defined in percentused_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
percentused_timeintvl
Default value: 0
percentused_threshold
Default value: 90
percentused_script
It will receive the following three parameters:
1st - the value currently defined in percentused_timeintvl.
2nd - the value currently defined in percentused_threshold.
3rd - the current number of life percentage used.
Default value: /path/to/script.sh
accept_invalid_nvme
This option changes this behavior and permits one to continue working even if the device names defined doesn't exist. Keep in mind that you will continue seeing error messages in the logfile.
Default value: n
show_extended_plots
Show additional plots for mean read and written bytes per second, total bytes read and written, media errors and unsafe shutdowns
Default value: y
show_current_values
Print current values in the legend of the small righthand plots.
Default value: n
use_nan_for_missing_data
Default value: n
gap_on_all_nan
Default value: n
This graph is able to monitor an unlimited number of filesystems.
list
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(1) command (the swap device is a special case). An example would be:
The maximum number of filesystems allowed per group is 8.
desc
You can define as much entries as you want.
devmap
Just an example:
You can define as much entries as you want.
alerts
The time interval is the period of time (in seconds) that the threshold needs to be exceeded before the external script is executed.
The threshold is the percentage of disk space used in the file system that needs to be reached or exceeded within the specified time in time interval to execute the external script.
The script is the full path name of the script that will be executed by this alert.
Each defined filesystem has its own alert.
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.
The following is an example of an alert defined for the root filesystem:
Such alert means that if the percentage of disk space used in the root filesystem reaches or exceeds 98 (more than 98) during at least one hour (3600 seconds) the script in /path/to/script.sh will be executed.
The external script will receive the following arguments:
use_nan_for_missing_data
Default value: n
gap_on_all_nan
Default value: n
has_removable_devices
Default value: n
This graph is able to monitor an unlimited number of pools.
max_pools
Default value: 5
list
This graph is able to monitor the usage of an unlimited number of directories.
IMPORTANT NOTE: The du command makes intensive disk I/O access that might slow down the whole system. Moreover, continued executions of this command will affect the buffer cache mechanism and this will also increase the system response time. To reduce executions refresh_interval can be specified in seconds (Use 0 for default refresh interval).
list
WARNING: Every time the number of entries in this option changes, Monitorix will resize the du.rrd file accordingly, removing all historical data.
An example would be:
list = System, Users
desc
<desc>
0 = /var/spool/mail, /var/spool/mqueue, /etc, /var/ftp, /tmp
1 = /home/ace, /home/gene, /home/paul, /home/peter
</desc>
The maximum number of directories allowed for each group is 9.
type
An example would be:
<type>
0 = size
1 = files
</type>
dirmap
graphs_per_row
Default value: 2
extra_args
IMPORTANT NOTICE: Keep in mind that including certain flags like '-h' (which gives results in human readable format) could make Monitorix unable to interpret the results.
refresh_interval
Default value: 0
use_nan_for_missing_data
Default value: n
gap_on_all_nan
Default value: n
max
Default value: 10
list
desc
Put one description for each interface listed. An example would be:
gateway
This graph shows the state of the all IPv4 and IPv6 network connections.
Only the command to be used can be set here, besides the limit and rigid values.
cmd
Default value: ss
This graph is able to monitor an unlimited number of Tinyproxy installations.
list
WARNING: Every time the number of entries in this option changes, Monitorix will resize the tinyproxy.rrd file accordingly, removing all historical data.
Default value: http://your.proxy.com/
desc
An example of this option would be:
show_url
Default value: y
This graph is able to monitor an unlimited number of network interfaces managed by the tc command.
list
desc
An example would be:
The maximum number of qdiscs allowed is 9.
map
Since the qdisc names have the space character in their names, they can't be used as the key in the association, instead you must the use their position number (starting by 0) in the desc option.
An example would be:
This graph is able to monitor an unlimited number of virtual machines managed by Libvirt.
cmd
Default value: virsh
An example would be:
list
WARNING: Every time the number of groups in this option changes, Monitorix will resize the libvirt.rrd file accordingly, removing all historical data.
An example would be:
The maximum number of virtual machines allowed per group is 8.
desc
You might also define this list using sections for each virtual machine, this way you'll be able to define multiple disks and multiple network interfaces for each virtual machine. Just like this:
To obtain all these values you might want to use the following commands:
# virsh domblklist centos6
Target Source
------------------------------------------------
vda /home/jordi/kvm/centos6.img
hdc -
# virsh domiflist centos6
Interface Type Source Model MAC
-------------------------------------------------------
vnet3 network default virtio 52:54:00:45:d0:e7
This option also allows you to change the name that will appear in the graph, hiding the real name of the virtual machine. If no association is defined, then Monitorix will display the name specified in the list option.
This graph is able to monitor an unlimited number of processes. This graph requires a Linux kernel version 2.6.20 at least to support process I/O accounting. Some systems with older kernels might also have been ported it though.
list
WARNING: Every time the number of groups in this option changes, Monitorix will resize the process.rrd file accordingly, removing all historical data.
Monitorix uses the following command to find the processes listed in this option:
Therefore names in the process list can be either exactly to the process name as it appears in the comm columns, or just a substring of the process name that appears in the command column.
An example of this option would be:
The maximum number of processes allowed per group is 10.
desc
You can define as much entries as you want.
time_unit
This graph is able to monitor an unlimited number of system services or any application that has a log file.
list
WARNING: Every time the number of groups in this option changes, Monitorix will resize the serv.rrd file accordingly, removing all historical data.
An example of this option would be:
The maximum number of services allowed per group is 16.
desc
You must use the same name of service that you defined in list followed by an equal sign and a number of values. The first value indicates if this will be a C (counter) or a G (gauge). Counters are perfect for values that accumulate on every sample (match lines in logfiles), Gauges are for values that can change on every new sample (disk usage, Samba users, etc). The second value indicates the logfile from where Monitorix will extract the information. It must be prefixed with file: to indicate that it's a file. If you need to use the output of a program instead, then you can prefix it with exec: and Monitorix will run this script and will use its output as if it was the logfile.
The third value is the first regular expression that Monitorix will use to match lines. It's normally used as the date that appears in the log file.
The forth and last value is a group of regular expressions separated by a plus sign. You can prefix a regular expression with i: in order to note that it must be insensitive case.
You can create multiple definitions of the same service with different values, so you are able to combine similar services into one single metric.
You can define as much entries as you want.
mode
Default value: i
graphs_per_row
Default value: 2
This graph requires either MailScanner or amavisd-new mail scanners in order to account spam and virus emails. Spamassassin and Clamav antivirus are also used for spam and virus email accounting.
mta
NOTE: the pflogsumm utility is required when using the Postfix MTA.
Default value: sendmail
greylist
The currently supported Greylisting software is:
In the case of milter-greylist, Monitorix shows the same data that appears at the end of the file greylist.db.
In the case of Postgrey, Monitorix reads the mail_log file and searches for a specific type of lines. Lines of type "action=greylist, reason=new" appear as Greylisted in the graph. Lines of type "action=greylist, reason=early-retry" appear as Delayed in the graph. Lines of type "action=pass, reason=triplet found" appear as Passed in the graph. And finally, lines of type "action=pass, reason=client whitelist" appear as Whitelisted in the graph.
Default value: milter-greylist
stats_rate
If it's set to its default value (real), it will show the messages as in a 'per minute' rate. Since Monitorix collects data on every minute, this should be the preferred way to see the results.
In the other hand, and in order to keep backwards compatibility, if this option is missing in the configuration file, it will act as if it was set up as per_second, which means that the number of messages collected in each minute will be divided by 60.
Default value: real
delvd_enabled
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
Default value: 60
delvd_threshold
The value of this option is compared against the number of delivered messages since the last delvd_timeintvl seconds.
Default value: 100
delvd_script
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
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
Default value: 3600
mqueued_threshold
The value of this option is compared with the number of messages in the mail queue.
Default value: 100
mqueued_script
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
This graph requires the iptables(8) command and optionally the ip6tables(8) command on Linux systems and the ipfw command on *BSD systems.
max
Default value: 9
rule
Default value: 24000
list
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. Of course, this is only valid on a single port, not ranged ports.
desc
There is also support (Linux only) for IPv6 network ports activity by using protocol names as tcp6 or udp6.
An example would be:
As you can see, you cannot use the same port number twice. Instead, you must distinguish it with some suffix. Monitorix will automatically extract all the first numeric digits, and will use that value as the network port number.
graphs_per_row
Default value: 3
size
Default value: mini
cmd
Default value: ss
Only the limit and rigid values can be set here.
This graph supports currently ProFTPD, vsftpd and Pure-FTPd 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.
Pure-FTPd users might want to consider using the system syslog logfile.
server
Default value: proftpd
anon_user
Default value: anonymous, ftp
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
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/server-status?auto
alerts
The time interval is the period of time (in seconds) that the threshold needs to be exceeded before the external script is executed.
The threshold is the number of remaining free slots that needs to be reached or exceeded within the specified time in time interval to execute the external script.
The script is the full path name of the script that will be executed by this alert.
Each defined Apache has its own alert.
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.
The following is an example of an alert defined for the local Apache:
Such alert means that if the remaining free slots reaches or exceeds 5 (less than 5) during at least one hour (3600 seconds) the script in /path/to/script.sh will be executed.
The external script will receive the following arguments:
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(8) command on Linux systems, and the ipfw command on *BSD systems.
url
Default value: http://localhost/nginx_status
port
Default value: 80
rule
Default value: 24100
cmd
Default value: ss
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
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/server-status?auto
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
Default value: host
list
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
An example using the host type would be:
When using the socket type the network port is, of course, irrelevant but its field is still mandatory. This means that you must respect the three comma-separated values.
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.
This graph is able to monitor an unlimited number of PostgreSQL servers.
list
WARNING: Every time the number of entries in this option changes, Monitorix will resize the pgsql.rrd file accordingly, removing all historical data.
Default value: localhost
desc
<desc>
<localhost>
host = localhost
port = 5432
username = user
password = secret
db_list =
</localhost>
</desc>
host
Default value: localhost
port
Default value: 5432
username
password
db_list
This graph is able to monitor an unlimited number of MongoDB servers.
list
WARNING: Every time the number of entries in this option changes, Monitorix will resize the mongodb.rrd file accordingly, removing all historical data.
Default value: localhost
max_db
WARNING: Every time the number of entries in this option changes, Monitorix will resize the mongodb.rrd file accordingly, removing all historical data.
Default value: 1
desc
<desc>
<localhost>
host = 127.0.0.1
db_list = mydb
</localhost>
</desc>
host
Default value: 127.0.0.1
port
Default value:
username
password
db_list
Default value: mydb
This graph monitors a local installation of the Varnish HTTP accelerator.
Only the limit and rigid values can be set here.
This graph is able to monitor an unlimited number of PageSpeed installations.
list
WARNING: Every time the number of entries in this option changes, Monitorix will resize the pagespeed.rrd file accordingly, removing all historical data.
Default value: http://modpagespeed.com/mod_pagespeed_statistics
For more information please refer to https://developers.google.com/speed/pagespeed/module and http://stackoverflow.com/questions/9115595/what-do-the-mod-pagespeed-statistics-mean
cmd
Default value: squidclient -h 127.0.0.1
graph_0
graph_1
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.
version
The possible values are:
Default value: 3
graph_0
graph_1
graph_2
Each graph has a limit number of 10 entries.
version
The possible values are:
Default value: 3
graph_1
graph_2
graph_3
graph_4
graph_5
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.
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
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
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
<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
<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
<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
<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.
This graph monitors a local installation of an Unbound name server. It requires you to configure the options extended-statistics as yes and statistics-cumulative as no.
cmd
Default value: unbound-control
queries_type
Default value: queries_type = A, AAAA, ANY, DS, MX, NS, PTR, SOA, SRV, TXT, NAPTR, A6, CNAME, SPF, KEY, DNSKEY, HINFO, WKS, PX, NSAP
The maximum number of types allowed for this graph is 20.
This graph is able to monitor an unlimited number of NTP servers.
list
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
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.
extra_args
Monitorix will add this extra argument to the NTP command which will become as "ntpq -pn -4".
This graph is able to monitor an unlimited number of Chrony daemons.
list
WARNING: Every time the number of entries in this option changes, Monitorix will resize the chrony.rrd file accordingly, removing all historical data.
Default value: localhost
This graph is able to monitor an unlimited number of Fail2ban jails.
list
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
<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
Default value: 2
graph_mode
Default value: absolute
This graph is able to monitor an unlimited number of Icecast servers.
list
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
<desc>
http://localhost:8000/status.xsl = stream1, stream2, stream3
</desc>
The maximum number of mountpoints allowed for each URL is 9.
graph_mode
Default value: r
For more information please refer to http://elinux.org/RPI_vcgencmd_usage.
cmd
Default value: /usr/bin/vcgencmd
clocks
An example would be:
clocks = arm, core, h264, isp, v3d, uart, emmc, pixel, hdmi
The maximum number of clocks allowed is 9.
volts
An example would be:
volts = core, sdram_c, sdram_i, sdram_p
The maximum number of clocks allowed is 6.
This graph is able to monitor an unlimited number of PHP-APC installations.
list
WARNING: Every time the number of entries in this option changes, Monitorix will resize the phpapc.rrd file accordingly, removing all historical data.
Default value: http://localhost/apc.php?auto
This graph is able to monitor an unlimited number of Memcached installations.
list
WARNING: Every time the number of entries in this option changes, Monitorix will resize the memcached.rrd file accordingly, removing all historical data.
Default value: localhost:11211
This graph is able to monitor an unlimited number of Redis installations.
list
WARNING: Every time the number of entries in this option changes, Monitorix will resize the redis.rrd file accordingly, removing all historical data.
Default value: localhost:6379
This graph is able to monitor an unlimited number of PHP-FPM pools.
group
WARNING: Every time the number of groups changes, Monitorix will resize the phpfpm.rrd file accordingly, removing all historical data.
An example of this option would be:
list
An example of this option would be:
The maximum number of pools allowed per group is 8.
desc
An example of this option would be:
map
An example of this option would be:
This graph is able to monitor an unlimited number of APC UPS (apcupsd) installations.
cmd
Default value: apcaccess
list
WARNING: Every time the number of entries in this option changes, Monitorix will resize the apcupsd.rrd file accordingly, removing all historical data.
Default value: localhost:3551
use_nan_for_missing_data
Default value: n
gap_on_all_nan
Default value: n
skipscale_for_transfer_voltage
Default value: n
skipscale_for_shutdown_level
Default value: n
alt_scaling_for_voltage
Default value: n
alt_scaling_for_timeleft
Default value: n
alt_scaling_for_battery_voltage
Default value: n
This graph is able to monitor an unlimited number of Network UPS Tools (upsc) installations.
list
upsname[@hostname[:port]]
WARNING: Every time the number of entries in this option changes, Monitorix will resize the nut.rrd file accordingly, removing all historical data.
Default value: ups@localhost
use_nan_for_missing_data
Default value: n
gap_on_all_nan
Default value: n
ignore_error_output
Default value: n
skipscale_for_transfer_voltage
Default value: n
skipscale_for_shutdown_level
Default value: n
alt_scaling_for_voltage
Default value: n
alt_scaling_for_timeleft
Default value: n
alt_scaling_for_battery_voltage
Default value: n
This graph is able to monitor an unlimited number of Wowza servers.
list
WARNING: Every time the number of entries in this option changes, Monitorix will resize the wowza.rrd file accordingly, removing all historical data.
Default value: http://localhost:8086/connectioncounts
desc
<desc>
http://localhost:8086/connectioncounts = channel1, channel2, channel3
</desc>
The maximum number of applications allowed for each URL is 8.
Only the limit and rigid values can be set here.
This graph monitors the Verlihub software for DC++ network.
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(8) 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
Default value: n
max
Default value: 10
graphs_per_row
Default value: 2
list
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:
desc
An example would be:
enabled
Default value: n
language
The current possible values are: ca, de, en, it, nl_NL, pl and zh_CN.
Default value: en
default_mail
Default value: root@localhost
url_prefix
Default value: http://localhost:8080
smtp_hostname
Default value: localhost
from_address
Default value: noreply@example.com
The Multihost feature allows you to monitor an unlimited 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
Default value: n
footer_url
Default value: y
graphs_per_row
Default value: 2
default_option_when_all
This option prevents precisely that this happens accidentally by setting a default value in the Graph list. Of course, the user is able to change it to "All graphs" at any moment.
The value of this option may be any of the ones that appear in the <graphs> section (near the end) of the monitorix.conf file.
Default value: "System load"
remotehost_list
An example of this list would be:
remotehost_desc
An example would be:
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 HTTP built-in server, or have been installed a CGI capable web server like Apache.
groups
Default value: n
remotegroup_list
An example of this list would be:
remotegroup_desc
An example would be:
This allows one to send automatically selected graphs to one or more email addresses. This could be specially useful for some system administrators who prefer receiving via email selected graphs instead of browsing to the remote servers every day.
enabled
Default value: n
url_prefix
This option supports sending the credentials in the standard HTTP "Authorization" header, just like this:
http://username:password@localhost:8080
Default value: http://localhost:8080
smtp_hostname
method
Default value:
from_address
Default value: noreply@example.com
subject_prefix
Default value: Monitorix:
hour
Default value: 0
minute
Default value: 0
daily
weekly
monthly
yearly
daily reports will be sent every day at 00:00h.
weekly reports will be sent the first Monday of each week.
monthly reports will be sent the first day of each month.
yearly reports will be sent the first day of each year.
enabled
Default value: n
graphs
Default value: system, fs
to
addendum_script
Default value:
rigid
0 No rigid, the graph will be scaled automatically. Only
the lower-limit value will be used if it's defined.
1 The graph will be scaled by default according the values in
limit but without rigidness.
2 The graph will be forced to scale using the contents of limit
as its upper-limit and lower-limit values.
limit
100:0 which means 100 as the upper-limit value and
0 for the lower-limit value. This is commonly used for percentage
values.
1000 which means 1000 as the upper-limit value and leaving
undefined the lower-limit value. This can also be written as
1000:.
Monitorix is written by Jordi Sanfeliu <jordi@fibranet.cat>
Copyright © 2005-2022 Jordi Sanfeliu
Licensed under the GNU General Public License version 2 (GPLv2).
Dec 2022 | 3.15.0 |