GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  SYMON (8)

NAME

symon - system monitor

CONTENTS

Synopsis
Description
Configuration
Example
Example
Signals
Files
Bugs
Author
See Also

SYNOPSIS

symon [-dtuv] [-f filename]

DESCRIPTION

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

symon has been designed to inflict minimal performance and security impact on the system it monitors. symux(8) has performance impact proportional 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.
.Lp 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.
.Lp 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 directory. The -u disables this behaviour.
-v Show version information.

CONFIGURATION

symon obtains configuration data from /etc/symon.conf. The configuration 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 seconds. 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 debug0 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 seconds. 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 configuration file. Note that the chroot(2) may cause resources to become 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. Mentioning, 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.

SEE ALSO

symux(8)
Search for    or go to Top of page |  Section 8 |  Main Index


Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.