Monitorix is a fantastic free tool to monitoring and supervising traffic and behaviour of your servers.
Instead of using the package from the Debian sources I prefer to build it myself as it comes easily and you I the most recent version.
Refs: https://www.monitorix.org/
Guide of install Monitorix
#apt update -y
#apt install -y rrdtool perl libwww-perl libmailtools-perl libmime-lite-perl librrds-perl libdbi-perl libxml-simple-perl libhttp-server-simple-perl libconfig-general-perl libio-socket-ssl-perl
If you want MySQL/MariaDB stats on Debian server (like my RasPi) you need this one too: libdbd-mysql-perl
For mail like Postfix you need this: pflogsumm
Then do:
#cd /home/pi/Downloads (or where you prefer)
#wget https://www.monitorix.org/monitorix_3.15.0-izzy1_all.deb
#dpkg -i https://www.monitorix.org/monitorix_3.15.0-izzy1_all.deb
#systemctl enable monitorix
#system start monitorix
Your can delete the download-file if you like.
Then edit
#nano /etc/monitorix/monitorix.conf
to your preferred settings. Se example of my nearly full file at the end
Documentation goes here: https://www.monitorix.org/manpage.html
Note: What you can’t find is that on RasPi OS 64 the vgencmd file has moved:
Change it manually to:
cmd = /opt/vc/bin/vcgencmd to cmd = /usr/bin/vcgencmd
If your like to display port traffic, you might see blank graphs. Reboot is your friend.
nftables is not shown. This has been addressed but we are waiting for an update.
Using Monitorix on FreedomBox you should add pflogsumm as this seems to help on a bug with not showing port traffic after Fredombox migrate to firewalld in latest version (22.21).
Tips for settings and config
To make stats and nice graphs for MySQL / MariaDB
Running stat on MySQL requires to edit the file
#nano /etc/monitorix/conf.d/00-debian.conf
and add at least at Monitorix account on MySql / mariadb. This account don’t need any privileges in mysql nor database.
On the latest version of RasPi OS (BullsEye per 30 OCT 21) it seems like the socket have changed to: /run/mysqld/mysqld.sock
To make stats you need a MySQL user to dig out the data and to add it in the config file:
#mysql -u youradminname -p
mysql> CREATE USER “moni2″@”localhost” IDENTIFIED BY “moni2”;
(Change to something smarter and stronger)
mysql> FLUSH PRIVILEGES;
mysql>\q
Then we modify the config file:
#nano /etc/monitorix/conf.d/00-debian.conf
- And add the settings to somthing like this:
<mysql>
conn_type = socket
# conn_type = host
# list = localhost
list = /run/mysqld/mysqld.sock
<desc>
/run/mysqld/mysqld.sock = 3306, moni2 moni2
# localhost = 3306, monitorix, monitorix
</desc>
rigid = 0, 1, 0, 0, 0, 0
limit = 10, 10, 10, 10, 10, 10
</mysql>
Now we just need to make sure Monitorix likes your good work:
#systemctl stop monitorix
-wait 5 sec:
#systemctl start monitorix
(Yes, I do know the restart features exists but some Monitorix need a short break to find itself.
You have to generate some mysql data for example by clicking around on a WordPress pages first, and then wait 4-6 min before the graph shows up.
If it doesn’t help: #restart your RasPi / Debian server.
BIND9 Settings
edit:
#nano /etc/bind/named.conf.local
add this:
statistics-channels {
inet 127.0.0.1 port 8053;
};
Backup/restore Monitorix
If you upgrade or reinstall your Raspberry Pi you can backup all the files and folders here:
/etc/monitorix
and
/var/lib/monitorix
using WinSCP to your PC. Also your /etc/bind/named.conf.local or where you added the do-the stats-info.
The tricky part comes doing restore: If you change from 32-bit version to 64-bit version the data is overwritten with new. NO previous stats is available after.
Same goes from 64-bit Raspi (or Debian) to 32-bit.
Config file ver. 3.14
# Monitorix - configuration file # # See monitorix.conf(5) manpage for a detailed description of each option. # title = RaspberryPi hostname = RaspberryPi theme_color = black refresh_rate = 150 iface_mode = graph enable_zoom = y netstats_in_bps = n netstats_mode = overlapped disable_javascript_void = n temperature_scale = c show_gaps = n global_zoom = 1 max_historic_years = 1 accept_selfsigned_certs = y image_format = PNG enable_parallelizing = y include_dir = /etc/monitorix/conf.d base_dir = /var/lib/monitorix/www/ base_lib = /var/lib/monitorix/ base_url = /monitorix base_cgi = /monitorix-cgi <httpd_builtin> enabled = y host = port = 8080 user = nobody group = nobody log_file = /var/log/monitorix-httpd hosts_deny = hosts_allow = autocheck_responsiveness = y <auth> enabled = n hosts_deny = all msg = Monitorix: Restricted access htpasswd = /var/lib/monitorix/htpasswd </auth> </httpd_builtin> # Log files pathnames # ----------------------------------------------------------------------------- log_file = /var/log/monitorix secure_log = /var/log/secure mail_log = /var/log/maillog milter_gl = /var/milter-greylist/greylist.db imap_log = /var/log/imap hylafax_log = /var/spool/hylafax/etc/xferfaxlog cups_log = /var/log/cups/page_log ftp_log = /var/log/proftpd/access.log # Check monitorix.conf(5) manpage how to edit your ProFTPD server. fail2ban_log = /var/log/fail2ban.log spamassassin_log = /var/log/maillog clamav_log = /var/log/clamav/clamav.log cg_logdir = /var/CommuniGate/SystemLogs/ squid_log = /var/log/squid/access.log imap_log_date_format = %b %d secure_log_date_format = %b %e <piwik_tracking> enabled = n url = "://example.com/piwik/" sid = "1" img = "http://example.com/piwik/piwik.php?idsite=1" </piwik_tracking> # Graphs (de)activation # ----------------------------------------------------------------------------- <graph_enable> system = y kern = y proc = y hptemp = n lmsens = n gensens = y ipmi = n ambsens = n amdgpu = n nvidiagpu = n nvidia = n disk = n nvme = n fs = y zfs = n du = y net = y netstat = y tinyproxy = n tc = n libvirt = n process = y serv = y mail = n port = y user = y ftp = n apache = n nginx = n lighttpd = n mysql = n pgsql = n mongodb = n varnish = n pagespeed = n squid = n nfss = n nfsc = n bind = y unbound = n ntp = n chrony = y fail2ban = n icecast = n raspberrypi = y phpapc = n memcached = n redis = n phpfpm = n apcupsd = n nut = n wowza = n int = y verlihub = n </graph_enable> # SYSTEM graph # ----------------------------------------------------------------------------- <system> <alerts> loadavg_enabled = n loadavg_timeintvl = 3600 loadavg_threshold = 5.0 loadavg_script = /path/to/script.sh </alerts> rigid = 1, 0, 0, 0, 0 limit = 1, 1000, 1000, 1000, 1000 </system> # KERN graph # ----------------------------------------------------------------------------- <kern> graph_mode = r <list> user = y nice = y sys = y iow = y irq = y sirq = y steal = y guest = y </list> rigid = 2, 1, 2 limit = 100, 1000, 100 </kern> # PROC graph # ----------------------------------------------------------------------------- <proc> max = 4 graphs_per_row = 2 size = medium data = y rigid = 2 limit = 100 </proc> # HPTEMP graph # ----------------------------------------------------------------------------- <hptemp> graph_0 = 2, 3 graph_1 = 1, 6 graph_2 = 16, 18, 19, 20, 21, 22 <alerts> </alerts> </hptemp> # LMSENS graph # ----------------------------------------------------------------------------- <lmsens> <list> core0 = Core 0 core1 = Core 1 mb0 = M/B Temp cpu0 = CPU Temp fan0 = fan1 fan1 = fan2 fan2 = fan3 volt0 = VCore 1 volt1 = VCore 2 volt2 = \+3.3V volt3 = \+5V volt4 = \+12V volt5 = \-12V volt6 = \-5V volt7 = Battery gpu0 = nvidia </list> <desc> </desc> <alerts> </alerts> </lmsens> # GENSENS graph # ----------------------------------------------------------------------------- <gensens> <list> 0 = temp0 1 = cpu0 ## 2 = bat0 </list> <title> 0 = Temperatures 1 = CPU frequency #### 2 = Battery status </title> <desc> temp0 = /sys/devices/virtual/thermal/thermal_zone0/temp cpu0 = /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq ## bat0 = /sys/class/power_supply/BAT0/capacity </desc> <unit> temp0 = 1000 cpu0 = 0.001 ## bat0 = 1 </unit> <map> temp0 = Temperature Zone 0 cpu0 = CPU0 frequency ## bat0 = Battery 0 </map> <alerts> </alerts> rigid = 0, 0, 2 limit = 100, 100, 100 </gensens> # IPMI graph # ----------------------------------------------------------------------------- <ipmi> list = Temperatures, Fans, Voltages <desc> 0 = CPU Temp, System Temp 1 = FAN 1 2 = Vcore, 3.3VCC, 12V, VDIMM, 5VCC, CPU VTT, VBAT, VSB, AVCC </desc> <units> 0 = degrees C 1 = RPM 2 = Volts </units> <map> </map> <alerts> </alerts> graphs_per_row = 2 rigid = 0 limit = 100 </ipmi> # AMBSENS graph # ----------------------------------------------------------------------------- <ambsens> list = Ambient Temperature <desc> 0 = at1 </desc> <units> 0 = Celsius </units> <cmd> at1 = /path/to/script.sh </cmd> <map> at1 = Gold TEMPer PC USB </map> <alerts> </alerts> graphs_per_row = 2 rigid = 0 limit = 100 </ambsens> # AMDgpu graph # ----------------------------------------------------------------------------- <amdgpu> <list> 0 = /dev/amd-w6800, /dev/amd-wx5100 </list> rigid = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 limit = 100, 100, 100, 100, 100, 100, 100, 100, 100, 100 use_nan_for_missing_data = y gap_on_all_nan = y accept_invalid_amdgpu = n show_current_values = y <map> /dev/amd-w6800 = W 6800 /dev/amd-wx5100 = WX 5100 </map> <sensors> /dev/amd-w6800 = device/gpu_busy_percent, device/mem_busy_percent, freq1_input, freq2_input, device/mem_info_vram_used, power1_average, power1_cap, pwm1, temp1_input, temp2_input, temp3_input /dev/amd-wx5100 = device/gpu_busy_percent, device/mem_busy_percent, freq1_input, freq2_input, device/mem_info_vram_used, power1_average, power1_cap, pwm1, temp1_input, N/A, N/A </sensors> <alerts> coretemp_enabled = n coretemp_timeintvl = 0 coretemp_threshold = 1 coretemp_script = /path/to/script.sh memorytemp_enabled = n memorytemp_timeintvl = 0 memorytemp_threshold = 1 memorytemp_script = /path/to/script.sh </alerts> </amdgpu> # NVIDIAgpu graph # ----------------------------------------------------------------------------- <nvidiagpu> <list> 0 = 0, 1 </list> rigid = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 limit = 100, 100, 100, 100, 100, 100, 100, 100, 100, 100 use_nan_for_missing_data = y gap_on_all_nan = y show_current_values = y <map> 0 = RTX 3090 1 = RTX 3080 </map> <alerts> coretemp_enabled = n coretemp_timeintvl = 0 coretemp_threshold = 1 coretemp_script = /path/to/script.sh memorytemp_enabled = n memorytemp_timeintvl = 0 memorytemp_threshold = 1 memorytemp_script = /path/to/script.sh </alerts> </nvidiagpu> # NVIDIA graph # ----------------------------------------------------------------------------- <nvidia> max = 1 <alerts> </alerts> rigid = 1, 2, 2 limit = 50, 100, 100 </nvidia> # DISK graph # ----------------------------------------------------------------------------- <disk> <list> 0 = /dev/mmcblk0, /dev/sda, /dev/sdb, /dev/sdc </list> <desc> </desc> <alerts> realloc_enabled = n realloc_timeintvl = 0 realloc_threshold = 1 realloc_script = /path/to/script.sh pendsect_enabled = n pendsect_timeintvl = 0 pendsect_threshold = 1 pendsect_script = /path/to/script.sh </alerts> accept_invalid_disk=1 </disk> # NVMe graph # ----------------------------------------------------------------------------- <nvme> <list> 0 = /dev/nvme0 </list> rigid = 0, 0, 0, 0, 0, 0 limit = 10, 100, 100, 100, 100, 100 show_extended_plots = y <alerts> availspare_enabled = n availspare_timeintvl = 0 availspare_threshold = 10 availspare_script = /path/to/script.sh percentused_enabled = n percentused_timeintvl = 0 percentused_threshold = 90 percentused_script = /path/to/script.sh </alerts> </nvme> # FS graph # ----------------------------------------------------------------------------- <fs> <list> 0 = /, swap, /boot </list> <desc> </desc> <devmap> </devmap> rigid = 2, 0, 2, 0 limit = 100, 1000, 100, 1000 <alerts> </alerts> </fs> # ZFS graph # ----------------------------------------------------------------------------- <zfs> max_pools = 5 list = pool1, pool2 rigid = 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0 limit = 1000, 1000, 1000, 1000, 100, 1000, 1000, 1000, 100, 1000, 1000 </zfs> # DU graph # ----------------------------------------------------------------------------- <du> list = System, Users <desc> 0 = /var/spool/mail, /var/spool/mqueue, /etc, /var/ftp, /tmp 1 = /home/pi, /home/user1, /home/user2 </desc> <type> 0 = size 1 = files </type> <dirmap> /var/spool/mail = Mail boxes /var/spool/mqueue = Mail queue </dirmap> graphs_per_row = 2 rigid = 0 limit = 100 </du> # NET graph # ----------------------------------------------------------------------------- <net> max = 10 list = eth0 <desc> eth0 = FastEthernet LAN, 0, 10000000 </desc> gateway = eth0 </net> # NETSTAT graph # ----------------------------------------------------------------------------- <netstat> cmd = ss rigid = 0, 0, 0, 0, 0 limit = 100, 100, 100, 100, 100 </netstat> # TINYPROXY graph # ----------------------------------------------------------------------------- <tinyproxy> list = http://your.proxy.com/ <desc> http://your.proxy.com/ = http://tinyproxy.stats </desc> show_url = y rigid = 0, 0, 0 limit = 1000, 1000, 1000 </tinyproxy> # TC graph # ----------------------------------------------------------------------------- <tc> list = eth0 <desc> eth0 = cbq 1, sfq 10, sfq 20, sfq 30, ingress ffff </desc> <map> </map> rigid = 0, 0, 0, 0 limit = 1000, 1000, 1000, 1000 </tc> # LIBVIRT graph # ----------------------------------------------------------------------------- <libvirt> cmd = virsh <list> 0 = centos6, winxp </list> <desc> centos6 = CentOS 6, vda, 52:54:00:45:d0:e7 winxp = MS Windows XP, hda, 52:54:00:97:1c:e5 </desc> rigid = 2, 0, 0, 0 limit = 100, 1000, 1000, 1000 </libvirt> # PROCESS graph # ----------------------------------------------------------------------------- <process> <list> 0 = httpd, sshd, chronyd, mysqld, proftpd, clamd, imap, exim, named, smbd </list> <desc> httpd = Apache imap = Dovecot named = Bind </desc> rigid = 2, 0, 0, 0, 0, 0, 0, 0 limit = 100, 1000, 1000, 1000, 1000, 1000, 1000, 1000 </process> # SERV graph # ----------------------------------------------------------------------------- <serv> mode = i rigid = 0, 0, 0 limit = 1000, 1000, 1000 </serv> # MAIL graph # ----------------------------------------------------------------------------- <mail> mta = exim greylist = milter-greylist stats_rate = real rigid = 0, 0, 0, 0, 0 limit = 1, 1000, 1000, 1000, 1000 <alerts> delvd_enabled = n delvd_timeintvl = 60 delvd_threshold = 100 delvd_script = /path/to/script.sh mqueued_enabled = n mqueued_timeintvl = 3600 mqueued_threshold = 100 mqueued_script = /path/to/script.sh </alerts> </mail> # PORT graph # ----------------------------------------------------------------------------- <port> max = 12 rule = 24000 list = 25, 21, 80, 443, 8735, 110, 139, 3306, 53, 143, 123i, 123o <desc> 25 = SMTP, tcp, in, 0, 10, L 21 = FTP, tcp, in, 0, 10, L 80 = HTTP, tcp, in, 0, 10, L 443 = HTTPS, tcp, in, 0, 10, L 8735 = SSH, tcp, in, 1, 10, L 110 = POP3, tcp, in, 0, 10, L 139 = NETBIOS, tcp, in, 0, 10, L 3306 = MYSQL, tcp, in, 0, 10, L 53 = DNS, udp, in, 0, 10, L 143 = IMAP, tcp, in, 0, 00, L 123i = NTP-i, udp, in, 0, 10, L 123o = NTP-o, udp, out, 0, 10, L </desc> graphs_per_row = 3 </port> # USER graph # ----------------------------------------------------------------------------- <user> rigid = 0, 0, 0 limit = 1000, 1000, 1000 </user> # FTP graph # ----------------------------------------------------------------------------- <ftp> server = proftpd anon_user = anonymous, ftp rigid = 0, 0, 0 limit = 1000, 1000, 1000 </ftp> # APACHE graph # ----------------------------------------------------------------------------- <apache> list = http://localhost/server-status?auto <alerts> </alerts> rigid = 0, 0, 2, 0, 0, 0 limit = 100, 100, 100, 100, 100, 100 </apache> # NGINX graph # ----------------------------------------------------------------------------- <nginx> url = http://localhost/nginx_status port = 80 rule = 24100 rigid = 0, 0, 0 limit = 100, 100, 100 </nginx> # LIGHTTPD graph # ----------------------------------------------------------------------------- <lighttpd> list = http://localhost/server-status?auto rigid = 0, 0, 0 limit = 100, 100, 100 </lighttpd> # MYSQL graph # ----------------------------------------------------------------------------- <mysql> conn_type = host list = localhost # list = /var/lib/mysql/mysql.sock <desc> localhost = 3306, user, secret </desc> rigid = 0, 2, 0, 0, 0, 0 limit = 100, 100, 100, 100, 100, 100 </mysql> # PGSQL graph # ----------------------------------------------------------------------------- <pgsql> list = localhost <desc> <localhost> host = localhost port = 5432 username = user password = secret db_list = </localhost> </desc> rigid = 0, 0, 0, 0, 0, 0 limit = 100, 100, 100, 100, 100, 100 </pgsql> # MONGODB graph # ----------------------------------------------------------------------------- <mongodb> list = localhost max_db = 1 <desc> <localhost> host = 127.0.0.1 db_list = mydb </localhost> </desc> rigid = 0, 0, 0, 0, 0, 0, 0, 0 limit = 100, 100, 100, 100, 100, 100, 100, 100 </mongodb> # VARNISH graph # ----------------------------------------------------------------------------- <varnish> rigid = 0, 0, 0, 0, 0, 0 limit = 100, 100, 100, 100, 100, 100 </varnish> # PAGESPEED graph # ----------------------------------------------------------------------------- <pagespeed> list = http://modpagespeed.com/mod_pagespeed_statistics rigid = 0, 0, 2, 0, 0, 0, 0, 0 limit = 1000, 1000, 100, 1000, 1000, 1000, 1000, 1000 </pagespeed> # SQUID graph # ----------------------------------------------------------------------------- <squid> cmd = squidclient -h 127.0.0.1 graph_0 = TCP_MISS, TCP_DENIED, TCP_REFRESH_HIT, TCP_IMS_HIT, TCP_HIT, TCP_REFRESH_MISS, TCP_MEM_HIT, TCP_NEGATIVE_HIT, TCP_CLIENT_REFRESH_MISS graph_1 = 200, 403, 304, 204, 302, 000, 404, 301, 206 rigid = 0, 0, 0, 0, 0, 0, 0, 0, 0 limit = 100, 100, 100, 100, 100, 100, 100, 100, 100 </squid> # NFSS graph # ----------------------------------------------------------------------------- <nfss> version = 3 graph_0 = readlink, create, mkdir, symlink, rmdir, remove, rename, link, readdir graph_1 = mknod, readdirplus, fsstat, fsinfo, pathconf, access, lookup, commit, null graph_2 = read, write, getattr, setattr rigid = 0, 0, 0, 0, 0, 0, 0, 0, 0 limit = 100, 100, 100, 100, 100, 100, 100, 100, 100 </nfss> # NFSC graph # ----------------------------------------------------------------------------- <nfsc> version = 3 graph_0 = readlink, create, mkdir, symlink, rmdir, remove, rename, link, readdir graph_1 = mknod, readdirplus, fsstat, fsinfo, pathconf graph_2 = read, write graph_3 = getattr, setattr graph_4 = access, lookup, commit, null rigid = 0, 0, 0, 0, 0, 0 limit = 100, 100, 100, 100, 100, 100 </nfsc> # BIND graph # ----------------------------------------------------------------------------- <bind> list = http://localhost:8053/ <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> <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> <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> <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> <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> rigid = 0, 0, 0, 0, 0, 0, 0, 0 limit = 100, 100, 100, 100, 100, 100, 100, 100 </bind> # UNBOUND graph # ----------------------------------------------------------------------------- <unbound> cmd = unbound-control queries_type = A, AAAA, ANY, DS, MX, NS, PTR, SOA, SRV, TXT, NAPTR, A6, CNAME, SPF, KEY, DNSKEY, HINFO, WKS, PX, NSAP rigid = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 limit = 100, 100, 100, 100, 100, 100, 100, 100, 100, 100 </unbound> # NTP graph # ----------------------------------------------------------------------------- <ntp> list = localhost <desc> localhost = AUTH, AUTO, CRYP, DENY, GPS, INIT, NKEY, RATE, RMOT, RSTR </desc> rigid = 0, 0, 0 limit = 100, 100, 100 </ntp> # CHRONY graph # ----------------------------------------------------------------------------- <chrony> list = localhost rigid = 2, 0, 0, 0, 0, 0 limit = 0.000005:-0.000005, 10, 10, 10, 10, 10 </chrony> # FAIL2BAN graph # ----------------------------------------------------------------------------- <fail2ban> list = Security, Overload / Abuse <desc> 0 = [apache], [apache-mod-security], [apache-overflows], [courierauth], [sshd], [pam-generic], [php-url-fopen], [vsftpd] 1 = [apache-evasive], [apache-badbots], [named-refused-udp], [named-refused-tcp] </desc> graphs_per_row = 2 rigid = 0 limit = 100 </fail2ban> # ICECAST graph # ----------------------------------------------------------------------------- <icecast> list = http://localhost:8000/status.xsl <desc> http://localhost:8000/status.xsl = stream1, stream2, stream3 </desc> graph_mode = r rigid = 0, 0 limit = 100, 100 </icecast> # RASPBERRYPI graph # ----------------------------------------------------------------------------- <raspberrypi> cmd = /usr/bin/vcgencmd clocks = arm, core, h264, isp, v3d, uart, emmc, pixel, hdmi volts = core, sdram_c, sdram_i, sdram_p rigid = 0, 0, 0 limit = 100, 100, 100 </raspberrypi> # PHPAPC graph # ----------------------------------------------------------------------------- <phpapc> list = http://localhost/apc.php?auto rigid = 2, 2, 0 limit = 100, 100, 100 </phpapc> # MEMCACHED graph # ----------------------------------------------------------------------------- <memcached> list = localhost:11211 rigid = 0, 0, 0, 0, 0, 0, 0 limit = 100, 100, 100, 100, 100, 100, 100 </memcached> # REDIS graph # ----------------------------------------------------------------------------- <redis> list = localhost:6379 rigid = 0, 0, 0, 0, 0, 0 limit = 1000, 1000, 1000, 1000, 1000, 1000 </redis> # PHP-FPM graph # ----------------------------------------------------------------------------- <phpfpm> <group> 0 = First group of domains </group> <list> 0 = example1, example2, example3 </list> <desc> example1 = http://www.example1.com/php_fpm_status example2 = http://www.example2.com/php_fpm_status example3 = http://www.example3.com/php_fpm_status </desc> <map> </map> rigid = 0, 0, 2, 0, 0, 0 limit = 100, 100, 100, 100, 100, 100 </phpfpm> # APCUPSD graph # ----------------------------------------------------------------------------- <apcupsd> cmd = apcaccess list = localhost:3551 rigid = 0, 2, 0, 0, 0, 0 limit = 100, 100, 100, 100, 100, 100 </apcupsd> # NUT graph # ----------------------------------------------------------------------------- <nut> list = ups@localhost rigid = 0, 2, 0, 0, 0, 0 limit = 100:0, 100, 100:0, 100:0, 100:0, 100:0 </nut> # WOWZA graph # ----------------------------------------------------------------------------- <wowza> list = http://localhost:8086/connectioncounts <desc> http://localhost:8086/connectioncounts = channel1, channel2 </desc> rigid = 0, 0, 0, 0, 0 limit = 100, 100, 100, 100, 100 </wowza> # INT graph # ----------------------------------------------------------------------------- <int> rigid = 0, 0, 0 limit = 100, 100, 100 </int> # VERLIHUB graph # ----------------------------------------------------------------------------- <verlihub> host = localhost port = 3306 user = verlihub_user password = verlihub_password database = verlihub_database rigid = 0, 0, 0 limit = 1000, 1000, 1000 </verlihub> # TRAFFACCT graph # ----------------------------------------------------------------------------- <traffacct> enabled = n max = 10 graphs_per_row = 2 list = pc101, pc102, pc103, pc104 <desc> 0 = 192.168.1.101/32, ace@example.com 1 = 192.168.1.102/32, gene@example.com 2 = 192.168.1.103/32, paul@example.com 3 = 192.168.1.104/32, peter@example.com </desc> <reports> enabled = n language = en default_mail = root@localhost url_prefix = http://localhost:8080 smtp_hostname = localhost from_address = noreply@example.com </reports> rigid = 0 limit = 100 </traffacct> # Multihost # ----------------------------------------------------------------------------- <multihost> enabled = n footer_url = y graphs_per_row = 2 default_option_when_all = "System load" remotehost_list = server 1, server 2, server 3 <remotehost_desc> 0 = http://www.example.com,/monitorix,/monitorix-cgi 1 = http://10.0.0.1,/monitorix,/monitorix-cgi 2 = http://192.168.0.100:8080,/,/ </remotehost_desc> groups = n remotegroup_list = My Group <remotegroup_desc> 0 = server 2, server 3 </remotegroup_desc> </multihost> # Email Reports # ----------------------------------------------------------------------------- <emailreports> enabled = n url_prefix = http://localhost:8080 smtp_hostname = localhost from_address = noreply@example.com hour = 0 minute = 0 <daily> enabled = n graphs = system, fs to = ace@example.com </daily> <weekly> enabled = n graphs = system, fs to = gene@example.com </weekly> <monthly> enabled = n graphs = system, fs to = paul@example.com </monthly> <yearly> enabled = n graphs = system, fs to = peter@example.com </yearly> </emailreports> # ======================================================================== # ====== Probably you don't need to touch anything below this line ====== # ======================================================================== I took this part out as I don't change anything here. Waster of Internet .. ;)