os_mon(3)

APPLICATION
os_mon - OS Monitoring Application

DESCRIPTION

This section describes the os_mon application in Erlang. The OS Monitoring application provides the following services:

    *   cpu_sup

    *   disksup

    *   memsup

    *   os_sup

Configuration

The following configuration parameters are defined for the OS Monitoring application. Refer to application(3) for more information about configuration parameters.

    start_disksup = bool() <optional>:
        Specifies if disksup should be started. The default is true.

    start_memsup = bool() <optional>:
        Specifies if memsup should be started. The default is true.

    start_os_sup = bool() <optional>:
        Specifies if os_sup should be started. The default is false.

    disk_space_check_interval = integer() <optional>:
        Defines how often, in minutes, the disksup process should check the disk space. The default is 30 minutes.

    disk_almost_full_threshold = float() <optional>:
        Defines what percentage of total disk space can be utilized before the disk_almost_full alarm is set. The default is 0.80 (80%).

    memory_check_interval = integer() <optional>:
        Defines how often, in minutes, the memsup process should check the memory. The default is one minute.

    system_memory_high_watermark = float() <optional>:
        Defines what percentage of the available system memory can be allocated before the corresponding alarm is set. The default is 0.8 (80%).

    process_memory_high_watermark = float() <optional>:
        Defines what percentage of the available system memory can be allocated by one Erlang process before the corresponding alarm is set. The default is 0.05 (5%).

    memsup_helper_timeout = integer() (>= 1) <optional>:
        Defines how long timeout time, in seconds, the memsup process should use when communicating with the memsup_helper process (an application internal server). Defaults to 30 seconds.

    memsup_system_only = bool() <optional>:
        Specifies whether memsup should only collect system memory usage (and not Erlang process memory usage). Default is false (meaning that information both system memory usage and Erlang process memory usage will be collected).

    os_sup_own = string() :
        Defines which directory contains the backup copy and the Erlang specific configuration files for syslogd, and the named pipe to receive the messages from syslogd.
         Usually, this parameter has the value "/etc".

    os_sup_syslogconf = string() :
        Defines the full file name of the configuration file for syslogd.
         Usually, this parameter has the value "/etc/syslog.conf".

    os_sup_errortag = atom() :
        Defines the atom with which to tag messages received from syslogd before forwarding them to the error logger in the Erlang runtime system.

SNMP MIBs

The following MIBs are defined in OS_MON:

    OTP-OS-MON-MIB:
        This MIB contains objects for instrumentation of disk, memory and cpu usage of the nodes in the system.

The MIB is stored in the mibs directory. It is defined in SNMPv2 SMI syntax. An SNMPv1 version of the mib is delivered in the mibs/v1 directory.

The compiled MIB is located under priv/mibs, and the generated .hrl file under the include directory. To compile a MIB that IMPORTS the OTP-OS-MON-MIB, give the option {il, ["os_mon/priv/mibs"]} to the MIB compiler.

If the MIB should be used in a system, it should be loaded into an agent with a call to os_mon_mib:load(Agent), where Agent is the Pid or registered name of an SNMP agent. Use os_mon_mib:unload(Agent) to unload the MIB. The implementation of this MIB uses Mnesia to store a cache with data needed. This means that Mnesia must run if this implementation of the MIB should be used. It also use functions defined for the OTP-MIB, thus that MIB must be loaded as well.

See Also

cpu_sup(3), memsup(3), disksup(3), os_sup(3), application(3), snmp(6)

AUTHORS
Martin Björklund - support@erlang.ericsson.se
Mats Nilsson - support@erlang.ericsson.se