19962009
Ericsson AB. All Rights Reserved.
The contents of this file are subject to the Erlang Public License,
Version 1.1, (the "License"); you may not use this file except in
compliance with the License. You should have received a copy of the
Erlang Public License along with this software. If not, it can be
retrieved online at http://www.erlang.org/.
Software distributed under the License is distributed on an "AS IS"
basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
the License for the specific language governing rights and limitations
under the License.
os_mon
os_mon
OS Monitoring Application
The operating system monitor, OS_Mon, provides the following
services:
- cpu_sup
CPU load and utilization supervision (Unix)
- disksup
Disk supervision(Unix, Windows)
- memsup
Memory supervision (Unix, Windows, VxWorks)
- os_sup
Interface to OS system messages (Solaris, Windows)
To simplify usage of OS_Mon on distributed Erlang systems, it is
not considered an error trying to use a service at a node where it
is not available (either because OS_Mon is not running, or because
the service is not available for that OS, or because the service
is not started). Instead, a warning message is issued via
error_logger and a dummy value is returned, which one is
specified in the man pages for the respective services.
Configuration
When OS_Mon is started, by default all services available for
the OS, except os_sup, are automatically started. This
configuration can be changed using the following application
configuration parameters:
start_cpu_sup = bool()
-
Specifies if cpu_sup should be started. Defaults to
true.
start_disksup = bool()
-
Specifies if disksup should be started. Defaults to
true.
start_memsup = bool()
-
Specifies if memsup should be started. Defaults to
true.
start_os_sup = bool()
-
Specifies if os_sup should be started. Defaults to
false.
Configuration parameters effecting the different OS_Mon services
are described in the respective man pages.
See config(4) for
information about how to change the value of configuration
parameters.
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, which implicates that Mnesia must be up and running.
The MIB also use functions defined for the OTP-MIB, thus
that MIB must be loaded as well.
See Also
cpu_sup(3),
disksup(3),
memsup(3),
os_sup(3),
nteventlog(3),
snmp(3).