# Monitorix - configuration file # # See monitorix.conf(5) manpage for a detailed description of each option. # title = Yunohost Stats hostname = Yunohost Server theme_color = {{ theme_color }} refresh_rate = 150 iface_mode = graph enable_zoom = y priority = {{ process_priority }} netstats_in_bps = y netstats_mode = overlapped disable_javascript_void = y temperature_scale = c show_gaps = n global_zoom = 1 max_historic_years = {{ max_historic_years }} accept_selfsigned_certs = y image_format = {{ image_format }} enable_parallelizing = y enable_rrd_lock = n include_dir = /etc/monitorix/conf.d enable_hourly_view = {{ enable_hourly_view }} base_dir = {{ data_dir }}/www/ base_lib = {{ data_dir }}/ base_url = {{ path }} base_cgi = {{ path.rstrip('/') }}/cgi enabled = y host = localhost port = {{ port }} user = {{ app }} group = {{ app }} log_file = /var/log/{{ app }}/httpd.log hosts_deny = hosts_allow = https_url = y autocheck_responsiveness = n enabled = n msg = Monitorix: Restricted access htpasswd = /var/lib/monitorix/htpasswd # Log files pathnames # ----------------------------------------------------------------------------- log_file = /var/log/{{ app }}/monitorix.log secure_log = /var/log/secure mail_log = /var/log/mail.log milter_gl = /var/milter-greylist/greylist.db imap_log = /var/log/mail.log hylafax_log = /var/spool/hylafax/etc/xferfaxlog cups_log = /var/log/cups/page_log ftp_log = /var/log/proftpd/access.log 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 enabled = n url = "://example.com/piwik/" sid = "1" img = "http://example.com/piwik/piwik.php?idsite=1" # Graphs (de)activation # ----------------------------------------------------------------------------- system = y kern = y proc = y amdenergy = n intelrapl = n hptemp = n lmsens = n gensens = n 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 = y port = y user = y ftp = n apache = n nginx = y lighttpd = n mysql = {% if mysql_installed == 'true' %}y{% else %}n{% endif %} pgsql = {% if postgresql_installed == 'true' %}y{% else %}n{% endif %} mongodb = n varnish = n pagespeed = n squid = n nfss = n nfsc = n bind = n unbound = n ntp = n chrony = n fail2ban = y icecast = n raspberrypi = n phpapc = n memcached = {% if memcached_installed == 'true' %}y{% else %}n{% endif %} redis = {% if redis_installed == 'true' %}y{% else %}n{% endif %} phpfpm = {% if phpfpm_installed == 'true' %}y{% else %}n{% endif %} apcupsd = n nut = n wowza = n int = y verlihub = n # SYSTEM graph # ----------------------------------------------------------------------------- loadavg_enabled = {{ system_alerts_loadavg_enabled }} loadavg_timeintvl = {{ system_alerts_loadavg_timeintvl }} loadavg_threshold = {{ system_alerts_loadavg_threshold }} loadavg_script = {{ install_dir }}/system.loadavg-alert.sh rigid = 1, 0, 0, 0, 0 limit = 1, 1000, 1000, 1000, 1000 # KERN graph # ----------------------------------------------------------------------------- graph_mode = r user = y nice = y sys = y iow = y irq = y sirq = y steal = y guest = y rigid = 2, 1, 2 limit = 100, 1000, 100 # PROC graph # ----------------------------------------------------------------------------- max = 4 graphs_per_row = 2 size = medium data = y rigid = 2 limit = 100 # AMD power consumption graph # ----------------------------------------------------------------------------- 0 = amd_energy-isa-0000 amd_energy-isa-0000 = AMD CPU amd_energy-isa-0000 = 32 rigid = 0 limit = 100 use_nan_for_missing_data = n gap_on_all_nan = n # INTELRAPL graph # ----------------------------------------------------------------------------- 0 = core, uncore, package, dram 1 = dram 0 = CPU 1 1 = DRAM modules core = /sys/class/powercap/intel-rapl:0:0/energy_uj uncore = /sys/class/powercap/intel-rapl:0:1/energy_uj package = /sys/class/powercap/intel-rapl:0/energy_uj dram = /sys/class/powercap/intel-rapl:0:2/energy_uj package = Package core = Cores uncore = IGP dram = DRAM 0 = package 0 = core, uncore 0 = Non-Core 0 = CPU power distribution 1 = Memory power distribution rigid = 0 limit = 100 use_nan_for_missing_data = n gap_on_all_nan = n show_noncore_info = n max_number_of_values_per_group = 10 # HPTEMP graph # ----------------------------------------------------------------------------- graph_0 = 2, 3 graph_1 = 1, 6 graph_2 = 16, 18, 19, 20, 21, 22 # LMSENS graph # ----------------------------------------------------------------------------- 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 = # GENSENS graph # ----------------------------------------------------------------------------- 0 = temp0 1 = cpu0 2 = bat0 0 = Temperatures 1 = CPU frequency 2 = Battery status 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 temp0 = 1000 cpu0 = 0.001 bat0 = 1 temp0 = Temperature Zone 0 cpu0 = CPU0 frequency bat0 = Battery 0 rigid = 0, 0, 2 limit = 100, 100, 100 # IPMI graph # ----------------------------------------------------------------------------- list = Temperatures, Fans, Voltages 0 = CPU Temp, System Temp 1 = FAN 1 2 = Vcore, 3.3VCC, 12V, VDIMM, 5VCC, CPU VTT, VBAT, VSB, AVCC 0 = degrees C 1 = RPM 2 = Volts graphs_per_row = 2 rigid = 0 limit = 100 # AMBSENS graph # ----------------------------------------------------------------------------- list = Ambient Temperature 0 = at1 0 = Celsius at1 = /path/to/script.sh at1 = Gold TEMPer PC USB graphs_per_row = 2 rigid = 0 limit = 100 # AMDgpu graph # ----------------------------------------------------------------------------- 0 = amd-w6800, amd-wx5100 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 amd-w6800 = W 6800 amd-wx5100 = WX 5100 amd-w6800 = /dev/device1/gpu_busy_percent, /dev/device1/mem_busy_percent, /dev/device1/freq1_input, /dev/device1/freq2_input, /dev/device1/mem_info_vram_used, /dev/device1/power1_average, /dev/device1/power1_cap, /dev/device1/pwm1, /dev/device1/temp1_input, /dev/device1/temp2_input, /dev/device1/temp3_input amd-wx5100 = /dev/device2/gpu_busy_percent, /dev/device2/mem_busy_percent, /dev/device2/freq1_input, /dev/device2/freq2_input, /dev/device2/mem_info_vram_used, /dev/device2/power1_average, /dev/device2/power1_cap, /dev/device2/pwm1, /dev/device2/temp1_input, , respect_power_state = n amd-w6800 = /dev/device1/power_state amd-wx5100 = /dev/device2/power_state 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 # NVIDIAgpu graph # ----------------------------------------------------------------------------- 0 = 0, 1 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 0 = RTX 3090 1 = RTX 3080 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 # NVIDIA graph # ----------------------------------------------------------------------------- max = 1 rigid = 1, 2, 2 limit = 50, 100, 100 # DISK graph # ----------------------------------------------------------------------------- 0 = /dev/sda, /dev/sdb, /dev/sdc 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 # NVMe graph # ----------------------------------------------------------------------------- 0 = /dev/nvme0 rigid = 0, 0, 0, 0, 0, 0, 0, 0, 0 limit = 10, 100, 100, 100, 100, 100, 100, 100, 100 show_extended_plots = y 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 # FS graph # ----------------------------------------------------------------------------- 0 = /, swap {% for part in mount_parts.splitlines() %}, {{ part }}{% endfor %} / = Root FS {%- for part in mount_parts.splitlines() %} {{ part }} = {{ part | trim('/') }} {%- endfor %} rigid = 2, 0, 2, 0 limit = 100, 1000, 100, 1000 {%- if disk_alerts_loadavg_enabled == 'true' %} {%- for part in mount_parts.splitlines() %} {{ part }} = {{ disk_alerts_loadavg_timeintvl }}, {{ disk_alerts_loadavg_threshold }}, {{ install_dir }}/fs.loadavg-alert.sh {%- endfor %} {%- endif %} # ZFS graph # ----------------------------------------------------------------------------- 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 # DU graph # ----------------------------------------------------------------------------- list = System, Users 0 = /var/spool/mail, /var/lib, /var/log, /etc, /tmp 1 = /var/www, /opt/yunohost 2 = /home/yunohost.backup{% for dir in app_data_dirs.split(' ') %}, {{ dir }}{% endfor %} 3 = {% for dir in home_user_dirs.split(' ') %}{% if loop.index > 1 %}, {% endif %}{{ dir }}{% endfor %} 0 = size 1 = files /var/spool/mail = Mail boxes /etc = Configs files /var/lib = System data /var/log = Logs /tmp = Temps files /var/www = Yunhost web Apps /opt/yunohost = Yunohost Others Apps /home/yunohost.backup = Yunohost backups graphs_per_row = 2 rigid = 0 limit = 100 # NET graph # ----------------------------------------------------------------------------- max = 10 list = {% for interface in net_interface_list.splitlines() %}{% if loop.index > 1 %}, {% endif %}{{ interface.split(',')[0] }}{% endfor %} {%- for interface in net_interface_list.splitlines() %} {%- set interface_name = interface.split(',')[0] %} {%- set interface_speed = interface.split(',')[1] %} {{ interface_name }} = Interface {{ interface_name }}, 0, {{ interface_speed }} {%- endfor %} gateway = {{ net_gateway }} # NETSTAT graph # ----------------------------------------------------------------------------- cmd = ss rigid = 0, 0, 0, 0, 0 limit = 100, 100, 100, 100, 100 # TINYPROXY graph # ----------------------------------------------------------------------------- list = http://your.proxy.com/ http://your.proxy.com/ = http://tinyproxy.stats show_url = y rigid = 0, 0, 0 limit = 1000, 1000, 1000 # TC graph # ----------------------------------------------------------------------------- list = eth0 eth0 = cbq 1, sfq 10, sfq 20, sfq 30, ingress ffff rigid = 0, 0, 0, 0 limit = 1000, 1000, 1000, 1000 # LIBVIRT graph # ----------------------------------------------------------------------------- cmd = virsh 0 = centos6, winxp centos6 = CentOS 6, vda, 52:54:00:45:d0:e7 winxp = MS Windows XP, hda, 52:54:00:97:1c:e5 rigid = 2, 0, 0, 0 limit = 100, 1000, 1000, 1000 # PROCESS graph # ----------------------------------------------------------------------------- 0 = slapd, nslcd, cron, atd, rsyslogd, dnsmasq, fail2ban-server 1 = yunomdns, yunohost-api, monitorix, monitorix-httpd 2 = master, rspamd, dovecot, rspamd, imap, sshd, nginx {%- set db_procs = [] %} {%- if mysql_installed == 'true' %} {%- set discard = db_procs.append('mariadb') %} {%- endif %} {%- if postgresql_installed == 'true' %} {%- set discard = db_procs.append('postgres') %} {%- endif %} {%- if memcached_installed == 'true' %} {%- set discard = db_procs.append('memcached') %} {%- endif %} {%- if redis_installed == 'true' %} {%- set discard = db_procs.append('redis-server') %} {%- endif %} {%- if db_procs %} 3 = {% for proc in db_procs %}{% if loop.index > 1 %}, {% endif %}{{ proc }}{% endfor %} {%- endif %} {%- if phpfpm_installed == 'true' %} 4 = php-fpm {%- endif %} 5 = {% for process in process_infos.splitlines() %}{% if loop.index > 1 %}, {% endif -%} {{ process.split('|')[0] }} {%- endfor %} slapd = LDAP server nslcd = nslcd rsyslogd = Syslog yunomdns = Yunohost DNS yunohost-api = Yunohost API master = Postfix imap = Dovecot IMAP sshd = SSH server {%- for process in process_infos.splitlines() %} {{ process.split('|')[0] }} = {{ process.split('|')[1] }} {%- endfor %} rigid = 2, 0, 0, 0, 0, 0, 0, 0 limit = 100, 1000, 1000, 1000, 1000, 1000, 1000, 1000 # SERV graph # ----------------------------------------------------------------------------- Default = SSH, Fail2ban, IMAP, SMTP, Spam SSH = C, file:/var/log/auth.log, "^%b %e", "sshd\[.*\]: Accepted " Fail2ban = C, file:/var/log/fail2ban.log, "^%Y-%m-%d", " fail2ban.actions .* Ban " IMAP = C, file:/var/log/mail.log, "%b %d", " imap-login: .* Login: " SMTP = C, file:/var/log/mail.log, "^%b %e", i:"to=.*stat(us)?=sent" Spam = C, file:/var/log/rspamd/rspamd.log, "^%b %e", "greylisted until" Spam = C, file:/var/log/rspamd/rspamd.log, "^%b %e", "learned message as spam" mode = i graphs_per_row = 2 rigid = 0, 0, 0 limit = 1000, 1000, 1000 # MAIL graph # ----------------------------------------------------------------------------- mta = postfix greylist = postgrey stats_rate = real rigid = 0, 0, 0, 0, 0 limit = 1, 1000, 1000, 1000, 1000 delvd_enabled = {{ mail_delvd_enabled }} delvd_timeintvl = {{ mail_delvd_timeintvl }} delvd_threshold = {{ mail_delvd_threshold }} delvd_script = {{ install_dir }}/mail.delvd-alert.sh mqueued_enabled = {{ mail_mqueued_enabled }} mqueued_timeintvl = {{ mail_mqueued_timeintvl }} mqueued_threshold = {{ mail_mqueued_threshold }} mqueued_script = {{ install_dir }}/mail.mqueued-alert.sh # PORT graph # ----------------------------------------------------------------------------- max = 50 rule = 24000 list = 22v4, 22v6, 25v4, 25v6, 80v4, 80v6, 443v4, 443v6, 587v4, 587v6, 993v4, 993v6 {%- for port_info in port_infos.splitlines() -%} {%- set port_info_array = port_info.split(',') -%} {%- set ip_version = port_info_array[1] -%} {%- set port = port_info_array[0] -%} , {{ port }}v{{ ip_version }} {%- endfor %} {{ ssh_port }}v4 = SSH, tcp, in, 0, {{ net_max_speed }} {{ ssh_port }}v6 = SSH, tcp6, in, 0, {{ net_max_speed }} 25v4 = SMTP, tcp, in/out, 0, {{ net_max_speed }} 25v6 = SMTP, tcp6, in/out, 0, {{ net_max_speed }} 80v4 = HTTP, tcp, in, 0, {{ net_max_speed }} 80v6 = HTTP, tcp6, in, 0, {{ net_max_speed }} 443v4 = HTTPS, tcp, in, 0, {{ net_max_speed }} 443v6 = HTTPS, tcp6, in, 0, {{ net_max_speed }} 587v4 = SMTP-TLS, tcp, in, 0, {{ net_max_speed }} 587v6 = SMTP-TLS, tcp6, in, 0, {{ net_max_speed }} 993v4 = IMAPS, tcp, in, 0, {{ net_max_speed }} 993v6 = IMAPS, tcp6, in, 0, {{ net_max_speed }} {%- for port_info in port_infos.splitlines() %} {%- set port_info_array = port_info.split(',') %} {%- set proto = port_info_array[2] %} {%- set ip_version = port_info_array[1] %} {%- set port = port_info_array[0] %} {%- set name = port_info_array[3] %} {{ port }}v{{ ip_version }} = {{ name }}, {{ proto }}{% if ip_version == '6' %}6{% endif %}, in, 0, {{ net_max_speed }} {%- endfor %} graphs_per_row = 3 # USER graph # ----------------------------------------------------------------------------- rigid = 0, 0, 0 limit = 1000, 1000, 1000 # FTP graph # ----------------------------------------------------------------------------- server = proftpd anon_user = anonymous, ftp rigid = 0, 0, 0 limit = 1000, 1000, 1000 # APACHE graph # ----------------------------------------------------------------------------- list = http://localhost/server-status?auto rigid = 0, 0, 2, 0, 0, 0 limit = 100, 100, 100, 100, 100, 100 # NGINX graph # ----------------------------------------------------------------------------- url = http://localhost:{{ port_nginx_status }}/nginx_status_monitorix port = {{ port_nginx_status }} rule = 24100 rigid = 0, 0, 0 limit = 100, 100, 100 # LIGHTTPD graph # ----------------------------------------------------------------------------- list = http://localhost/server-status?auto rigid = 0, 0, 0 limit = 100, 100, 100 # MYSQL graph # ----------------------------------------------------------------------------- conn_type = host list = localhost localhost = 3306, {{ db_user }}, {{ db_pwd }} rigid = 0, 2, 0, 0, 0, 0 limit = 100, 100, 100, 100, 100, 100 # PGSQL graph # ----------------------------------------------------------------------------- list = localhost host = localhost port = 5432 username = {{ db_user }} password = {{ db_pwd }} db_list = rigid = 0, 0, 0, 0, 0, 0 limit = 100, 100, 100, 100, 100, 100 # VARNISH graph # ----------------------------------------------------------------------------- rigid = 0, 0, 0, 0, 0, 0 limit = 100, 100, 100, 100, 100, 100 # PAGESPEED graph # ----------------------------------------------------------------------------- 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 # SQUID graph # ----------------------------------------------------------------------------- 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 # NFSS graph # ----------------------------------------------------------------------------- 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 # NFSC graph # ----------------------------------------------------------------------------- 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 # BIND graph # ----------------------------------------------------------------------------- list = http://localhost:8053/ http://localhost:8053/ = A, AAAA, ANY, DS, MX, NS, PTR, SOA, SRV, TXT, NAPTR, A6, CNAME, SPF, KEY, DNSKEY, HINFO, WKS, PX, NSAP http://localhost:8053/ = A, AAAA, ANY, DS, MX, NS, PTR, SOA, SRV, TXT, NAPTR, A6, CNAME, SPF, KEY, DNSKEY, HINFO, WKS, PX, NSAP http://localhost:8053/ = Requestv4, Requestv6, ReqEdns0, ReqBadEDNSVer, ReqTSIG, ReqSIG0, ReqBadSIG, ReqTCP, Response, QrySuccess, QryAuthAns, QryNoauthAns, QryReferral, QryNxrrset, QrySERVFAIL, QryNXDOMAIN, QryRecursion, QryDuplicate, QryDropped, QryFailure http://localhost:8053/ = Queryv4, Queryv6, Responsev4, Responsev6, NXDOMAIN, SERVFAIL, FORMERR, OtherError, EDNS0Fail, Truncated, Lame, Retry, QueryTimeout, GlueFetchv4, GlueFetchv6, GlueFetchv4Fail, GlueFetchv6Fail, ValAttempt, ValOk, ValNegOk http://localhost:8053/ = A, !A, AAAA, !AAAA, DLV, !DLV, DS, !DS, MX, NS, CNAME, !CNAME, SOA, !SOA, !ANY, PTR, RRSIG, NSEC, DNSKEY, NXDOMAIN rigid = 0, 0, 0, 0, 0, 0, 0, 0 limit = 100, 100, 100, 100, 100, 100, 100, 100 # UNBOUND graph # ----------------------------------------------------------------------------- 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 # NTP graph # ----------------------------------------------------------------------------- list = localhost localhost = AUTH, AUTO, CRYP, DENY, GPS, INIT, NKEY, RATE, RMOT, RSTR rigid = 0, 0, 0 limit = 100, 100, 100 # CHRONY graph # ----------------------------------------------------------------------------- list = localhost rigid = 0, 0, 0, 0, 0, 0 limit = 100, 100, 100, 100, 100, 100 # FAIL2BAN graph # ----------------------------------------------------------------------------- list = Overload / Abuse, YunoHost, Mail, Default, SSH, Apps 0 = [recidive], [pam-generic] 1 = [yunohost] 2 = [postfix], [dovecot] 3 = [nginx-http-auth] 4 = [sshd] 5 = {% for jail in jail_list.split(' ') | rejectattr(None, 'in', ['recidive', 'pam-generic', 'yunohost', 'postfix', 'dovecot', 'nginx-http-auth', 'sshd']) %}{% if loop.index > 1 %}, {% endif %}[{{ jail.strip() }}]{% endfor %} graphs_per_row = 2 rigid = 0 limit = 100 # ICECAST graph # ----------------------------------------------------------------------------- list = http://localhost:8000/status.xsl http://localhost:8000/status.xsl = stream1, stream2, stream3 graph_mode = r rigid = 0, 0 limit = 100, 100 # RASPBERRYPI graph # ----------------------------------------------------------------------------- cmd = /opt/vc/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 # PHPAPC graph # ----------------------------------------------------------------------------- list = http://localhost/apc.php?auto rigid = 2, 2, 0 limit = 100, 100, 100 # MEMCACHED graph # ----------------------------------------------------------------------------- list = localhost:11211 rigid = 0, 0, 0, 0, 0, 0, 0 limit = 100, 100, 100, 100, 100, 100, 100 # REDIS graph # ----------------------------------------------------------------------------- list = localhost:6379 rigid = 0, 0, 0, 0, 0, 0 limit = 1000, 1000, 1000, 1000, 1000, 1000 # PHP-FPM graph # ----------------------------------------------------------------------------- 0 = Apps detected pools 0 = {% for php_pool_info in php_pools_infos.splitlines() -%} {%- if loop.index > 1 -%}, {%- endif -%} {%- set phpversion = php_pool_info.split(',')[0] -%} {%- set pool_name = php_pool_info.split(',')[1] -%} {{ pool_name }}-{{ phpversion }} {%- endfor %} {%- for php_pool_info in php_pools_infos.splitlines() %} {%- set phpversion = php_pool_info.split(',')[0] %} {%- set pool_name = php_pool_info.split(',')[1] %} {{ pool_name }}-{{ phpversion }} = http://localhost:{{ port_nginx_status }}/php-pool-status/php{{ phpversion }}-fpm-{{ pool_name }} {%- endfor %} rigid = 0, 0, 2, 0, 0, 0 limit = 100, 100, 100, 100, 100, 100 # APCUPSD graph # ----------------------------------------------------------------------------- cmd = /sbin/apcaccess list = localhost:3551 rigid = 0, 2, 0, 0, 0, 0 limit = 100, 100, 100, 100, 100, 100 # NUT graph # ----------------------------------------------------------------------------- list = ups@localhost rigid = 0, 2, 0, 0, 0, 0 limit = 100:0, 100, 100:0, 100:0, 100:0, 100:0 # WOWZA graph # ----------------------------------------------------------------------------- list = http://localhost:8086/connectioncounts http://localhost:8086/connectioncounts = channel1, channel2 rigid = 0, 0, 0, 0, 0 limit = 100, 100, 100, 100, 100 # INT graph # ----------------------------------------------------------------------------- rigid = 0, 0, 0 limit = 100, 100, 100 # VERLIHUB graph # ----------------------------------------------------------------------------- host = localhost port = 3306 user = verlihub_user password = verlihub_password database = verlihub_database rigid = 0, 0, 0 limit = 1000, 1000, 1000 # TRAFFACCT graph # ----------------------------------------------------------------------------- enabled = n max = 10 graphs_per_row = 2 list = pc101, pc102, pc103, pc104 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 enabled = n language = en default_mail = root@localhost url_prefix = http://localhost:8080 smtp_hostname = localhost from_address = noreply@example.com rigid = 0 limit = 100 # Multihost # ----------------------------------------------------------------------------- enabled = n footer_url = y graphs_per_row = 2 default_option_when_all = "System load" remotehost_list = server 1, server 2, server 3 0 = http://www.example.com,/monitorix,/monitorix-cgi 1 = http://10.0.0.1,/monitorix,/monitorix-cgi 2 = http://192.168.0.100:8080,/,/ groups = n remotegroup_list = My Group 0 = server 2, server 3 # Email Reports # ----------------------------------------------------------------------------- enabled = {{ emailreports_enabled }} url_prefix = http://127.0.0.1:{{ port }}{{ path }} smtp_hostname = localhost from_address = {{ app }}@{{ domain }} subject_prefix = {{ emailreports_subject_prefix }} hour = {{ emailreports_hour }} minute = {{ emailreports_minute }} enabled = {{ emailreports_daily_enabled }} graphs = {{ emailreports_daily_graphs }} to = {{ emailreports_daily_to }} enabled = {{ emailreports_weekly_enabled }} graphs = {{ emailreports_weekly_graphs }} to = {{ emailreports_weekly_to }} enabled = {{ emailreports_monthly_enabled }} graphs = {{ emailreports_monthly_graphs }} to = {{ emailreports_monthly_to }} enabled = {{ emailreports_yearly_enabled }} graphs = {{ emailreports_yearly_graphs }} to = {{ emailreports_yearly_to }} # ======================================================================== # ====== Probably you don't need to touch anything below this line ====== # ======================================================================== timeout = 15 imgs_dir = imgs/ usage_dir = usage/ report_dir = reports/ favicon = monitorixico.png logo_top = logo_top.png logo_top_url = http://www.monitorix.org/ logo_bottom = logo_bot.png main_bg = FFFFFF main_fg = 000000 title_bg = 777777 title_fg = CCCC00 graph_bg = CCCCCC gap = 000000 canvas = 000000 back = 101010 font = C0C0C0 mgrid = 80C080 grid = 808020 frame = 808080 arrow = FFFFFF shadea = 404040 shadeb = 404040 axis = 101010 main_bg = 000000 main_fg = FFFFFF title_bg = 333333 title_fg = 888800 graph_bg = 888888 gap = FFFFFF large = 750x180 main = 450x150 medium = 325x150 medium2 = 325x70 small = 200x66 mini = 183x66 tiny = 110x40 zoom = 800x300 remote = 300x100 graph_name = system, kern, proc, amdenergy, intelrapl, hptemp, lmsens, gensens, ipmi, ambsens, amdgpu, nvidiagpu, nvidia, disk, nvme, fs, zfs, du, net, netstat, tinyproxy, tc, libvirt, process, serv, mail, port, user, ftp, apache, nginx, lighttpd, mysql, pgsql, mongodb, varnish, pagespeed, squid, nfss, nfsc, bind, unbound, ntp, chrony, fail2ban, icecast, raspberrypi, phpapc, memcached, redis, phpfpm, apcupsd, nut, wowza, int, verlihub system = System load average and usage kern = Global kernel usage proc = Kernel usage per processor amdenergy = AMD power usage intelrapl = RAPL power usage hptemp = HP ProLiant System Health lmsens = LM-Sensors and GPU temperatures gensens = Generic sensor statistics ipmi = IPMI sensor statistics ambsens = Ambient sensor statistics amdgpu = AMD GPU temperatures and usage nvidiagpu = NVIDIA GPU temperatures and usage nvidia = NVIDIA temperatures and usage disk = Disk drive temperatures and health nvme = NVMe drive temperatures and health fs = Filesystem usage and I/O activity zfs = ZFS statistics du = Directory usage net = Network traffic and usage netstat = Netstat statistics tinyproxy = Tinyproxy statistics tc = Traffic Control statistics libvirt = Libvirt statistics process = Processes statistics serv = System services demand mail = Mail statistics port = Network port traffic user = Users using the system ftp = FTP statistics apache = Apache statistics nginx = Nginx statistics lighttpd = Lighttpd statistics mysql = MySQL statistics pgsql = PostgreSQL statistics mongodb = MongoDB statistics varnish = Varnish statistics pagespeed = PageSpeed statistics squid = Squid statistics nfss = NFS server statistics nfsc = NFS client statistics bind = BIND statistics unbound = Unbound statistics ntp = NTP statistics chrony = Chrony statistics fail2ban = Fail2ban statistics icecast = Icecast Streaming Media Server raspberrypi = Raspberry Pi sensor statistics phpapc = Alternative PHP Cache statistics memcached = Memcached statistics redis = Redis statistics phpfpm = PHP-FPM statistics apcupsd = APC UPS statistics nut = Network UPS Tools statistics wowza = Wowza Media Server int = Devices interrupt activity verlihub = VerliHub statistics _system1 = System load _system2 = Memory allocation _system3 = Active processes _system4 = Entropy _system5 = Uptime _kern1 = Kernel usage _kern2 = Context switches and forks _kern3 = VFS usage _proc = Processor _amdenergy1 = Socket power distribution _intelrapl1 = Power distribution _hptemp1 = Temperatures 1 _hptemp2 = Temperatures 2 _hptemp3 = Temperatures 3 _lmsens1 = Core temperatures _lmsens2 = Voltages _lmsens3 = MB and CPU temperatures _lmsens4 = Fan speeds _lmsens5 = GPU temperatures _gensens = Generic sensors _ipmi = IPMI sensors _ambsens = Ambient sensors _amdgpu1 = Fan speed _amdgpu2 = Core temperature _amdgpu3 = Memory temperature _amdgpu4 = Junction temperature _amdgpu5 = Power _amdgpu6 = Core util. _amdgpu7 = Memory util. _amdgpu8 = Core clock _amdgpu9 = Memory clock _amdgpu10 = Memory usage _nvidiagpu1 = Fan speed _nvidiagpu2 = Core temperature _nvidiagpu3 = Memory temperature _nvidiagpu4 = Memory usage _nvidiagpu5 = Power _nvidiagpu6 = Core util. _nvidiagpu7 = Memory util. _nvidiagpu8 = Core clock _nvidiagpu9 = Memory clock _nvidiagpu10 = Performance state _nvidia1 = NVIDIA temperatures _nvidia2 = CPU usage _nvidia3 = Memory usage _disk1 = Disk drives temperatures _disk2 = Reallocated sector count _disk3 = Current pending sector _nvme1 = NVMe drives temperatures _nvme2 = Spare capacity _nvme3 = Life used _nvme4 = Total written _nvme5 = Media errors _nvme6 = Unsafe shutdowns _nvme7 = Total read _nvme8 = Mean write load _nvme9 = Mean read load _fs1 = Filesystems usage _fs2 = Disk I/O activity _fs3 = Inode usage _fs4 = Time spent in I/O activity _zfs1 = ARC usage _zfs2 = ARC cache _zfs3 = L2ARC cache _zfs4 = Pool data usage _zfs5 = Pool usage _zfs6 = Operations _zfs7 = Bandwidth _du = Directory usage _net1 = Network traffic _net2 = Network packets _net3 = Network errors _netstat1 = IPv4 states _netstat2 = IPv6 states _netstat3 = Active close _netstat4 = Passive close _netstat5 = UDP statistics _tinyproxy1 = Requests _tinyproxy2 = Connections _tinyproxy3 = Connections _tc1 = Traffic _tc2 = Dropped _tc3 = Overlimits _tc4 = Requeues _libvirt1 = CPU time usage _libvirt2 = Memory usage _libvirt3 = Disk usage _libvirt4 = Network usage _process1 = CPU time usage _process2 = Memory usage _process3 = Disk usage _process4 = Network usage _process5 = Opened files _process6 = Number of threads _process7 = Context switches _process8 = Number of processes _process9 = Uptime _serv = System services demand _mail1 = Mail statistics _mail2 = Network traffic _mail3 = Mails in queue _mail4 = Queue size _mail5 = SPF _mail6 = Greylisting _port = Port _user1 = Users logged in _user2 = Samba users _user3 = Netatalk users _ftp1 = Commands usage _ftp2 = New sessions _ftp3 = FTP traffic _apache1 = Apache workers _apache2 = Apache workers _apache3 = Apache CPU usage _apache4 = Apache requests _apache5 = Apache workers _apache6 = Apache open slots _nginx1 = Nginx connections _nginx2 = Nginx requests _nginx3 = Nginx traffic _lighttpd1 = Lighttpd workers _lighttpd2 = Lighttpd traffic _lighttpd3 = Lighttpd requests _mysql1 = MySQL query types _mysql2 = MySQL overall stats _mysql3 = Table saturation and MyISAM _mysql4 = MySQL queries _mysql5 = MySQL connections _mysql6 = MySQL traffic _pgsql1 = PgSQL rows by queries _pgsql2 = PgSQL background writer _pgsql3 = PgSQL database size _pgsql4 = PgSQL connections _pgsql5 = PgSQL transactions _pgsql6 = PgSQL block cache _mongodb1 = MongoDB operations _mongodb2 = MongoDB metrics document _mongodb3 = MongoDB write performance _mongodb4 = MongoDB connections _mongodb5 = MongoDB requests & asserts _mongodb6 = MongoDB traffic _varnish1 = Varnish statistics _varnish2 = Backend usage _varnish3 = Client connections _varnish4 = Cache performance _varnish5 = Objects _varnish6 = Traffic _pagespeed1 = Cache overview _pagespeed2 = HTML optimization _pagespeed3 = Saved ratio _pagespeed4 = Memcached _pagespeed5 = Pcache cohorts _pagespeed6 = Rewrite & SHM cache _pagespeed7 = LRU & File cache _pagespeed8 = Cache time _squid1 = Squid statistics 1 _squid2 = Squid statistics 2 _squid3 = Overall I/O _squid4 = Memory usage _squid5 = Store directory stats _squid6 = IP cache stats _squid7 = Network protocols usage _squid8 = Client traffic _squid9 = Server traffic _nfss1 = NFS server stats 1 _nfss2 = NFS server stats 2 _nfss3 = NFS server stats 3 _nfss4 = Overall I/O _nfss5 = Network layer _nfss6 = RPC _nfss7 = Thread utilization _nfss8 = Read cache _nfss9 = File handle cache _nfsc1 = NFS client stats 1 _nfsc2 = NFS client stats 2 _nfsc3 = NFS client stats 3 _nfsc4 = NFS client stats 4 _nfsc5 = NFS client stats 5 _nfsc6 = RPC client stats _bind1 = Incoming queries _bind2 = Outgoing queries (_default) _bind3 = Name server statistics _bind4 = Resolver statistics (_default) _bind5 = Cache DB RRsets (_default) _bind6 = Memory usage _bind7 = Task manager _unbound1 = Queries and cache _unbound2 = Queries by type _unbound3 = Recursion time _unbound4 = Uptime _unbound5 = Specific traffic _unbound6 = Memory usage _unbound7 = Answers by type _unbound8 = Queries by flags _unbound9 = Less than 1s resolving time _unbound10 = More than 1s resolving time _ntp1 = NTP timing stats _ntp2 = Stratum level _ntp3 = Codes _chrony1 = Chrony timing stats _chrony2 = Network path delays _chrony3 = Stratum level _chrony4 = System's clock drift _chrony5 = Estimated error in frequency _chrony6 = Update interval _fail2ban = Fail2ban jails _icecast1 = Current listeners _icecast2 = Bitrate _raspberrypi1 = Clock frequency _raspberrypi2 = Temperatures _raspberrypi3 = Voltages _phpapc1 = Memory usage _phpapc2 = Hits & misses _phpapc3 = File cache _memcached1 = Memcached statistics 1 _memcached2 = Memcached statistics 2 _memcached3 = Cache usage _memcached4 = Items in cache _memcached5 = Objects I/O _memcached6 = Connections _memcached7 = Memcached traffic _redis1 = Connections _redis2 = Ratios _redis3 = Clients _redis4 = Memory usage _redis5 = Dictionary cache _redis6 = Network traffic _phpfpm1 = Accepted connections _phpfpm2 = Active processes _phpfpm3 = Listen queue _phpfpm4 = Total processes _phpfpm5 = Max. children reached _phpfpm6 = Slow requests _apcupsd1 = Line voltage _apcupsd2 = Battery charge _apcupsd3 = Temperatures _apcupsd4 = Battery voltage _apcupsd5 = Time left _apcupsd6 = Line frequency _nut1 = Line voltage _nut2 = Battery charge _nut3 = Temperatures _nut4 = Battery voltage _nut5 = Time left _nut6 = Line frequency _wowza1 = Current connections _wowza2 = Messages bytes rate _wowza3 = Connections accepted _wowza4 = Connections rejected _wowza5 = Streams _int1 = Interrupt activity _int2 = Core activity _int3 = Interrupt activity _verlihub1 = Users in hub _verlihub2 = Total hub upload _verlihub3 = Total hub share