Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
SYMON(8)		    System Manager's Manual		      SYMON(8)

NAME
       symon --	system monitor

SYNOPSIS
       symon [-dtuv] [-f filename]

DESCRIPTION
       symon is	a lightweight system monitor that measures cpu,	load, filesys-
       tem, interface, disk, memory, pf, pf queues, mbuf, proc and sensor sta-
       tistics	every  5 seconds. This information is then spooled to symux(8)
       for further processing.

       symon has been designed to inflict minimal performance and security im-
       pact on the system it monitors.	symux(8) has performance  impact  pro-
       portional  to  the  amount of streams it	needs to manage. Ideally symux
       should live on a	different system and collect data from	several	 symon
       instances in a LAN.

       By  default,  symon  will  drop privileges and chroot(2)	to home	of the
       symon user.  This behaviour is not strictly needed for  the  cpu,  mem,
       mbuf,  disk  debug  and	interface  probes as these will	work even when
       symon is	started	as nobody.

       The options:

       -d      Stop symon from becoming	a daemon and show debug	information on
	       stdout.

       -f filename
	       Read configuration from filename	instead	of /etc/symon.conf.

       -t      Test configuration file and exit.

       -u      By default symon	will chroot(2) into _symon  user  home	direc-
	       tory. The -u disables this behaviour.

       -v      Show version information.

CONFIGURATION
       symon  obtains configuration data from /etc/symon.conf.	The configura-
       tion file contains monitor stanzas that define what resources should be
       monitored and to	which symux(8) the information should be streamed to.

       Multiple	monitor	statements are allowed.	Whitespace, newlines and  text
       behind '#' are ignored. The format in BNF:

	     monitor-rule = "monitor" "{" resources "}"	[every]
			    "stream" ["from" host] ["to"] host [ port ]
	     resources	  = resource [ version ] ["(" argument ")"]
			    [ ","|" " resources	]
	     resource	  = "cpu" | "cpuiow" | "debug" | "df" |	"flukso" |
			    "if" | "io"	| "load" | "mbuf" | "mem" | "pf" |
			    "pfq" | "proc" | "sensor" |	"smart"
	     version	  = number
	     argument	  = number | name
	     every	  = "every" time
	     time	  = "second" | number "seconds"
	     host	  = ip4addr | ip6addr |	hostname
	     port	  = [ "port" | "," ] portnumber

       Note  that  symux(8)  data files	default	to receiving data every	5 sec-
       onds. Adjusting the monitoring interval will also require adjusting the
       associated symux(8) datafile(s).

       The pf probe will return	data that is collected	for  the  loginterface
       set in /etc/pf.conf(5).

       The  Linux io, df, and smart probes support device names	via id,	label,
       path and	uuid.

       The FreeBSD io, df, and smart probes support gpt	names, ufs names,  ufs
       ids and paths.

       The OpenBSD io probe supports device uuids.

EXAMPLE
       Here  is	 an  example OpenBSD symon.conf	that monitors cpu, memory, pf,
       interfaces xl0/de0/lo0/wi0, disks wd[0-3]/cd[0-1], debug	variables  de-
       bug0 to debug19 and streams that	information to localhost on port 2100.

	     monitor { cpu(0),	mem, pf, if(xl0), if(de0),
		       if(lo0),	if(wi0), io(wd0), io(wd1),
		       io(wd2),	io(wd3), io(cd0), io(cd1),
		       io(ccd0), df(sd0a), df(sd0d), df(sd0e),
		       debug, proc(httpd) } stream to 127.0.0.1	2100

EXAMPLE
       Here is an example Linux	symon.conf that	monitors cpu including iowait,
       memory, load, interface eth0, io	and df for a set of disks every	5 sec-
       onds.  Smart  data  is  to be collected every 60	seconds.  Disks	in the
       smart and io statements are identified using ids, filesystem volumes in
       df using	labels.
	     monitor { smart(ata-Hitachi_HDS722020ALA330_JK1130ABABABAB),
		       smart(ata-Hitachi_HDS722020ALA330_JK1130ACACACAC),
		     } every 60	seconds	stream to 192.168.0.2 port 2100

	     monitor { cpuiow(0), cpuiow(1), mem, if(eth0),
		       io(ata-Hitachi_HDS722020ALA330_JK1130ABABABAB),
		       io(ata-Hitachi_HDS722020ALA330_JK1130ACACACAC),
		       df(data_1),
		       df(data_2),
		       df(data_3),
		       df(home),
		       df(var),
		       load
		     } stream to 192.168.0.2 port 2100

SIGNALS
       SIGHUP  Causes symon to read /etc/symon.conf.  symon will keep the  old
	       configuration  if errors	occured	during parsing of the configu-
	       ration file. Note that the chroot(2) may	cause resources	to be-
	       come unattainable, most notably the configuration file itself.

FILES
       /var/run/symon.pid
	       Contains	the program id of the symon daemon.

       /etc/symon.conf
	       symon system wide configuration file.

BUGS
       Every monitored resource	mentioned /etc/symon.conf gets	queried.  Men-
       tioning,	 for  example, cpu(0) twice for	different muxes	will result in
       two distinct cpu(0) measurement actions.

       The proc	module is too simple: memory shared between two	 instances  of
       the same	process	is simply counted twice.

       symon does not check whether all	resources mentioned in /etc/symon.conf
       exist.

AUTHOR
       Willem  Dijkstra	 <wpd@xs4all.nl>.  Daniel  Hartmeier helped to port to
       big-endian architectures. Matthew Gream helped to port symon  to	 other
       BSD platforms.

       Port  contributors: Marc	Balmer,	Tito Dal Canton, Matthew Gream,	Daniel
       Hartmeier, Lars Kotthoff, Constantine A.	Murenin, J.  Martin  Petersen,
       Fredrik Soderblom, Harm Schotanus and Martin van	der Werff.

       Valeriy	  Leshchinskiy	 maintains   a	 windows   symon   client   at
       https://github.com/ValHazelwood/SymonClient .

SEE ALSO
       symux(8)

FreeBSD	Ports 14.quarterly	 April 4, 2012			      SYMON(8)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=symon&sektion=8&manpath=FreeBSD+Ports+14.3.quarterly>

home | help