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.
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).
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.
amdenergy.pm
)
- Unlimited number of AMD CPUs supported.
- It shows power draw of the cores, socket and non-core part.
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.
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.
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.
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.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.
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.
amdgpu.pm
)
- Unlimited number of graphic cards supported.
- Fan speed, power, core and memory temperatures, etc.
- Alert capabilities for core and memory temperatures.
nvidiagpu.pm
)
- Unlimited number of graphic cards supported.
- Fan speed, power, core and memory temperatures, etc.
- Alert capabilities for core and memory temperatures.
nvidia.pm
)
- Up to 9 cards supported.
- Temperatures, GPU usage and memory usage (CUDA).
- Alerts capabilities for each sensor defined.
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.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.
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.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.
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.
net.pm
)
- Unlimited number of network devices supported.
- Including packet traffic and traffic error graphs.
netstat.pm
)
- Includes statistics for IPv4 and IPv6 connections.
- All connection states are represented.
tinyproxy.pm
)
- Unlimited number of Tinyproxy servers supported.
- Ability to hide the proxy URL from the graph.
tc.pm
)
- Unlimited number of network interfaces.
- Up to 9 qdiscs allowed per network interface.
- Ability to change the name of the qdiscs.
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.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.
serv.pm
)
- Unlimited number of services.
- Fully customizable.
- Ability to toggle between (I)ncremental and (L)oad graphs.
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
andpostfix-policyd-spf-perl
). - Greylisting (
milter-greylist
).
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.
user.pm
)
- Supports SSH/Login/Telnet, Samba and Netatalk.
ftp.pm
)
- Supports the log file format of ProFTPD, vsftpd and Pure-FTPd servers.
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.pm
)
- Including connections (reading, writing, waiting), requests/sec and network traffic.
lighttpd.pm
)
- Including workers (busy and idle), network traffic and requests/sec.
- Unlimited number of Lighttpd servers supported.
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.
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.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.pm
)
- Workers and LRU objects statistics.
- Backend usage.
- Client connections.
- Cache performance.
- Objects.
- Traffic.
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.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.
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.
nfsc.pm
)
- NFS v2, v3 and v4 supported.
- Up to 32 defined requests supported.
- RPC usage.
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.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.pm
)
- Unlimited number of NTP servers supported.
- NTP timing.
- Stratum level.
- Reference Identifier and Kiss-o'-Death Codes.
chrony.pm
)
- Unlimited number of Chrony servers supported.
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.pm
)
- Unlimited number of Icecast servers supported.
- Current listeners.
- Bitrate.
raspberrypi.pm
)
- Up to 9 different clock frequencies.
- Core temperature.
- Voltages.
phpapc.pm
)
- Unlimited number of web servers with PHP-APC installed.
- Memory usage including fragmentation.
- Hits and misses.
- File cache information.
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.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.
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.
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.
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.pm
)
- Unlimited number of Wowza servers supported.
- Ability to define up to 8 applications per server.
int.pm
)
- APIC support with up to 256 different interrupts.
verlihub.pm
)
- Connected users.
- Total hub upload.
- Total hub share.
- 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.
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.
- 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.
- Basic access authentication supported.
- IP address restriction with
host_deny
andhost_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.
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.