Fork me on GitHub
Monitorix logo
Celebrating 15 years :: 2005-2020
Welcome to the Monitorix project
Take control over your small server

Features

System load average and usage (system.pm)
  • System load.
  • Active processes.
  • Memory allocation.
  • System entropy.
  • System uptime.
Global kernel usage (kern.pm)
  • Including user, nice, system, idle, i/o wait, irq, software irq, steal and guest.
  • Context switches.
  • Fork and vfork rates.
  • VFS usage (dentries, inodes and files).
Per-processor kernel usage (proc.pm)
  • Including user, nice, system, idle, i/o wait, irq, software irq, steal and guest.
  • Supports unlimited number of processors or cores.
  • Ability to define the number of graphs per row.
  • Ability to change the size of the graphs (there are already some predefined sizes).
  • Ability to disable partial or completely the legend data.
AMD CPU power consumption statistics (amdenergy.pm)
  • Unlimited number of AMD CPUs supported.
  • It shows power draw of the cores, socket and non-core part.
Intel-RAPL power consumption statistics (intelrapl.pm)
  • Unlimited number of Intel RAPL devices supported.
  • It shows power draw of the cores, integrated GPU, package, DRAM and the non-core part.
HP ProLiant System Health (hptemp.pm)
  • Up to 20 hardware temperature sensors supported.
  • Selectable ID sensors for each graph.
  • Using HP Command Line Utilities (hplog).
  • Alerts capabilities for each sensor defined.
LM-Sensors and GPU temperatures (lmsens.pm)
  • Up to 16 temperature sensors supported for cores.
  • Up to 2 temperature sensors supported for the motherboard.
  • Up to 4 temperature sensors supported for the CPU.
  • Up to 9 fan speeds supported.
  • Up to 12 voltages supported.
  • Up to 9 temperature sensors for GPU (nvidia/ati).
  • Alerts capabilities for each sensor defined.
  • Supports external command to collect more sensors.
Generic sensors statistics (gensens.pm)
  • Up to 9 temperature sensors supported.
  • Up to 9 CPU frequency sensors supported.
  • Up to 9 battery sensors supported.
  • Fans, power, percentage, and bytes identifiers are also supported.
  • Ability to change the name of each sensor.
  • Alerts capabilities for each sensor defined.
IPMI sensor statistics (ipmi.pm)
  • Temperatures, fans and voltages.
  • Unlimited number of groups of sensors supported.
  • Up to 9 sensors allowed for each group.
  • Ability to change the name of each sensor.
  • Alerts capabilities for each sensor defined.
  • Extra arguments to be able to monitor remote systems.
Ambient sensors statistics (ambsens.pm)
  • Temperatures, humidity, barometer, etc.
  • Unlimited number of groups of sensors supported.
  • Up to 9 sensors allowed for each group.
  • Ability to change the name of each sensor.
  • Alerts capabilities for each sensor defined.
  • Each sensor has its own command line to gather the value.
AMD GPU graphic card statistics (amdgpu.pm)
  • Unlimited number of graphic cards supported.
  • Fan speed, power, core and memory temperatures, etc.
  • Alert capabilities for core and memory temperatures.
NVIDIA GPU graphic card extended statistics (nvidiagpu.pm)
  • Unlimited number of graphic cards supported.
  • Fan speed, power, core and memory temperatures, etc.
  • Alert capabilities for core and memory temperatures.
NVIDIA temperatures and usage (nvidia.pm)
  • Up to 9 cards supported.
  • Temperatures, GPU usage and memory usage (CUDA).
  • Alerts capabilities for each sensor defined.
Disk drive temperatures and health (disk.pm)
  • Unlimited number of disk drives graphs supported.
  • Up to 8 disk drives per graph.
  • Temperatures (using smartmontools and hddtemp).
  • Reallocated sectors count.
  • Current pending sectors.
NVMe drive temperatures and health (nvme.pm)
  • Unlimited number of NVMe drives graphs supported.
  • Up to 8 NVMe drives per graph.
  • Temperatures (using smartmontools).
  • Percentages of spare capacity and life used.
  • Alerts capabilities for each drive defined.
Filesystem usage and I/O activity (fs.pm)
  • Unlimited number of filesystems graphs supported.
  • Up to 8 filesystems per graph.
  • Ability to hide the real name of each mount point (filesystem).
  • Inode usage for each filesystem.
  • Disk I/O activity for each filesystem.
  • Time spent in disk I/O for each filesystem.
  • Disk sectors activity for each filesystem.
  • Alerts capabilities for each filesystem defined.
ZFS statistics (zfs.pm)
  • Unlimited number of pools supported.
  • ARC usage, ARC cache and L2ARC cache.
  • Pool's data and snapshots usage.
  • Pool's capacity and fragmentation.
  • Pool's operations and bandwidth.
Directory usage (du.pm)
  • Unlimited number of groups of directories.
  • Ability to define up to 9 directories per group or graph.
  • Ability to hide (change) the real name of each directory.
  • Ability to count size or files for every directory defined.
Network traffic and usage (net.pm)
  • Unlimited number of network devices supported.
  • Including packet traffic and traffic error graphs.
Netstat statistics (netstat.pm)
  • Includes statistics for IPv4 and IPv6 connections.
  • All connection states are represented.
Tinyproxy statistics (tinyproxy.pm)
  • Unlimited number of Tinyproxy servers supported.
  • Ability to hide the proxy URL from the graph.
Traffic Control statistics (tc.pm)
  • Unlimited number of network interfaces.
  • Up to 9 qdiscs allowed per network interface.
  • Ability to change the name of the qdiscs.
Libvirt statistics (libvirt.pm)
  • Unlimited number of virtual machines.
  • Up to 8 virtual machines per graph.
  • CPU time usage, memory usage, disk usage and network usage.
  • Ability to monitor multiple disks and network interfaces for each VM.
Process statistics (process.pm)
  • Unlimited number of user processes.
  • Up to 10 user processes per graph.
  • CPU usage, memory usage, disk usage and network usage.
  • Opened files, number of threads, number of voluntary and involuntary context switches and number of process instances.
  • Process' uptime.
System services demand (serv.pm)
  • Unlimited number of services.
  • Fully customizable.
  • Ability to toggle between (I)ncremental and (L)oad graphs.
Mail statistics (mail.pm)
  • Supported MTAs are Sendmail, Postfix and Exim.
  • Complete statistics including (depending on MTA selected):
    • Incomming connections.
    • Outgoing connections.
    • Rejected.
    • Delivered.
    • Received.
    • Bounced.
    • Discarded.
    • Held.
    • Forwarded.
    • Spam.
    • Virus.
  • Number of emails in queue.
  • Total size of all emails in queue.
  • Network traffic usage.
  • SPF results (smf-spf and postfix-policyd-spf-perl).
  • Greylisting (milter-greylist).
Network port traffic (port.pm)
  • Unlimited number of network ports (or port ranges) supported.
  • Ability to select multiple protocol type for each port (tcp, udp, etc.).
  • Supports incoming and outgoing connections.
  • Optionally it warns if a network port is not listening.
Users using the system (user.pm)
  • Supports SSH/Login/Telnet, Samba and Netatalk.
FTP statistics (ftp.pm)
  • Supports the log file format of ProFTPD, vsftpd and Pure-FTPd servers.
Apache statistics (apache.pm)
  • Including workers (busy and idle), CPU usage and requests/sec.
  • Includes also detailed metrics on workers usage and open slots.
  • Alert capabilities based on remaining free slots.
  • Unlimited number of Apache servers supported.
Nginx statistics (nginx.pm)
  • Including connections (reading, writing, waiting), requests/sec and network traffic.
Lighttpd statistics (lighttpd.pm)
  • Including workers (busy and idle), network traffic and requests/sec.
  • Unlimited number of Lighttpd servers supported.
MySQL statistics (mysql.pm)
  • Query types per second:
    • Select, Commit, Delete, Insert, Insert_Select, Update, Replace, Replace_Select and Rollback.
  • Percentage values of:
    • Thread cache hit rate.
    • Query cache usage.
    • Connections usage.
    • Key buffer usage.
    • InnoDB buffer pool usage.
  • Number of opened tables and table locks waited per second.
  • Number of queries and slow queries per second.
  • Number of connections, abort clients and abort connects per second.
  • Network traffic.
  • Unlimited number of MySQL servers supported.
PostgreSQL statistics (pgsql.pm)
  • Tuples per second:
    • Returned, Fetched, Inserted, Updated and Deleted.
  • Background writer:
    • checkpoints_timed.
    • checkpoints_req.
    • buffers_checkpoint.
    • buffers_clean.
    • maxwritten_clean.
    • buffers_backend.
    • buffers_alloc.
  • Database size.
  • Number of connections:
    • Active, Idle, Idle in transaction and Idle in transaction (aborted).
  • Number of transactions committed and rolled back.
  • Block cache (hit and read).
  • Unlimited number of PostgreSQL servers supported.
  • Ability to monitor up to 9 databases per server.
MongoDB statistics (mongodb.pm)
  • MongoDB operations:
    • Insert, Query, Update, Deletee, Getmore and Command.
  • Write performance (average ms and last flush ms).
  • Connections per second.
  • Requests and asserts.
  • Network traffic.
  • Unlimited number of MongoDB servers supported.
  • Unlimited number of databases monitored.
  • For each MongoDB database:
    • Collections, Num. Extents, Indexes, DataSize, StorageSize and FileSize.
Varnish statistics (varnish.pm)
  • Workers and LRU objects statistics.
  • Backend usage.
  • Client connections.
  • Cache performance.
  • Objects.
  • Traffic.
PageSpeed Module statistics (pagespeed.pm)
  • Unlimited number of PageSpeed installations supported.
  • Cache overview.
  • HTML optimization.
  • Saved ratio.
  • Memcached.
  • Pcache cohorts.
  • Rewrite & SHM cache.
  • LRU & File cache.
  • Cache time.
Squid Proxy Web Cache statistics (squid.pm)
  • Up to 19 result and status codes supported.
  • Overall requests (client, server, etc.).
  • Memory and disk storage usage.
  • IP cache use with requests, hits and misses.
  • Network protocols usage (HTTP, FTP, Gopher and WAIS).
  • Client and server network traffic.
NFS server statistics (nfss.pm)
  • NFS v2, v3 and v4 supported.
  • Up to 30 defined requests supported.
  • Overall I/O bytes (read and written).
  • Network layer usage (TCP, UDP and TCPConn).
  • RPC usage.
  • Thread utilization.
  • Read cache usage.
  • File handle cache usage.
NFS client statistics (nfsc.pm)
  • NFS v2, v3 and v4 supported.
  • Up to 32 defined requests supported.
  • RPC usage.
BIND server statistics (bind.pm)
  • Unlimited number of BIND servers supported.
  • Incoming queries.
  • Outgoing queries (_default) view.
  • Name server statistics.
  • Resolver statistics (_default) view.
  • Cache DB RRsets (_default) view.
  • Memory usage.
  • Task manager.
Unbound server statistics (unbound.pm)
  • Queries and cache.
  • Queries by type.
  • Recursion time and server uptime.
  • Specific traffic and memory usage.
  • Answers by type and queries by flags.
  • Resolving time.
NTP statistics (ntp.pm)
  • Unlimited number of NTP servers supported.
  • NTP timing.
  • Stratum level.
  • Reference Identifier and Kiss-o'-Death Codes.
Chrony statistics (chrony.pm)
  • Unlimited number of Chrony servers supported.
Fail2ban statistics (fail2ban.pm)
  • Unlimited number of group of jails for monitoring.
  • Ability to define up to 9 jails per group or graph.
  • Ability to define a title for every group or graph of jails.
Icecast Streaming Media Server statistics (icecast.pm)
  • Unlimited number of Icecast servers supported.
  • Current listeners.
  • Bitrate.
Raspberry Pi sensor statistics (raspberrypi.pm)
  • Up to 9 different clock frequencies.
  • Core temperature.
  • Voltages.
Alternative PHP Cache statistics (phpapc.pm)
  • Unlimited number of web servers with PHP-APC installed.
  • Memory usage including fragmentation.
  • Hits and misses.
  • File cache information.
Memcached statistics (memcached.pm)
  • Unlimited number of servers with Memcached installed.
  • Hits and misses.
  • Cached usage and items in cache.
  • Objects I/O.
  • Connections.
  • Memcached network traffic.
Redis statistics (redis.pm)
  • Unlimited number of servers with Redis installed.
  • Connections received, connections rejected and commands processed.
  • Ratios, including:
    • Allocator fragmentation, Allocator RSS, RSS overhead and Memory fragmentation.
  • Clients connected and blocked and connected slaves.
  • Memory usage.
  • Dictionary cache:
    • Evicted keys, Keyspace hits and Keyspace misses.
  • Redis network traffic.
PHP-FPM statistics (phpfpm.pm)
  • Unlimited number of PHP-FPM pools.
  • Ability to define unlimited number of groups of graphs.
  • Ability to define up to 8 PHP-FPM pools per group or graph.
  • Ability to change the name of each pool.
APC UPS statistics (apcupsd.pm)
  • Unlimited number of APC UPS devices supported.
  • Line voltage with high and low transitions.
  • Temperatures with support for internal and ambient sensors.
  • Battery charge with load capacity and shutdown level.
  • Battery voltage and nominal.
  • Time left with shutdown level.
  • Line frequency.
Network UPS Tools statistics (nut.pm)
  • Unlimited number of Network UPS Tools installations supported.
  • Line voltage with high and low input transfers.
  • Temperatures with support for internal and ambient sensors.
  • Battery charge with load capacity and shutdown level.
  • Battery voltage and nominal.
  • Time left with shutdown level.
  • Line frequency.
Wowza Media Server (wowza.pm)
  • Unlimited number of Wowza servers supported.
  • Ability to define up to 8 applications per server.
Devices interrupt activity (int.pm)
  • APIC support with up to 256 different interrupts.
Verlihub statistics (verlihub.pm)
  • Connected users.
  • Total hub upload.
  • Total hub share.
Monitoring remote servers (Multihost).
  • Unlimited number of remote servers.
  • Ability to define the number of graphs per row.
  • Ability to hide the real URL of each remote server.
  • Ability to create groups of remote servers.
  • Ability to see all graphs of all remote servers at once.
Monitoring (as gateway) the Internet traffic of LAN devices (traffacct.pm).
  • Unlimited number of LAN devices (PC, printers, networks, etc.).
  • Ability to define the number of graphs per row.
  • Ability to enable traffic monthly reports.
  • Ability to send individual traffic monthly reports.
  • Supported languages in reports: Catalan, Dutch, German, English, French, Italian, Polish, Simplified Chinese and Slovak.
Alert capabilities specific.
  • CPU load average alert.
  • Reallocated sector count alert.
  • Current pending sectors alert.
  • Root filesystem usage alert.
  • Delivered emails counter alert.
  • Mails queued counter alert.
  • Activated when it reaches or exceeds a threshold value (or a range of values) for an specified amount of time.
Built-in HTTP server.
  • Basic access authentication supported.
  • IP address restriction with host_deny and host_allow options.
  • Configurable host address to bind to and network port to listen on.
  • The use of an external web server (like Apache, Nginx, etc.) is optional.
  • Autocheck of responsiveness enabled by default to restart daemon after a possible DoS.
Complete email reporting mechanism of all graphs.
Ability to include additional configuration file(s).
Ability to view statistics per (hour optional), day, week, month or year(s).
Ability to view statistics in graphs or in plain text tables.
Ability to zoom in any graph to see it in more detail.
Ability to show network metrics in MBytes/sec or Mbits/sec.
Ability to show temperatures in Celsius or in Fahrenheit.
Ability to generate graphs in PNG or SVG formats.
Ability to configure the number of years of historical data (no limit).
Ability to include RRDtool extra options on every graph.
Ability to include home and back buttons in the graphs page.
Web interface offers minimal learning, ubiquitous access.
Configuration with only one text-plain file.
Silent mode to be able to retrieve the graphs from scripts.
Traffic statistics are stored in fixed-size databases (RRDtool).
Perl language based (lightweight tool).
Supported systems: GNU/Linux, FreeBSD, OpenBSD and NetBSD.

Contributors

There is some people that is currently doing their own contribution to Monitorix and others that had contributed well in the past. Since I don't want to miss anyone of them I prefer not to make a list.

My very special and sincere thanks to all of them.