Monitorix

Software Screenshot:
Monitorix
Software Details:
Version: 3.10.1 updated
Upload Date: 22 Jun 18
Developer: Jordi Sanfeliu
Distribution Type: Freeware
Downloads: 81

Rating: 1.3/5 (Total Votes: 3)

Monitorix is an open source command-line software that provides users with a very useful and lightweight system monitoring utility that can be used for novice and experienced system administrators alike.

Features at a glance

It has been designed from the ground up to monitor as many system resources and services as possible, without any limitation, thus being deployable on production Linux/UNIX server machines. The application is comprised of two command-line programs, a collector and a CGI script called monitorix.cgi. It also comes with a built-in web (HTTP) server.

It is a true lightweight application, as its CLI command is extremely simple and accepts only three arguments (-c, -p and -d). While the -c option can be used to specify the location of the configuration file, the -p option is used to store the daemon's process ID into a specified file.

On the other hand, the -d option is used with three arguments, none, graph or all, allowing users to log detailed information about what the application is doing internally. While the all argument is used for displaying collected data of all enabled graphs, the none argument will display no data. In addition, you can specifya a comma-separated list of graph names using the graph argument.

Supported operating system and availabiliy

The program in distributed as a source archive, allowing users to configure, compile and install it on any Linux distribution, as well as binary packages for the Arch Linux operating system, as well as RPM-based systems.

Officially supported Linux distributions include Red Hat Enterprise Linux, Fedora Linux, CentOS, Arch Linux, Gentoo, Debian, and Ubuntu. In addition, it supports the FreeBSD, OpenBSD and NetBSD open source UNIX-like operating systems.

Bottom line

All in all, Monitorix is a really simple and fast universal system monitoring application that can be used by system admins to monitor Linux or BSD server machines. Also due to its simplicity, it can be used on embedded devices as well.

What is new in this release:

  • Fixed a bad memory scaling in *BSD systems.
  • Fixed in 'process.pm' to fully honour the option 'netstats_in_bps'.
  • Fixed the missing declaration of 'allvalues' in 'gensens.pm' which prevented graphs generation if 'show_gaps' option was enabled.
  • Fixed to correctly represent the values in text mode in 'ipmi.pm'.
  • Fixed a missalignment of the MB & CPU temperatures values in 'lmsens.pm'.
  • Fixed to limit the length of the device names in 'fs.pm'.
  • Fixed a missing gap colouring in some zoomed graphs of 'system.pm'.
  • Fixed to save missing values as 'unknown' in 'apcupsd.pm'. [#201]
  • Fixed a XSS vulnerability in CGI variables. [#203] (thanks to Sebastian Gilon from http://testarmy.com/, who pointed this out)
  • Fixed to check if setgid() and setuid() functions were successful before starting the HTTP built-in. (thanks to Sander Bos for pointing this out)
  • Fixed to disable 'echo' when typing the password in './htpasswd.pl'. (thanks to Sander Bos for pointing this out)
  • Fixed to set permissions 0600 to log files. (thanks to Sander Bos for pointing this out)

What is new in version :

  • Added a complete statistical Libvirt (libvirt) graph.
  • Added a complete processes statistics (process) graph.
  • Added Upstart job. [#46]
  • Added more verbosity during the startup.
  • Added support to include username and password in the 'url_prefix' option of the 'emailreports' module. (suggested by V1ru535, admin AT mynet.fr)
  • Optimized the 'serv' graph to not overload servers with big log files.
  • Added support to include Piwik tracking code. (suggested by V1ru535, admin AT mynet.fr)
  • Added support for relay-only MTA (for example Nullmailer) in 'emailreports'. [#49]
  • Added the new option 'ip_default_table' to define in which table Monitorix will put all iptables rules for network traffic accounting monitoring. (suggested by Russell Morris, rmorris AT rkmorris.us)
  • Added SPF statistics in the 'mail' graph.
  • Added support for newest NVidia driver 340.24. [#54]
  • Added the new 'url_prefix_proxy' option to bypass the URL building in the CGI. Usefull when Monitorix is used behind a reverse proxy. [#58]
  • Added a 'Makefile' to provide more flexibility for users and packagers. [#62]
  • Improved in all graphs the 'limit' and 'rigid' functionality and reduced a lot of redundant code.
  • Changed all DST from COUNTER to GAUGE in 'net' module to avoid unexpected huge peaks.
  • Added a check to detect inconsistencies between enabled graphs and defined graphs during initialization.
  • Fixed regexp that prevented collecting LOADPCT and ITEMP values in 'apcupsd' module. (thanks to Patrick Fallberg, patrick AT fallberg.net)
  • Fixed to show the filesystem name when Monitorix is unable to detect its device name.
  • Fixed messages of argument isn't numeric in addition at fs.pm in lines 650 and 684. This happened if one of the filesystems defined is not a real mount point with an associated device name. (thanks to Andreas Itzchak Rehberg, izzy AT qumran.org for pointing this out)
  • Fixed the values in the text interface of the 'fs' graph.
  • Fixed init script to work with Chef properly. [#48]
  • Fixed a line that forced updates on every minute in the 'serv' graph.
  • Fixed 'icecast' graph to support newer statistics page format.
  • Fixed the use of uninitialized variables in 'phpapc' module.
  • Fixed to correctly sanitize the comma-separated values in the 'list' option of the 'mysql' module.
  • Fixed the built-in HTTP server to return a correct Content-Type header for '.css' files. (thanks to Liang Zhang, liangz AT fnal.gov for pointing this out)
  • Small fixes and typos.

What is new in version 3.5.0:

  • Added a complete statistical APC UPS (apcupsd) graph. (thanks to Ilya Karpov, gibzer AT gmail.com)
  • Added a complete statistical Netstat (netstat) graph. (suggested by Maarten van Lieshout, mlieshout AT cocomowebbeheer.nl)
  • Added support for amavisd-new in the 'serv' and 'mail' graphs for spam and virus email accounting. (thanks to Dirk Tanneberger, dirk AT tanneberger.biz)
  • Added support for PHP APC 4.0. [#36]
  • Added an error message into the email if 'emailreports' can't connect with Monitorix.
  • Added the new 'addendum_script' option in the 'emailreports' in order to include user's own data in the emails. (thanks to Dirk Tanneberger, dirk AT tanneberger.biz)
  • Added support to use '/dev/disk/by-path/' paths as device names in the 'disk' graph. [#37]
  • Added two new options in 'emailreports' to configure the time when email reports will be sent. [#39]
  • Added a new option to accept self-signed certificates when collecting values remotely using HTTPS protocol. [#40]
  • Added support in the 'port' graph to define multiple network protocols on the same port number. (thanks by Jean-Louis Halleux, monitorix AT ritm.be)
  • Added the inode usage in the 'fs' graph and refactored the layout. (suggested by Andreas Itzchak Rehberg, izzy AT qumran.org)
  • Added a new option called 'include_dir' to be able to load additional configuration files from a specific directory ('/etc/monitorix/conf.d' by default). As a result of this, the main configuration file is now located into the new directory '/etc/monitorix/'.
  • Added the option 'url' in the 'nginx' graph to define a full URL to be used to collect stats. (suggested by Melkor, morgoth AT free.fr)
  • Changed the default path '/usr/share/monitorix' of the 'base_dir' option to '/var/lib/monitorix/www'. This should make Monitorix more FHS friendly.
  • Incremented the font size of the titles in the 'bind' graph.
  • Removed the hard coded suffix '/server-status?auto' from the 'apache' and 'lighttpd' modules, now it most be part of the URL(s) defined in the 'list' option. (suggested by Melkor, morgoth AT free.fr)
  • Removed the EOL mark in the regexp of the 'milter-greylist' stats in order to support newer version 4.4.3. (thanks to Sean Wilson, monitorix AT bsdpanic.com)
  • Fixed to expand gaps also for negative values. [#34]
  • Fixed in email reports to show all graphs in the list. [#33]
  • Fixed the date format to match with UW-IMAP logs and also add POP3 login accounting. (thanks to Wijatmoko U. Prayitno, koko AT crypto.my.id for pointing this out)
  • Fixed to show the text interface in the 'memcached' graph.
  • Fixed to initialize a pair of variables in 'mail.pm' in order to avoid 'Use of uninitialized value...' messages in log file. (thanks to Dirk Tanneberger, dirk AT tanneberger.biz)
  • Fixed to avoid unexpected grouping of network interfaces with aliases in the 'net' graph. (thanks to Ivo Brhel, ivb AT volny.cz)
  • Fixed to enclose URLs with single quotes in the Multihost HTML.
  • Fixed messages of 'use of uninitialized values' and 'non-numeric arguments in addition' in 'proc' and 'fs' graphs respectively on FreeBSD systems. (thanks to Janusz Pruszewicz, janusz AT pruszewicz.com)
  • Fixed to match exactly the connection types 'in', 'out' or 'in/out' in 'port' graph.
  • Fixed to compare kernel versions as strings instead as numbers and improved the way how is extracted the kernel version. (thanks to Jean-Louis Halleux, monitorix AT ritm.be)
  • Fixed some HTML tags in 'monitorix.cgi'.
  • Fixed a missing HTML tag in 'port' graph. (thanks to Jean-Louis Halleux, monitorix AT ritm.be)
  • Fixed messages of 'use of uninitialized value' in 'port' graph. (thanks to Claude Nadon, claude AT ws01.info for pointing this out)
  • Fixed the title of certain graphs in Multihost mode.
  • Small fixes and typos.

What is new in version 3.4.0:

  • Added a complete statistical Memcached graph. [#27]
  • Added support for different BIND stats versions (2 and 3 right now). (thanks to Ivo Brhel, ivb AT volny.cz)
  • Added two new alerts in the 'disk' graph in order to know if a disk drive has exceeded or reached a threshold for reallocated and pending sectors. (suggested by Matthew Connelly, maff AT maff.im)
  • Added a new option called 'max_historic_years' (with a default value of 1), which enables the ability to have up to 5 years of data. Beware with this option because it generates a new '.rrd' file every time the value is extended, losing the current historical data. (suggested by Mohan Reddy, Mohan.Reddy AT analog.com)
  • Improved the regexp when collecting data from devices's interrupts which also fixes some annoying messages on using non-numeric arguments.
  • Added support for the Pure-FTPd logs in the 'serv' and 'ftp' graphs.
  • Added the new configuration option 'https_url'. [#31]
  • Fixed error messages about use of uninitialized values in 'system' graph on BSD systems.
  • Fixed error messages about not numeric argument in addition in 'fs' graph on BSD systems.
  • Fixed in 'emailreports' to use the command line 'hostname' if the variable $ENV{HOSTNAME} is not defined (Debian/Ubuntu and perhaps other systems). (thanks to Skibbi, skibbi AT gmail.com for pointing this out)
  • Fixed the error message 'String ends after the = sign on CDEF:allvalues=' in the 'int' graph (the Interrupts graph is pending to have a complete rewrite).
  • Fixed the 'int' graph in order to be more compatible with Raspberry Pi.
  • Fixed in 'bind.pm' to store a 0 value if threads are disabled. [#29]
  • Fixed to correctly sent images in graphs 'proc', 'port' and 'fail2ban' when using emailreports. (thanks to Benoit Segond von Banchet, bjm.segondvonbanchet AT telfort.nl for pointing this out)
  • Fixed to show the real hostname in the emailreports.
  • Fixed the 'int' graph in order to be compatible with Excito B3 product. (thanks to Patrick Fallberg, patrick AT fallberg.net for pointing this out)
  • Fixed to correctly sanitize the input string in the built-in HTTP server which led into a number of security vulnerabilities. [#30]
  • Fixed the lack of minimum definition in some data sources of 'bind' graph. (thanks to Andreas Itzchak Rehberg, izzy AT qumran.org for pointing this out)
  • Fixed a fail to adequately sanitize request strings of malicious JavaScript. [#30] (thanks to Jacob Amey, jamey AT securityinspection.com for pointing this out)
  • Fixed a typo in monitorix.service. [#32]
  • Fixed the requests value in the 'nginx' graph. Now it honours the label to show the value per second, instead of per minute. (thanks to Martin Culak, culak AT firma.azet.sk for pointing this out)
  • Small fixes and typos.

What is new in version 3.3.1:

  • Fixed to correctly sanitize the input string in the built-in HTTP server which led a number of security vulnerabilities. [#30]

What is new in version 3.3.0:

  • Added a complete statistical Wowza Media Server graph. (suggested by Daniele Ilardo, kkstyle21 AT gmail.com)
  • Added a complete statistical PHP-APC graph. (suggested by Petr Švec, petr.svec AT pak.izscr.cz)
  • Reimplemented the alarm signal handler placing it inside the main loop in order to be able to control the timeouts in the 'disk' graph (and others).
  • This should avoid a complete freeze if the network goes down when monitoring NFS filesystems. [#10]
  • Reimplemented the 'theme' option.
  • Implemented a complete email reporting mechanism. [#11]
  • Added the label 'Total' in the main graph of 'apache'.
  • Added a new option called 'show_gaps' to be able to see the gaps produced by missing data in graphs.(suggested by Skibbi, skibbi AT gmail.com)
  • Add a check during the initialization of the 'nvidia' graph, to test for the existence of the 'nvidia-smi' command.
  • Add a check during the initialization of the 'nfss' graph, to test if there is the '/proc/net/rpc/nfsd' file.
  • Add a check during the initialization of the 'nfsc' graph, to test if there is the '/proc/net/rpc/nfs' file.
  • Added the option 'url_prefix' in the 'traffacct' graph.
  • Added the option 'global_zoom' to all graphs.
  • Fixed a bug that prevented from seeing stats in the 'nfss' graph.
  • Fixed in 'nginx' graph the name of the iptables rules which prevented working the network traffic graph. [#22]
  • Fixed a bug that prevented a correctly data collection in the 'fail2ban' graph. [#23]
  • Fixed the description of 'netstats_in_bps' in monitorix.conf(5) man page.
  • Fixed a message of 'Argument "" isn't numeric in int ...' in 'nvidia' graph when using newer official drivers.
  • Fixed a bug in Groups (Multihost view) that prevented from seeing the remote server's graphs of the selected group. (thanks to Mauro Medda, m.medda AT tiscali.it)
  • Little code cleaning.

What is new in version 3.2.1:

  • Changed the source from where is collected the memory usage in the 'squid' graph. Now the shown values are more real and accurate.
  • Added user/password authentication options in the built-in HTTP server. [#14]
  • Added the script 'htpasswd.pl' to be able to encrypt passwords. [#14]
  • Added the options 'hosts_allow' and 'hosts_deny' to restrict access by IP address to the built-in HTTP server. [#14]
  • Added the ability to specify an optional host address for the built-in HTTP server to bind to. [#19]
  • Added a new option in the 'disk' graph called 'accept_invalid_disk' that permits continue working even if some of the device names defined are invalid or non-existent. This is specially useful to monitor external disks that aren't permanently connected to the system.
  • Updated the 'monitorix.service' file. [#20] (thanks to Christopher Meng, rpm AT cicku.me)
  • Fixed a bug that prevented seeing the Core temperatures in the 'lmsens' graph. (thanks to Bryan Guidroz, bryanguidroz AT hotmail.com)
  • Fixed a typo and escaped a pair of hyphens in the monitorix.conf(5) man page.

What is new in version 3.2.0:

  • Added a complete Raspberry Pi sensors graph. [#10, #13] (thanks to graysky, graysky AT archlinux.us)
  • Improved a bit the MySQL documentation in the monitorix.conf(5) man page. (thanks to Luca Ferrario, luca AT ferrario.net)
  • Added a new option called 'temperature_scale' to be able to toggle between values in Celsius or in Fahrenheit. (suggested by Bryan Guidroz, bryanguidroz AT hotmail.com)
  • Added support for Simplified Chinese language in the monthly reports. (thanks to Christopher Meng, rpm AT cicku.me)
  • Added support for the ATI graph cards through the 'gpu' keys in the 'lmsens' graph. As in the NVIDIA case, it requires the ATI official drivers. [#8]
  • Changed the default charset in the built-in HTTP server to UTF-8. (thanks to Akong, ak6783 AT gmail.com for pointing this out)
  • Added verbosity to the 'undefined configuration' of MySQL graph.
  • Fixed a typo in an iptables rule in the Nginx graph. (thanks to Faustin Lammler, faustin AT dejadejoder.com)
  • Fixed the Squid graph in order to honour the 'netstat_in_bps' option. (suggested to Ignacio Freyre, nachofw AT adinet.com.uy)
  • Fixed in 'port' graph to show the minimum number of graphs between the value of 'max' and the number of ports really defined. This fixes the error messages of uninitialized values in lines 410 and 411.
  • Fixed to honour the support of RAID controller parameters in the disk device names defined in the disk graph. [#12]
  • Small fixes in the alerting system of 'fs', 'system' and 'mail' graphs.
  • Fixed a bug in 'traffacct' graph that prevented accounting traffic if the option was empty. Also, Socket module has been added.
  • Fixed to get the correct graph of the right group number in the 'fs' graph when using 'silent=imagetag' option. [#16]

What is new in version 3.1.0:

  • Added a complete statistical FTP graph.
  • The 'serv' graph now uses 'secure_log' log file to get FTP login statistics. Alternatively the 'ftp_log_date_format' option has been renamed to 'secure_log_date_format'.
  • Fixed in 'nginx' and 'port' graphs to properly use '-m conntrack --ctstate' instead of '-m state --state' in all iptables rules and avoid an annoying iptables message about using an obsolete option.
  • Fixed to delimit the values in 'disk->list->[n]' by ", " (comma + space).
  • Fixed to detect if a device name defined in 'disk->list->[n]' does really exist in the system.
  • Fixed a missing initialization of some data arrays in 'lmsens' which generated the message "ERROR: while updating /var/lib/monitorix/lmsens.rrd: expected 52 data source readings (got 10) from N" if the 'sensors' command is missing.
  • Fixed in 'lmsens' to better handle the returned value (an error) when the 'nvidia-smi' command is not installed in the system.
  • Fixed a bad temperature values extraction from the 'sensors' command in the 'lmsens' graph. (thanks to Cedric Girard for pointing this out)
  • Fixed in 'nginx' to avoid the use of uninitialized values and to show an error message when Monitorix is unable to connect to the Nginx server.
  • Fixed in 'apache' to show an error message when Monitorix is unable to connect to the Apache server.
  • Fixed in 'lighttpd' to show an error message when Monitorix is unable to connect to the Lighttpd server.
  • Fixed in 'icecast' to show an error message when Monitorix is unable to connect to the Icecast server.
  • Fixed in 'traffact' to show an error message when Monitorix is unable to connect to the HTTP server.
  • Fixed to make sure to kill the built-in HTTP server if Monitorix exits unexpectedly.
  • Fixed messages of type 'Use of uninitialized value ...' in 'system', 'kern' and 'fs' graphs on FreeBSD systems.
  • Fixed to extract correctly the minor number of kernel version on FreeBSD systems.
  • Fixed a bug in 'user' graph that prevented counting correctly the number of users currently logged in FreeBSD systems.
  • Fixed a bug in how data was collected using 'ipfw' that affected the 'port' graph which was showing more activity than real.

What is new in version 3.0.0:

  • Added an HTTP built-in server.
  • Changed the path 'cgi-bin' to 'cgi'.
  • Fixed color sequence in the 'fs' graph.
  • Fixed a division by zero in 'mysql' graph.
  • Fixed excessive bottom padding in 'fs' graph.
  • Fixed to use always the same colors for '/', 'swap' and '/boot' values in 'fs' graph.
  • Fixed a bad naming in the title of 'traffacct' graph.
  • Fixed all URLs of the .png files.

Similar Software

jWatchdog
jWatchdog

20 Feb 15

likwid
likwid

20 Feb 15

IPShutter
IPShutter

3 Jun 15

Ramona
Ramona

20 Feb 15

Comments to Monitorix

Comments not found
Add Comment
Turn on images!