# Monitorix - configuration file
#
# See monitorix.conf(5) manpage for a detailed description of each option.
#

title = Place a title here
hostname =
theme_color = black
refresh_rate = 150
iface_mode = graph
enable_zoom = y
netstats_in_bps = n
disable_javascript_void = n
temperature_scale = c
show_gaps = n
global_zoom = 1
max_historic_years = 1
accept_selfsigned_certs = y
include_dir = /etc/monitorix/conf.d

base_dir = /var/lib/monitorix/www/
base_lib = /var/lib/monitorix/
base_url = /
base_cgi = /cgi

<httpd_builtin>
	enabled = y
	host =
	port = 8080
	user = nobody
	group = nobody
	log_file = /var/log/monitorix-httpd
	hosts_deny =
	hosts_allow =
	<auth>
		enabled = n
		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
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


# Graphs (de)activation
# -----------------------------------------------------------------------------
<graph_enable>
	system		= y
	kern		= y
	proc		= y
	hptemp		= n
	lmsens		= n
	nvidia		= n
	disk		= n
	fs		= y
	net		= y
	netstat		= y
	serv		= y
	mail		= n
	port		= y
	user		= y
	ftp		= n
	apache		= n
	nginx		= n
	lighttpd	= n
	mysql		= n
	squid		= n
	nfss		= n
	nfsc		= n
	bind		= n
	ntp		= n
	fail2ban	= n
	icecast		= n
	raspberrypi	= n
	phpapc		= n
	memcached	= n
	apcupsd		= n
	wowza		= n
	int		= y
</graph_enable>


# SYSTEM graph
# -----------------------------------------------------------------------------
<system>
	rigid = 1, 0
	limit = 1, 100
	<alerts>
		loadavg_enabled = n
		loadavg_timeintvl = 3600
		loadavg_threshold = 5.0
		loadavg_script = /path/to/script.sh
	</alerts>
</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
	limit = 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
</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>
</lmsens>


# NVIDIA graph
# -----------------------------------------------------------------------------
<nvidia>
	max = 1
</nvidia>


# DISK graph
# -----------------------------------------------------------------------------
<disk>
	<list>
		0 = /dev/sda, /dev/sdb, /dev/sdc
	</list>
	<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>
</disk>


# FS graph
# -----------------------------------------------------------------------------
<fs>
	<list>
		0 = /, swap, /boot
	</list>
	<desc>
	</desc>
	<devmap>
	</devmap>
	rigid = 2, 0, 2, 0
	limit = 100, 1000, 100, 1000
	<alerts>
		rootfs_enabled = n
		rootfs_timeintvl = 3600
		rootfs_threshold = 100
		rootfs_script = /path/to/script.sh
	</alerts>
</fs>


# NET graph
# -----------------------------------------------------------------------------
<net>
	list = eth0
	<desc>
		eth0 = FastEthernet LAN, 0, 10000000
	</desc>
	gateway = eth0
</net>


# NETSTAT graph
# -----------------------------------------------------------------------------
<netstat>
	rigid = 0, 0, 0, 0, 0
	limit = 100, 100, 100, 100, 100
</netstat>


# SERV graph
# -----------------------------------------------------------------------------
<serv>
	mode = i
	rigid = 0, 0, 0
	limit = 1000, 1000, 1000
</serv>


# MAIL graph
# -----------------------------------------------------------------------------
<mail>
	mta = sendmail
	greylist = milter-greylist
	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 = 9
	rule = 24000
	list = 25, 21, 80, 22, 110, 139, 3306, 53, 143
	<desc>
		25	= SMTP,    tcp, in, 0, 1000
		21	= FTP,     tcp, in, 0, 1000
		80	= HTTP,    tcp, in, 0, 1000
		22	= SSH,     tcp, in, 0, 1000
		110	= POP3,    tcp, in, 0, 1000
		139	= NETBIOS, tcp, in, 0, 1000
		3306	= MYSQL,   tcp, in, 0, 1000
		53	= DNS,     udp, in, 0, 1000
		143	= IMAP,    tcp, in, 0, 1000
	</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
	rigid = 0, 2, 0
	limit = 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>


# 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>


# 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>


# FAIL2BAN graph
# -----------------------------------------------------------------------------
<fail2ban>
	list = Security, Overload / Abuse
	<desc>
		0 = [apache], [apache-mod-security], [apache-overflows], [courierauth], [ssh], [pam-generic], [php-url-fopen], [vsftpd]
		1 = [apache-imdbphp], [apache-evasive], [apache-badbots], [apache-robots-txt], [communigate], [named-refused-udp], [named-refused-tcp], [trac-ticketspam]
	</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 = /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
</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>


# APCUPSD graph
# -----------------------------------------------------------------------------
<apcupsd>
	cmd = apcaccess
	list = localhost:3551
	rigid = 0, 2, 0, 0, 0, 0
	limit = 100, 100, 100, 100, 100, 100
</apcupsd>


# 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>


# 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
	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 ======
# ========================================================================

timeout = 15

imgs_dir = imgs/
usage_dir = usage/
report_dir = reports/
favicon = monitorixico.png
logo_top = logo_top.png
logo_bottom = logo_bot.png

<theme>
	<white>
		main_bg		= FFFFFF
		main_fg		= 000000
		title_bg	= 777777
		title_fg	= CCCC00
		graph_bg	= CCCCCC
		gap		= 000000
	</white>
	<black>
		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
	</black>
</theme>

<graph_size>
	main	= 450x150
	medium	= 325x150
	medium2	= 325x70
	small	= 200x66
	mini	= 183x66
	tiny	= 110x40
	zoom	= 800x300
	remote	= 300x100
</graph_size>

graph_name = system, kern, proc, hptemp, lmsens, nvidia, disk, fs, net, netstat, serv, mail, port, user, ftp, apache, nginx, lighttpd, mysql, squid, nfss, nfsc, bind, ntp, fail2ban, icecast, raspberrypi, phpapc, memcached, apcupsd, wowza, int

<graph_title>
	system		= System load average and usage
	kern		= Global kernel usage
	proc		= Kernel usage per processor
	hptemp		= HP ProLiant System Health
	lmsens		= LM-Sensors and GPU temperatures
	nvidia		= NVIDIA temperatures and usage
	disk		= Disk drive temperatures and health
	fs		= Filesystem usage and I/O activity
	net		= Network traffic and usage
	netstat		= Netstat 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
	squid		= Squid statistics
	nfss		= NFS server statistics
	nfsc		= NFS client statistics
	bind		= BIND statistics
	ntp		= NTP statistics
	fail2ban	= Fail2ban statistics
	icecast		= Icecast Streaming Media Server
	raspberrypi	= Raspberry Pi sensor statistics
	phpapc		= Alternative PHP Cache statistics
	memcached	= Memcached statistics
	apcupsd		= APC UPS statistics
	wowza		= Wowza Media Server
	int		= Devices interrupt activity
</graph_title>

<graphs>
	_system1	= System load
	_system2	= Active processes
	_system3	= Memory allocation
	_kern1		= Kernel usage
	_kern2		= Context switches and forks
	_kern3		= VFS usage
	_proc		= Processor
	_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
	_nvidia1	= NVIDIA temperatures
	_nvidia2	= CPU usage
	_nvidia3	= Memory usage
	_disk1		= Disk drives temperatures
	_disk2		= Reallocated sector count
	_disk3		= Current pending sector
	_fs1		= Filesystems usage
	_fs2		= Disk I/O activity
	_fs3		= Inode usage
	_fs4		= Time spent in I/O activity
	_net1		= Network traffic
	_net2		= Network packets
	_net3		= Network errors
	_netstat1	= IPv4 states
	_netstat2	= IPv6 states
	_netstat3	= Active close
	_netstat4	= Passive close
	_netstat5	= UDP statistics
	_serv1		= System services demand
	_serv2		= IMAP and POP3 services
	_serv3		= SMTP service
	_mail1		= Mail statistics
	_mail2		= Network traffic
	_mail3		= Mails in queue
	_mail4		= Queue size
	_mail5		= 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 CPU usage
	_apache3	= Apache requests
	_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
	_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
	_ntp1		= NTP timing stats
	_ntp2		= Stratum level
	_ntp3		= Codes
	_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
	_apcupsd1	= Line voltage
	_apcupsd2	= Battery charge
	_apcupsd3	= Temperatures
	_apcupsd4	= Battery voltage
	_apcupsd5	= Time left
	_apcupsd6	= 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
</graphs>
