aboutsummaryrefslogtreecommitdiffstats
path: root/lib/os_mon/mibs
diff options
context:
space:
mode:
Diffstat (limited to 'lib/os_mon/mibs')
-rw-r--r--lib/os_mon/mibs/Makefile97
-rw-r--r--lib/os_mon/mibs/OTP-OS-MON-MIB.funcs5
-rw-r--r--lib/os_mon/mibs/OTP-OS-MON-MIB.mib422
-rw-r--r--lib/os_mon/mibs/v1/.gitignore0
4 files changed, 524 insertions, 0 deletions
diff --git a/lib/os_mon/mibs/Makefile b/lib/os_mon/mibs/Makefile
new file mode 100644
index 0000000000..cbbc337491
--- /dev/null
+++ b/lib/os_mon/mibs/Makefile
@@ -0,0 +1,97 @@
+#
+# %CopyrightBegin%
+#
+# Copyright Ericsson AB 1997-2009. 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.
+#
+# %CopyrightEnd%
+#
+include $(ERL_TOP)/make/target.mk
+include $(ERL_TOP)/make/$(TARGET)/otp.mk
+
+# ----------------------------------------------------
+# Application version
+# ----------------------------------------------------
+include ../vsn.mk
+VSN=$(OS_MON_VSN)
+
+# ----------------------------------------------------
+# Release directory specification
+# ----------------------------------------------------
+RELSYSDIR = $(RELEASE_PATH)/lib/os_mon-$(VSN)
+
+# ----------------------------------------------------
+# Target Specs
+# ----------------------------------------------------
+
+MIB_FILES= OTP-OS-MON-MIB.mib
+FUNCS_FILES = OTP-OS-MON-MIB.funcs
+
+BIN_TARGETS= $(MIB_FILES:%.mib=$(SNMP_BIN_TARGET_DIR)/%.bin)
+HRL_TARGETS= $(MIB_FILES:%.mib=$(SNMP_HRL_TARGET_DIR)/%.hrl)
+V1_MIB_FILES= $(MIB_FILES:%.mib=v1/%.mib.v1)
+
+TARGET_FILES= $(SNMP_BIN_TARGET_DIR)/OTP-REG.bin \
+ $(SNMP_BIN_TARGET_DIR)/OTP-TC.bin \
+ $(SNMP_BIN_TARGET_DIR)/OTP-MIB.bin \
+ $(BIN_TARGETS) $(HRL_TARGETS) $(V1_MIB_FILES)
+
+# ----------------------------------------------------
+# FLAGS
+# ----------------------------------------------------
+SNMP_FLAGS = -I $(SNMP_BIN_TARGET_DIR)
+
+# ----------------------------------------------------
+# Targets
+# ----------------------------------------------------
+
+debug opt: $(TARGET_FILES)
+
+clean:
+ rm -f $(TARGET_FILES)
+ rm -f core
+
+docs:
+
+OTP_MIBDIR = $(shell if test -d ../../otp_mibs; then echo otp_mibs; \
+ else echo sasl; fi)
+
+$(SNMP_BIN_TARGET_DIR)/OTP-REG.bin: $(ERL_TOP)/lib/$(OTP_MIBDIR)/mibs/OTP-REG.mib
+ $(ERLC) -pa $(SNMP_TOOLKIT)/ebin -I $(SNMP_TOOLKIT)/priv/mibs $(SNMP_FLAGS) -o $(SNMP_BIN_TARGET_DIR) $<
+
+$(SNMP_BIN_TARGET_DIR)/OTP-TC.bin: $(ERL_TOP)/lib/$(OTP_MIBDIR)/mibs/OTP-TC.mib
+ $(ERLC) -pa $(SNMP_TOOLKIT)/ebin -I $(SNMP_TOOLKIT)/priv/mibs $(SNMP_FLAGS) -o $(SNMP_BIN_TARGET_DIR) $<
+
+$(SNMP_BIN_TARGET_DIR)/OTP-MIB.bin: $(ERL_TOP)/lib/$(OTP_MIBDIR)/mibs/OTP-MIB.mib
+ $(ERLC) -pa $(SNMP_TOOLKIT)/ebin -I $(SNMP_TOOLKIT)/priv/mibs $(SNMP_FLAGS) -o $(SNMP_BIN_TARGET_DIR) $<
+
+v1/%.mib.v1: %.mib
+ $(ERL_TOP)/lib/snmp/bin/snmp-v2tov1 -o $@ $<
+
+
+# ----------------------------------------------------
+# Release Target
+# ----------------------------------------------------
+include $(ERL_TOP)/make/otp_release_targets.mk
+
+release_spec: opt
+ $(INSTALL_DIR) $(RELSYSDIR)/mibs
+ $(INSTALL_DIR) $(RELSYSDIR)/mibs/v1
+ $(INSTALL_DATA) $(MIB_FILES) $(FUNCS_FILES) $(RELSYSDIR)/mibs
+ $(INSTALL_DATA) $(V1_MIB_FILES) $(RELSYSDIR)/mibs/v1
+ $(INSTALL_DIR) $(RELSYSDIR)/include
+ $(INSTALL_DATA) $(HRL_TARGETS) $(RELSYSDIR)/include
+ $(INSTALL_DIR) $(RELSYSDIR)/priv/mibs
+ $(INSTALL_DATA) $(BIN_TARGETS) $(RELSYSDIR)/priv/mibs
+
+release_docs_spec:
diff --git a/lib/os_mon/mibs/OTP-OS-MON-MIB.funcs b/lib/os_mon/mibs/OTP-OS-MON-MIB.funcs
new file mode 100644
index 0000000000..7ed76517b9
--- /dev/null
+++ b/lib/os_mon/mibs/OTP-OS-MON-MIB.funcs
@@ -0,0 +1,5 @@
+{loadMemorySystemWatermark, {os_mon_mib, mem_sys_mark, []}}.
+{loadMemoryErlProcWatermark, {os_mon_mib, mem_proc_mark, []}}.
+{loadTable, {os_mon_mib, load_table, []}}.
+{diskAlmostFullThreshold, {os_mon_mib, disk_threshold, []}}.
+{diskTable, {os_mon_mib, disk_table, []}}.
diff --git a/lib/os_mon/mibs/OTP-OS-MON-MIB.mib b/lib/os_mon/mibs/OTP-OS-MON-MIB.mib
new file mode 100644
index 0000000000..d6ababdcea
--- /dev/null
+++ b/lib/os_mon/mibs/OTP-OS-MON-MIB.mib
@@ -0,0 +1,422 @@
+--
+-- %CopyrightBegin%
+--
+-- Copyright Ericsson AB 1997-2009. 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.
+--
+-- %CopyrightEnd%
+--
+
+OTP-OS-MON-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-IDENTITY, NOTIFICATION-TYPE, OBJECT-TYPE,
+ Counter32, Gauge32, Integer32, Unsigned32, Counter64
+ FROM SNMPv2-SMI
+ TEXTUAL-CONVENTION, DisplayString
+ FROM SNMPv2-TC
+ MODULE-COMPLIANCE, NOTIFICATION-GROUP, OBJECT-GROUP
+ FROM SNMPv2-CONF
+ otpModules, otpApplications
+ FROM OTP-REG
+ erlNodeId
+ FROM OTP-MIB
+ ;
+
+
+otpOsMonModule MODULE-IDENTITY
+ LAST-UPDATED "0305090900Z"
+ ORGANIZATION "Ericsson"
+ CONTACT-INFO
+ "Contact: Erlang Support see license agreement for Erlang/OTP."
+
+ DESCRIPTION
+ "This MIB is part of the OTP MIB. It defines MIB objects
+ for the os_mon application in OTP."
+
+ REVISION "0508260900Z"
+ DESCRIPTION
+ "Removed dependeny on EVA."
+ REVISION "0305090900Z"
+ DESCRIPTION
+ "Changed CONTACT-INFO as it was outdated, made it more generic
+ to avoid such changes in the future."
+
+ REVISION "9807080900Z"
+ DESCRIPTION
+ "Changed MAX-ACCESS for diskDescr from not-accessible to
+ read-only."
+
+ REVISION "9801270900Z"
+ DESCRIPTION
+ "Changed erroneous name of this module to otpOsMonModule."
+
+ REVISION "9712010900Z"
+ DESCRIPTION
+ "Converted to v2 SMI and placed in the OTP tree."
+
+ REVISION "9608191700Z"
+ DESCRIPTION
+ "The initial revision of MIB module OTP-OS-MON-MIB."
+ ::= { otpModules 4 }
+
+OTPCounterBasedGauge64 ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "The CounterBasedGauge64 type represents a non-negative
+ integer, which may increase or decrease, but shall never
+ exceed a maximum value, nor fall below a minimum value. The
+ maximum value can not be greater than 2^64-1
+ (18446744073709551615 decimal), and the minimum value can
+
+ not be smaller than 0. The value of a CounterBasedGauge64
+ has its maximum value whenever the information being modeled
+ is greater than or equal to its maximum value, and has its
+ minimum value whenever the information being modeled is
+ smaller than or equal to its minimum value. If the
+ information being modeled subsequently decreases below
+ (increases above) the maximum (minimum) value, the
+ CounterBasedGauge64 also decreases (increases).
+
+ Note that this TC is not strictly supported in SMIv2,
+ because the 'always increasing' and 'counter wrap' semantics
+ associated with the Counter64 base type are not preserved.
+ It is possible that management applications which rely
+ solely upon the (Counter64) ASN.1 tag to determine object
+ semantics will mistakenly operate upon objects of this type
+ as they would for Counter64 objects.
+
+ This textual convention represents a limited and short-term
+ solution, and may be deprecated as a long term solution is
+ defined and deployed to replace it."
+ SYNTAX Counter64
+
+otpOsMonMIB OBJECT IDENTIFIER ::= { otpApplications 2 }
+otpOsMonMIBConformance
+ OBJECT IDENTIFIER ::= { otpOsMonMIB 1 }
+otpOsMonMIBObjects
+ OBJECT IDENTIFIER ::= { otpOsMonMIB 2 }
+otpOsMonMIBAlarms
+ OBJECT IDENTIFIER ::= { otpOsMonMIB 4 }
+otpOsMonMIBAlarmsV2
+ OBJECT IDENTIFIER ::= { otpOsMonMIBAlarms 0 }
+
+
+-- Datatypes
+
+-- Managed Objects
+
+load OBJECT IDENTIFIER ::= { otpOsMonMIBObjects 1 }
+disk OBJECT IDENTIFIER ::= { otpOsMonMIBObjects 2 }
+
+loadMemorySystemWatermark OBJECT-TYPE
+ SYNTAX Integer32 (0..100)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Threshold in percent of the total available system
+ memory, which specifies how much memory can be allocated
+ by the system before an alarm is sent."
+ ::= { load 1 }
+
+loadMemoryErlProcWatermark OBJECT-TYPE
+ SYNTAX Integer32 (0..100)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Threshold in percent of the total available system
+ memory, which specifies how much memory can be allocated
+ by one Erlang process before an alarm is sent."
+ ::= { load 2 }
+
+loadTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF LoadEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A table with load and memory information
+ for each node."
+ ::= { load 3 }
+
+loadEntry OBJECT-TYPE
+ SYNTAX LoadEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A conceptual row in the loadTable."
+ INDEX { loadErlNodeName }
+ ::= { loadTable 1 }
+
+LoadEntry ::= SEQUENCE {
+ loadErlNodeName DisplayString,
+ loadSystemTotalMemory Gauge32,
+ loadSystemUsedMemory Gauge32,
+ loadLargestErlProcess DisplayString,
+ loadLargestErlProcessUsedMemory Gauge32,
+ loadCpuLoad Integer32,
+ loadCpuLoad5 Integer32,
+ loadCpuLoad15 Integer32,
+ loadOsWordsize Unsigned32,
+ loadSystemTotalMemory64 OTPCounterBasedGauge64,
+ loadSystemUsedMemory64 OTPCounterBasedGauge64,
+ loadLargestErlProcessUsedMemory64 OTPCounterBasedGauge64
+ }
+
+loadErlNodeName OBJECT-TYPE
+ SYNTAX DisplayString
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The name of the erlang node, e.g. erlnode@host1."
+ ::= { loadEntry 1 }
+
+loadSystemTotalMemory OBJECT-TYPE
+ SYNTAX Gauge32
+ UNITS "bytes"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The amount of total memory in the system."
+ ::= { loadEntry 2 }
+
+loadSystemUsedMemory OBJECT-TYPE
+ SYNTAX Gauge32
+ UNITS "bytes"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The amount of used memory."
+ ::= { loadEntry 3 }
+
+loadLargestErlProcess OBJECT-TYPE
+ SYNTAX DisplayString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The process identifier (Pid) of the largest Erlang
+ process."
+ ::= { loadEntry 4 }
+
+loadLargestErlProcessUsedMemory OBJECT-TYPE
+ SYNTAX Gauge32
+ UNITS "bytes"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The amount of memory used by the largest Erlang
+ process."
+ ::= { loadEntry 5 }
+
+loadCpuLoad OBJECT-TYPE
+ SYNTAX Integer32 (0..100)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The average load the last minute in percent of the CPU
+ where the Erlang node runs."
+ ::= { loadEntry 6 }
+
+loadCpuLoad5 OBJECT-TYPE
+ SYNTAX Integer32 (0..100)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The average load the last 5 minutes in percent of the CPU
+ where the Erlang node runs."
+ ::= { loadEntry 7}
+
+loadCpuLoad15 OBJECT-TYPE
+ SYNTAX Integer32 (0..100)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The average load the last 15 minutes in percent of the CPU
+ where the Erlang node runs."
+ ::= { loadEntry 8}
+
+loadOsWordsize OBJECT-TYPE
+ SYNTAX Unsigned32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The wordsize of the operating operating system."
+ ::= { loadEntry 9 }
+
+loadSystemTotalMemory64 OBJECT-TYPE
+ SYNTAX OTPCounterBasedGauge64
+ UNITS "bytes"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The amount of total memory in the system for 64-bit operating system."
+ ::= { loadEntry 10 }
+
+loadSystemUsedMemory64 OBJECT-TYPE
+ SYNTAX OTPCounterBasedGauge64
+ UNITS "bytes"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The amount of used memory for 64-bit operating system."
+ ::= { loadEntry 11 }
+
+loadLargestErlProcessUsedMemory64 OBJECT-TYPE
+ SYNTAX OTPCounterBasedGauge64
+ UNITS "bytes"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The amount of memory used by the largest Erlang
+ process for 64-bit operating system.."
+ ::= { loadEntry 12 }
+
+diskAlmostFullThreshold OBJECT-TYPE
+ SYNTAX Integer32 (0..100)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Threshold in percent of the available disk space,
+ which specifies how much disk space can be used by
+ a disk or partition before an alarm is sent."
+ ::= { disk 1 }
+
+diskTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF DiskEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A table with all local disks or partitions on each
+ node."
+ ::= { disk 2 }
+
+diskEntry OBJECT-TYPE
+ SYNTAX DiskEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A conceptual row in the diskTable."
+ INDEX { erlNodeId, diskId }
+ ::= { diskTable 1 }
+
+DiskEntry ::= SEQUENCE {
+ diskId Integer32,
+ diskDescr DisplayString,
+ diskKBytes Gauge32,
+ diskCapacity Integer32
+ }
+
+diskId OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An integer that uniquely identifies the disk
+ or partition."
+ ::= { diskEntry 1 }
+
+diskDescr OBJECT-TYPE
+ SYNTAX DisplayString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A string that identifies the disk or partition."
+ ::= { diskEntry 2 }
+
+diskKBytes OBJECT-TYPE
+ SYNTAX Gauge32
+ UNITS "kbytes"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The amount of total disk/partition space. "
+ ::= { diskEntry 3 }
+
+diskCapacity OBJECT-TYPE
+ SYNTAX Integer32 (0..100)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "How much of the disk's/partition's total capacity has
+ been used, in percent."
+ ::= { diskEntry 4 }
+
+
+-- conformance information
+
+otpOsMonMIBCompliances
+ OBJECT IDENTIFIER ::= { otpOsMonMIBConformance 1 }
+otpOsMonMIBGroups
+ OBJECT IDENTIFIER ::= { otpOsMonMIBConformance 2 }
+
+
+-- compliance statements
+
+otpOsMonBasicCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for SNMPv2 entities which
+ implement the OTP-OS-MON-MIB."
+ MODULE -- this module
+ GROUP loadGroup
+ DESCRIPTION
+ "This group is mandatory for systems implementing the
+ load supervison functionality."
+ GROUP loadAlarmsGroup
+ DESCRIPTION
+ "This group is optional for systems implementing the
+ load supervison functionality."
+ GROUP diskGroup
+ DESCRIPTION
+ "This group is mandatory for system implementing the
+ disk supervison functionality."
+ GROUP diskAlarmsGroup
+ DESCRIPTION
+ "This group is optional for systems implementing the
+ disk supervison functionality."
+ ::= { otpOsMonMIBCompliances 1 }
+
+
+-- units of conformance
+
+loadGroup OBJECT-GROUP
+ OBJECTS { loadMemorySystemWatermark,
+ loadMemoryErlProcWatermark,
+ loadSystemTotalMemory,
+ loadSystemUsedMemory,
+ loadLargestErlProcess,
+ loadLargestErlProcessUsedMemory,
+ loadCpuLoad,
+ loadCpuLoad5,
+ loadCpuLoad15,
+ loadOsWordsize,
+ loadSystemTotalMemory64,
+ loadSystemUsedMemory64,
+ loadLargestErlProcessUsedMemory64}
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing basic instrumentation
+ of the load of the OTP system."
+ ::= { otpOsMonMIBGroups 1 }
+
+diskGroup OBJECT-GROUP
+ OBJECTS { diskAlmostFullThreshold,
+ diskDescr,
+ diskKBytes,
+ diskCapacity }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing basic instrumentation
+ of the disks in the OTP system."
+ ::= { otpOsMonMIBGroups 3 }
+
+END
diff --git a/lib/os_mon/mibs/v1/.gitignore b/lib/os_mon/mibs/v1/.gitignore
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/lib/os_mon/mibs/v1/.gitignore