# os_mon

### APPLICATION

os_mon

### APPLICATION SUMMARY

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

os_mon 1.7.4
Copyright © 1991-2005 Ericsson AB