add MIB-based validation and generic profile tests
- Add MIB files from LibreNMS in priv/mibs/ for reference - Create MibParser module to validate OIDs against official MIB definitions - Add MIB validation tests to ensure hardcoded OIDs match MIB specs - Refactor SNMP tests to be generic/behavior-focused instead of vendor-specific - Remove vendor-specific test files (cisco_test, net_snmp_test) - All 104 tests passing with automated OID validation
This commit is contained in:
parent
d8e29abf09
commit
96bd8b3829
14 changed files with 16317 additions and 3 deletions
172
lib/towerops/snmp/mib_parser.ex
Normal file
172
lib/towerops/snmp/mib_parser.ex
Normal file
|
|
@ -0,0 +1,172 @@
|
|||
defmodule Towerops.Snmp.MibParser do
|
||||
@moduledoc """
|
||||
Simple MIB file parser for extracting OID definitions.
|
||||
|
||||
This parser extracts OID assignments from MIB files for validation purposes.
|
||||
It's not a full ASN.1 parser - just enough to validate our hardcoded OIDs
|
||||
against the official MIB definitions.
|
||||
|
||||
## Usage
|
||||
|
||||
iex> MibParser.parse_mib_file("priv/mibs/standard/IF-MIB")
|
||||
{:ok, %{
|
||||
"ifIndex" => "1.3.6.1.2.1.2.2.1.1",
|
||||
"ifDescr" => "1.3.6.1.2.1.2.2.1.2",
|
||||
...
|
||||
}}
|
||||
"""
|
||||
|
||||
require Logger
|
||||
|
||||
@doc """
|
||||
Parse a MIB file and return a map of object names to OID strings.
|
||||
"""
|
||||
@spec parse_mib_file(String.t()) :: {:ok, %{String.t() => String.t()}} | {:error, term()}
|
||||
def parse_mib_file(path) do
|
||||
case File.read(path) do
|
||||
{:ok, content} ->
|
||||
oids = parse_mib_content(content)
|
||||
{:ok, oids}
|
||||
|
||||
{:error, reason} = error ->
|
||||
Logger.error("Failed to read MIB file #{path}: #{inspect(reason)}")
|
||||
error
|
||||
end
|
||||
end
|
||||
|
||||
@doc """
|
||||
Parse MIB content and extract OID definitions.
|
||||
"""
|
||||
@spec parse_mib_content(String.t()) :: %{String.t() => String.t()}
|
||||
def parse_mib_content(content) do
|
||||
# First, build a map of object assignments (e.g., "ifTable ::= { interfaces 2 }")
|
||||
assignments = extract_assignments(content)
|
||||
|
||||
# Then resolve all OIDs by following the assignment chain
|
||||
resolve_oids(assignments)
|
||||
end
|
||||
|
||||
@doc """
|
||||
Validate that a given OID matches the definition in a MIB file.
|
||||
"""
|
||||
@spec validate_oid(String.t(), String.t(), String.t()) :: :ok | {:error, String.t()}
|
||||
def validate_oid(mib_file, object_name, expected_oid) do
|
||||
case parse_mib_file(mib_file) do
|
||||
{:ok, oids} ->
|
||||
case Map.get(oids, object_name) do
|
||||
^expected_oid ->
|
||||
:ok
|
||||
|
||||
actual_oid when is_binary(actual_oid) ->
|
||||
{:error, "OID mismatch for #{object_name}: expected #{expected_oid}, got #{actual_oid}"}
|
||||
|
||||
nil ->
|
||||
{:error, "Object #{object_name} not found in MIB"}
|
||||
end
|
||||
|
||||
{:error, reason} ->
|
||||
{:error, "Failed to parse MIB: #{inspect(reason)}"}
|
||||
end
|
||||
end
|
||||
|
||||
# Private functions
|
||||
|
||||
defp extract_assignments(content) do
|
||||
# Match patterns like:
|
||||
# objectName OBJECT-TYPE ::= { parent index }
|
||||
# objectName OBJECT IDENTIFIER ::= { parent index }
|
||||
# We'll extract: objectName, parent, index
|
||||
|
||||
# Remove comments (lines starting with --)
|
||||
content = Regex.replace(~r/--.*$/m, content, "")
|
||||
|
||||
# Match assignment patterns
|
||||
# This regex captures: name, parent, and index
|
||||
~r/(\w+)\s+(?:OBJECT-TYPE|OBJECT\s+IDENTIFIER)[^:]*::=\s*\{\s*(\w+)\s+(\d+)\s*\}/
|
||||
|> Regex.scan(content)
|
||||
|> Map.new(fn [_, name, parent, index] ->
|
||||
{name, {parent, index}}
|
||||
end)
|
||||
end
|
||||
|
||||
defp resolve_oids(assignments) do
|
||||
# Well-known root OIDs
|
||||
roots = %{
|
||||
"iso" => "1",
|
||||
"org" => "1.3",
|
||||
"dod" => "1.3.6",
|
||||
"internet" => "1.3.6.1",
|
||||
"directory" => "1.3.6.1.1",
|
||||
"mgmt" => "1.3.6.1.2",
|
||||
"mib-2" => "1.3.6.1.2.1",
|
||||
"experimental" => "1.3.6.1.3",
|
||||
"private" => "1.3.6.1.4",
|
||||
"enterprises" => "1.3.6.1.4.1",
|
||||
"security" => "1.3.6.1.5",
|
||||
"snmpV2" => "1.3.6.1.6",
|
||||
"snmpModules" => "1.3.6.1.6.3"
|
||||
}
|
||||
|
||||
# Build OID map by recursively resolving assignments
|
||||
Enum.reduce(assignments, roots, fn {name, {parent, index}}, acc ->
|
||||
case resolve_oid(parent, index, acc, assignments) do
|
||||
{:ok, oid} -> Map.put(acc, name, oid)
|
||||
:error -> acc
|
||||
end
|
||||
end)
|
||||
end
|
||||
|
||||
defp resolve_oid(parent, index, resolved, assignments) do
|
||||
cond do
|
||||
# Parent already resolved
|
||||
Map.has_key?(resolved, parent) ->
|
||||
{:ok, "#{resolved[parent]}.#{index}"}
|
||||
|
||||
# Parent needs to be resolved from assignments
|
||||
Map.has_key?(assignments, parent) ->
|
||||
{grandparent, parent_index} = assignments[parent]
|
||||
|
||||
case resolve_oid(grandparent, parent_index, resolved, assignments) do
|
||||
{:ok, parent_oid} ->
|
||||
{:ok, "#{parent_oid}.#{index}"}
|
||||
|
||||
:error ->
|
||||
:error
|
||||
end
|
||||
|
||||
# Can't resolve
|
||||
true ->
|
||||
:error
|
||||
end
|
||||
end
|
||||
|
||||
@doc """
|
||||
List all MIB files in the priv/mibs directory.
|
||||
"""
|
||||
@spec list_mib_files() :: [String.t()]
|
||||
def list_mib_files do
|
||||
mibs_dir = Application.app_dir(:towerops, "priv/mibs")
|
||||
|
||||
case File.ls(mibs_dir) do
|
||||
{:ok, subdirs} ->
|
||||
Enum.flat_map(subdirs, &list_mib_files_in_subdir(mibs_dir, &1))
|
||||
|
||||
{:error, _} ->
|
||||
[]
|
||||
end
|
||||
end
|
||||
|
||||
defp list_mib_files_in_subdir(mibs_dir, subdir) do
|
||||
subdir_path = Path.join(mibs_dir, subdir)
|
||||
|
||||
case File.ls(subdir_path) do
|
||||
{:ok, files} ->
|
||||
files
|
||||
|> Enum.filter(&String.ends_with?(&1, "MIB"))
|
||||
|> Enum.map(&Path.join([mibs_dir, subdir, &1]))
|
||||
|
||||
{:error, _} ->
|
||||
[]
|
||||
end
|
||||
end
|
||||
end
|
||||
6
mix.lock
6
mix.lock
|
|
@ -1,5 +1,5 @@
|
|||
%{
|
||||
"bandit": {:hex, :bandit, "1.9.0", "6dc1ff2c30948dfecf32db574cc3447c7b9d70e0b61140098df3818870b01b76", [:mix], [{:hpax, "~> 1.0", [hex: :hpax, repo: "hexpm", optional: false]}, {:plug, "~> 1.18", [hex: :plug, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}, {:thousand_island, "~> 1.0", [hex: :thousand_island, repo: "hexpm", optional: false]}, {:websock, "~> 0.5", [hex: :websock, repo: "hexpm", optional: false]}], "hexpm", "2538aaa1663b40ca9cbd8ca1f8a540cb49e5baf34c6ffef068369cc45f9146f2"},
|
||||
"bandit": {:hex, :bandit, "1.10.1", "6b1f8609d947ae2a74da5bba8aee938c94348634e54e5625eef622ca0bbbb062", [:mix], [{:hpax, "~> 1.0", [hex: :hpax, repo: "hexpm", optional: false]}, {:plug, "~> 1.18", [hex: :plug, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}, {:thousand_island, "~> 1.0", [hex: :thousand_island, repo: "hexpm", optional: false]}, {:websock, "~> 0.5", [hex: :websock, repo: "hexpm", optional: false]}], "hexpm", "4b4c35f273030e44268ace53bf3d5991dfc385c77374244e2f960876547671aa"},
|
||||
"bcrypt_elixir": {:hex, :bcrypt_elixir, "3.3.2", "d50091e3c9492d73e17fc1e1619a9b09d6a5ef99160eb4d736926fd475a16ca3", [:make, :mix], [{:comeonin, "~> 5.3", [hex: :comeonin, repo: "hexpm", optional: false]}, {:elixir_make, "~> 0.6", [hex: :elixir_make, repo: "hexpm", optional: false]}], "hexpm", "471be5151874ae7931911057d1467d908955f93554f7a6cd1b7d804cac8cef53"},
|
||||
"bunt": {:hex, :bunt, "1.0.0", "081c2c665f086849e6d57900292b3a161727ab40431219529f13c4ddcf3e7a44", [:mix], [], "hexpm", "dc5f86aa08a5f6fa6b8096f0735c4e76d54ae5c9fa2c143e5a1fc7c1cd9bb6b5"},
|
||||
"cc_precompiler": {:hex, :cc_precompiler, "0.1.11", "8c844d0b9fb98a3edea067f94f616b3f6b29b959b6b3bf25fee94ffe34364768", [:mix], [{:elixir_make, "~> 0.7", [hex: :elixir_make, repo: "hexpm", optional: false]}], "hexpm", "3427232caf0835f94680e5bcf082408a70b48ad68a5f5c0b02a3bea9f3a075b9"},
|
||||
|
|
@ -45,12 +45,12 @@
|
|||
"plug": {:hex, :plug, "1.19.1", "09bac17ae7a001a68ae393658aa23c7e38782be5c5c00c80be82901262c394c0", [:mix], [{:mime, "~> 1.0 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:plug_crypto, "~> 1.1.1 or ~> 1.2 or ~> 2.0", [hex: :plug_crypto, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4.3 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "560a0017a8f6d5d30146916862aaf9300b7280063651dd7e532b8be168511e62"},
|
||||
"plug_crypto": {:hex, :plug_crypto, "2.1.1", "19bda8184399cb24afa10be734f84a16ea0a2bc65054e23a62bb10f06bc89491", [:mix], [], "hexpm", "6470bce6ffe41c8bd497612ffde1a7e4af67f36a15eea5f921af71cf3e11247c"},
|
||||
"postgrex": {:hex, :postgrex, "0.21.1", "2c5cc830ec11e7a0067dd4d623c049b3ef807e9507a424985b8dcf921224cd88", [:mix], [{:db_connection, "~> 2.1", [hex: :db_connection, repo: "hexpm", optional: false]}, {:decimal, "~> 1.5 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:table, "~> 0.1.0", [hex: :table, repo: "hexpm", optional: true]}], "hexpm", "27d8d21c103c3cc68851b533ff99eef353e6a0ff98dc444ea751de43eb48bdac"},
|
||||
"req": {:hex, :req, "0.5.16", "99ba6a36b014458e52a8b9a0543bfa752cb0344b2a9d756651db1281d4ba4450", [:mix], [{:brotli, "~> 0.3.1", [hex: :brotli, repo: "hexpm", optional: true]}, {:ezstd, "~> 1.0", [hex: :ezstd, repo: "hexpm", optional: true]}, {:finch, "~> 0.17", [hex: :finch, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}, {:mime, "~> 2.0.6 or ~> 2.1", [hex: :mime, repo: "hexpm", optional: false]}, {:nimble_csv, "~> 1.0", [hex: :nimble_csv, repo: "hexpm", optional: true]}, {:plug, "~> 1.0", [hex: :plug, repo: "hexpm", optional: true]}], "hexpm", "974a7a27982b9b791df84e8f6687d21483795882a7840e8309abdbe08bb06f09"},
|
||||
"req": {:hex, :req, "0.5.17", "0096ddd5b0ed6f576a03dde4b158a0c727215b15d2795e59e0916c6971066ede", [:mix], [{:brotli, "~> 0.3.1", [hex: :brotli, repo: "hexpm", optional: true]}, {:ezstd, "~> 1.0", [hex: :ezstd, repo: "hexpm", optional: true]}, {:finch, "~> 0.17", [hex: :finch, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}, {:mime, "~> 2.0.6 or ~> 2.1", [hex: :mime, repo: "hexpm", optional: false]}, {:nimble_csv, "~> 1.0", [hex: :nimble_csv, repo: "hexpm", optional: true]}, {:plug, "~> 1.0", [hex: :plug, repo: "hexpm", optional: true]}], "hexpm", "0b8bc6ffdfebbc07968e59d3ff96d52f2202d0536f10fef4dc11dc02a2a43e39"},
|
||||
"snmpkit": {:hex, :snmpkit, "1.3.19", "b09c38cea619a0a67d4fb0f3bfa3b9b749d42c400c2e7bd9446fef82f0d728a7", [:mix], [{:jason, "~> 1.4", [hex: :jason, repo: "hexpm", optional: false]}, {:telemetry, "~> 1.0", [hex: :telemetry, repo: "hexpm", optional: true]}, {:yaml_elixir, "~> 2.9", [hex: :yaml_elixir, repo: "hexpm", optional: true]}], "hexpm", "b05c1f3911204c4d781234187a6f1350c369fcffe2058a85b49735b1259eb973"},
|
||||
"sobelow": {:hex, :sobelow, "0.14.1", "2f81e8632f15574cba2402bcddff5497b413c01e6f094bc0ab94e83c2f74db81", [:mix], [{:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "8fac9a2bd90fdc4b15d6fca6e1608efb7f7c600fa75800813b794ee9364c87f2"},
|
||||
"stream_data": {:hex, :stream_data, "1.2.0", "58dd3f9e88afe27dc38bef26fce0c84a9e7a96772b2925c7b32cd2435697a52b", [:mix], [], "hexpm", "eb5c546ee3466920314643edf68943a5b14b32d1da9fe01698dc92b73f89a9ed"},
|
||||
"styler": {:hex, :styler, "1.10.0", "343f1f7bb19a8893c2841a9ae90665b68d2edf6cc37b964a5099e60c78815c2e", [:mix], [], "hexpm", "6a78876611869466139e63722df4cbbb56b18a842d88c19f23ca844d914ad91a"},
|
||||
"swoosh": {:hex, :swoosh, "1.19.9", "4eb2c471b8cf06adbdcaa1d57a0ad53c0ed9348ce8586a06cc491f9f0dbcb553", [:mix], [{:bandit, ">= 1.0.0", [hex: :bandit, repo: "hexpm", optional: true]}, {:cowboy, "~> 1.1 or ~> 2.4", [hex: :cowboy, repo: "hexpm", optional: true]}, {:ex_aws, "~> 2.1", [hex: :ex_aws, repo: "hexpm", optional: true]}, {:finch, "~> 0.6", [hex: :finch, repo: "hexpm", optional: true]}, {:gen_smtp, "~> 0.13 or ~> 1.0", [hex: :gen_smtp, repo: "hexpm", optional: true]}, {:hackney, "~> 1.9", [hex: :hackney, repo: "hexpm", optional: true]}, {:idna, "~> 6.0", [hex: :idna, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}, {:mail, "~> 0.2", [hex: :mail, repo: "hexpm", optional: true]}, {:mime, "~> 1.1 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:mua, "~> 0.2.3", [hex: :mua, repo: "hexpm", optional: true]}, {:multipart, "~> 0.4", [hex: :multipart, repo: "hexpm", optional: true]}, {:plug, "~> 1.9", [hex: :plug, repo: "hexpm", optional: true]}, {:plug_cowboy, ">= 1.0.0", [hex: :plug_cowboy, repo: "hexpm", optional: true]}, {:req, "~> 0.5.10 or ~> 0.6 or ~> 1.0", [hex: :req, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4.2 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "516898263a64925c31723c56bc7999a26e97b04e869707f681f4c9bca7ee1688"},
|
||||
"swoosh": {:hex, :swoosh, "1.20.0", "b04134c2b302da74c3a95ca4ddde191e4854d2847d6687783fecb023a9647598", [:mix], [{:bandit, ">= 1.0.0", [hex: :bandit, repo: "hexpm", optional: true]}, {:cowboy, "~> 1.1 or ~> 2.4", [hex: :cowboy, repo: "hexpm", optional: true]}, {:ex_aws, "~> 2.1", [hex: :ex_aws, repo: "hexpm", optional: true]}, {:finch, "~> 0.6", [hex: :finch, repo: "hexpm", optional: true]}, {:gen_smtp, "~> 0.13 or ~> 1.0", [hex: :gen_smtp, repo: "hexpm", optional: true]}, {:hackney, "~> 1.9", [hex: :hackney, repo: "hexpm", optional: true]}, {:idna, "~> 6.0", [hex: :idna, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}, {:mail, "~> 0.2", [hex: :mail, repo: "hexpm", optional: true]}, {:mime, "~> 1.1 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:mua, "~> 0.2.3", [hex: :mua, repo: "hexpm", optional: true]}, {:multipart, "~> 0.4", [hex: :multipart, repo: "hexpm", optional: true]}, {:plug, "~> 1.9", [hex: :plug, repo: "hexpm", optional: true]}, {:plug_cowboy, ">= 1.0.0", [hex: :plug_cowboy, repo: "hexpm", optional: true]}, {:req, "~> 0.5.10 or ~> 0.6 or ~> 1.0", [hex: :req, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4.2 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "13e610f709bae54851d68afb6862882aa646e5c974bf49e3bf5edd84a73cf213"},
|
||||
"table_rex": {:hex, :table_rex, "4.1.0", "fbaa8b1ce154c9772012bf445bfb86b587430fb96f3b12022d3f35ee4a68c918", [:mix], [], "hexpm", "95932701df195d43bc2d1c6531178fc8338aa8f38c80f098504d529c43bc2601"},
|
||||
"tailwind": {:hex, :tailwind, "0.4.1", "e7bcc222fe96a1e55f948e76d13dd84a1a7653fb051d2a167135db3b4b08d3e9", [:mix], [], "hexpm", "6249d4f9819052911120dbdbe9e532e6bd64ea23476056adb7f730aa25c220d1"},
|
||||
"telemetry": {:hex, :telemetry, "1.3.0", "fedebbae410d715cf8e7062c96a1ef32ec22e764197f70cda73d82778d61e7a2", [:rebar3], [], "hexpm", "7015fc8919dbe63764f4b4b87a95b7c0996bd539e0d499be6ec9d7f3875b79e6"},
|
||||
|
|
|
|||
56
priv/mibs/README.md
Normal file
56
priv/mibs/README.md
Normal file
|
|
@ -0,0 +1,56 @@
|
|||
# SNMP MIB Files
|
||||
|
||||
This directory contains SNMP MIB (Management Information Base) files used by Towerops for network device monitoring.
|
||||
|
||||
## Directory Structure
|
||||
|
||||
- `standard/` - Standard IETF/IANA MIBs (IF-MIB, ENTITY-MIB, etc.)
|
||||
- `cisco/` - Cisco vendor-specific MIBs
|
||||
- `mikrotik/` - MikroTik vendor-specific MIBs
|
||||
- `net-snmp/` - Net-SNMP specific MIBs (LM-SENSORS, UCD-SNMP)
|
||||
|
||||
## Source
|
||||
|
||||
MIB files are sourced from the [LibreNMS project](https://github.com/librenms/librenms/tree/master/mibs), which maintains a comprehensive collection of vendor MIBs.
|
||||
|
||||
## Purpose
|
||||
|
||||
These MIB files serve as:
|
||||
|
||||
1. **Reference Documentation** - Authoritative source for OID definitions
|
||||
2. **Validation** - Tests verify that hardcoded OIDs in profile modules match MIB definitions
|
||||
3. **Discovery** - Can be browsed to understand available SNMP objects
|
||||
|
||||
## Usage in Code
|
||||
|
||||
Profile modules (e.g., `Towerops.Snmp.Profiles.Cisco`) contain hardcoded OID strings for performance. These are validated against MIB files during testing to ensure accuracy.
|
||||
|
||||
Example from `Towerops.Snmp.Profiles.Base`:
|
||||
|
||||
```elixir
|
||||
@interface_oids %{
|
||||
if_index: "1.3.6.1.2.1.2.2.1.1", # Validated against IF-MIB
|
||||
if_descr: "1.3.6.1.2.1.2.2.1.2" # Validated against IF-MIB
|
||||
}
|
||||
```
|
||||
|
||||
## Adding New MIBs
|
||||
|
||||
To add support for a new vendor:
|
||||
|
||||
1. Create a directory: `priv/mibs/vendor_name/`
|
||||
2. Download MIB files from LibreNMS or vendor
|
||||
3. Add OID references in the appropriate profile module
|
||||
4. Tests will automatically validate against the new MIBs
|
||||
|
||||
## MIB File Format
|
||||
|
||||
MIB files use ASN.1 (Abstract Syntax Notation One) format, which defines:
|
||||
- Object identifiers (OIDs)
|
||||
- Data types
|
||||
- Access levels
|
||||
- Descriptions
|
||||
|
||||
## Testing
|
||||
|
||||
See `test/towerops/snmp/mib_validation_test.exs` for OID validation tests.
|
||||
943
priv/mibs/cisco/CISCO-ENTITY-SENSOR-MIB
Normal file
943
priv/mibs/cisco/CISCO-ENTITY-SENSOR-MIB
Normal file
|
|
@ -0,0 +1,943 @@
|
|||
-- *****************************************************************
|
||||
-- CISCO-ENTITY-SENSOR-MIB
|
||||
--
|
||||
-- November 1997, Cliff L. Sojourner
|
||||
--
|
||||
-- Copyright (c) 1998-2003-2006, 2013, 2015 by cisco Systems Inc.
|
||||
-- All rights reserved.
|
||||
-- *****************************************************************
|
||||
|
||||
CISCO-ENTITY-SENSOR-MIB DEFINITIONS ::= BEGIN
|
||||
|
||||
IMPORTS
|
||||
MODULE-IDENTITY,
|
||||
OBJECT-TYPE,
|
||||
NOTIFICATION-TYPE,
|
||||
Integer32
|
||||
FROM SNMPv2-SMI
|
||||
MODULE-COMPLIANCE,
|
||||
OBJECT-GROUP,
|
||||
NOTIFICATION-GROUP
|
||||
FROM SNMPv2-CONF
|
||||
TEXTUAL-CONVENTION,
|
||||
TimeStamp,
|
||||
TruthValue
|
||||
FROM SNMPv2-TC
|
||||
entPhysicalIndex
|
||||
FROM ENTITY-MIB
|
||||
EntPhysicalIndexOrZero
|
||||
FROM CISCO-TC
|
||||
ciscoMgmt
|
||||
FROM CISCO-SMI;
|
||||
|
||||
|
||||
ciscoEntitySensorMIB MODULE-IDENTITY
|
||||
LAST-UPDATED "201501150000Z"
|
||||
ORGANIZATION "Cisco Systems, Inc."
|
||||
CONTACT-INFO
|
||||
"Postal: Cisco Systems, Inc.
|
||||
170 West Tasman Drive
|
||||
San Jose, CA 95134-1706
|
||||
USA
|
||||
|
||||
Tel: +1 408 526 4000
|
||||
|
||||
E-mail: cs-snmp@cisco.com"
|
||||
DESCRIPTION
|
||||
"The CISCO-ENTITY-SENSOR-MIB is used to monitor
|
||||
the values of sensors in the Entity-MIB (RFC 2037)
|
||||
entPhysicalTable."
|
||||
REVISION "201501150000Z"
|
||||
DESCRIPTION
|
||||
"Corrected the definition of entSensorPrecision."
|
||||
REVISION "201309210000Z"
|
||||
DESCRIPTION
|
||||
"Added entSensorThresholdRecoveryNotification to
|
||||
entitySensorMIBNotifications.
|
||||
Added entSensorThresholdSeverity as a varbind
|
||||
object to entSensorThresholdNotification.
|
||||
Added entitySensorNotificationGroup
|
||||
and deprecated
|
||||
entitySensorThresholdNotificationGroup.
|
||||
Added entSensorThresholdNotification and
|
||||
entSensorThresholdRecoveryNotification to
|
||||
entitySensorNotificationGroup.
|
||||
Added entitySensorMIBComplianceV05 and
|
||||
deprecated entitySensorMIBComplianceV04."
|
||||
REVISION "200711120000Z"
|
||||
DESCRIPTION
|
||||
"Added entitySensorNotifCtrlGlobalGroup."
|
||||
REVISION "200601010000Z"
|
||||
DESCRIPTION
|
||||
"Add new object entSensorMeasuredEntity to
|
||||
entSensorValueTable."
|
||||
REVISION "200509080000Z"
|
||||
DESCRIPTION
|
||||
"Change the module descriptor name from entitySensorMIB
|
||||
to ciscoEntitySensorMIB since ENTITY-SENSOR-MIB also
|
||||
uses the same name and there is a conflict."
|
||||
REVISION "200301070000Z"
|
||||
DESCRIPTION
|
||||
"[1] Add dBm(14) in SensorDataType."
|
||||
REVISION "200210160000Z"
|
||||
DESCRIPTION
|
||||
"[1] Add critical(30) in CSensorThresholdSeverity.
|
||||
[2] Change to MAX-ACCESS read-write for 3 objects.
|
||||
[3] Add entitySensorMIBComplianceV02."
|
||||
REVISION "200006200000Z"
|
||||
DESCRIPTION
|
||||
"Initial version of this MIB module."
|
||||
::= { ciscoMgmt 91 }
|
||||
|
||||
|
||||
entitySensorMIBObjects OBJECT IDENTIFIER
|
||||
::= { ciscoEntitySensorMIB 1 }
|
||||
|
||||
entitySensorMIBNotificationPrefix OBJECT IDENTIFIER
|
||||
::= { ciscoEntitySensorMIB 2 }
|
||||
|
||||
entitySensorMIBConformance OBJECT IDENTIFIER
|
||||
::= { ciscoEntitySensorMIB 3 }
|
||||
|
||||
|
||||
-- textual conventions
|
||||
|
||||
SensorDataType ::= TEXTUAL-CONVENTION
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"sensor measurement data types. valid values are:
|
||||
other(1): a measure other than those listed below
|
||||
unknown(2): unknown measurement, or
|
||||
arbitrary, relative numbers
|
||||
voltsAC(3): electric potential
|
||||
voltsDC(4): electric potential
|
||||
amperes(5): electric current
|
||||
watts(6): power
|
||||
hertz(7): frequency
|
||||
celsius(8): temperature
|
||||
percentRH(9): percent relative humidity
|
||||
rpm(10): shaft revolutions per minute
|
||||
cmm(11),: cubic meters per minute (airflow)
|
||||
truthvalue(12): value takes { true(1), false(2) }
|
||||
specialEnum(13): value takes user defined enumerated values
|
||||
dBm(14): dB relative to 1mW of power"
|
||||
SYNTAX INTEGER {
|
||||
other(1),
|
||||
unknown(2),
|
||||
voltsAC(3),
|
||||
voltsDC(4),
|
||||
amperes(5),
|
||||
watts(6),
|
||||
hertz(7),
|
||||
celsius(8),
|
||||
percentRH(9),
|
||||
rpm(10),
|
||||
cmm(11),
|
||||
truthvalue(12),
|
||||
specialEnum(13),
|
||||
dBm(14)
|
||||
}
|
||||
|
||||
SensorDataScale ::= TEXTUAL-CONVENTION
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"International System of Units (SI) prefixes."
|
||||
SYNTAX INTEGER {
|
||||
yocto(1), -- 10^-24
|
||||
zepto(2), -- 10^-21
|
||||
atto(3), -- 10^-18
|
||||
femto(4), -- 10^-15
|
||||
pico(5), -- 10^-12
|
||||
nano(6), -- 10^-9
|
||||
micro(7), -- 10^-6
|
||||
milli(8), -- 10^-3
|
||||
units(9), -- 10^0
|
||||
kilo(10), -- 10^3
|
||||
mega(11), -- 10^6
|
||||
giga(12), -- 10^9
|
||||
tera(13), -- 10^12
|
||||
exa(14), -- 10^15
|
||||
peta(15), -- 10^18
|
||||
zetta(16), -- 10^21
|
||||
yotta(17) -- 10^24
|
||||
}
|
||||
|
||||
SensorPrecision ::= TEXTUAL-CONVENTION
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"When in the range 1 to 9, SensorPrecision is the number
|
||||
of decimal places in the fractional part of
|
||||
a SensorValue fixed-point number. When in the range -8 to
|
||||
-1, SensorPrecision is the number of accurate digits in
|
||||
a SensorValue fixed-point number.
|
||||
|
||||
SensorPrecision is 0 for non-fixed-point numbers.
|
||||
|
||||
Agent implementors must choose a value for SensorPrecision
|
||||
so that the precision and accuracy of a SensorValue is
|
||||
correctly indicated.
|
||||
|
||||
For example, a temperature sensor that can measure 0o to
|
||||
100o C in 0.1o increments, +/- 0.05o, would have a
|
||||
SensorPrecision of 1, a SensorDataScale of units(0), and a
|
||||
SensorValue ranging from 0 to 1000.
|
||||
The SensorValue would be interpreted as (degrees C * 10).
|
||||
|
||||
If that temperature sensor's precision were 0.1o but its
|
||||
accuracy were only +/- 0.5o, then the SensorPrecision would
|
||||
be 0. The SensorValue would be interpreted as degrees C.
|
||||
|
||||
Another example: a fan rotation speed sensor that measures RPM
|
||||
from 0 to 10,000 in 100 RPM increments, with an accuracy of
|
||||
+50/-37 RPM, would have a SensorPrecision of -2, a
|
||||
SensorDataScale of units(9), and a SensorValue ranging from 0
|
||||
to 10000. The 10s and 1s digits of SensorValue would always
|
||||
be 0."
|
||||
SYNTAX INTEGER (-8..9)
|
||||
|
||||
SensorValue ::= TEXTUAL-CONVENTION
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"For sensors that measure voltsAC, voltsDC,
|
||||
amperes, watts, hertz, celsius, cmm
|
||||
this item is a fixed point number ranging from
|
||||
-999,999,999 to +999,999,999. Use the value
|
||||
-1000000000 to indicate underflow. Use the value
|
||||
+1000000000 to indicate overflow. Use SensorPrecision
|
||||
to indicate how many fractional digits the SensorValue
|
||||
has.
|
||||
|
||||
|
||||
For sensors that measure percentRH, this item
|
||||
is a number ranging from 0 to 100.
|
||||
|
||||
For sensors that measure rpm, this item
|
||||
can take only nonnegative values, 0..999999999.
|
||||
|
||||
For sensors of type truthvalue, this item
|
||||
can take only two values: true(1), false(2).
|
||||
|
||||
For sensors of type specialEnum, this item
|
||||
can take any value in the range (-1000000000..1000000000),
|
||||
but the meaning of each value is specific to the
|
||||
sensor.
|
||||
|
||||
For sensors of type other and unknown,
|
||||
this item can take any value in the range
|
||||
(-1000000000..1000000000), but the meaning of the values
|
||||
are specific to the sensor.
|
||||
|
||||
Use Entity-MIB entPhysicalTable.entPhysicalVendorType
|
||||
to learn about the sensor type."
|
||||
SYNTAX INTEGER (-1000000000..1000000000)
|
||||
|
||||
SensorStatus ::= TEXTUAL-CONVENTION
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"Indicates the operational status of the sensor.
|
||||
|
||||
ok(1) means the agent can read the sensor
|
||||
value.
|
||||
|
||||
unavailable(2) means that the agent presently
|
||||
can not report the sensor value.
|
||||
|
||||
nonoperational(3) means that the agent believes
|
||||
the sensor is broken. The sensor could have a
|
||||
hard failure (disconnected wire), or a soft failure
|
||||
such as out-of-range, jittery, or wildly fluctuating
|
||||
readings."
|
||||
SYNTAX INTEGER {
|
||||
ok(1),
|
||||
unavailable(2),
|
||||
nonoperational(3)
|
||||
}
|
||||
|
||||
SensorValueUpdateRate ::= TEXTUAL-CONVENTION
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"Indicates the interval in seconds between updates to the
|
||||
sensor's value.
|
||||
|
||||
The value zero indicates:
|
||||
- the sensor value is updated on demand (when polled by the
|
||||
agent for a get-request),
|
||||
- or when the sensor value changes (event-driven),
|
||||
- or the agent does not know the rate"
|
||||
SYNTAX INTEGER (0..999999999)
|
||||
|
||||
SensorThresholdSeverity ::= TEXTUAL-CONVENTION
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"sensor threshold severity. Valid values are:
|
||||
|
||||
other(1) : a severity other than those listed below.
|
||||
minor(10) : Minor Problem threshold.
|
||||
major(20) : Major Problem threshold.
|
||||
critical(30): Critical problem threshold. A system might shut
|
||||
down the sensor associated FRU automatically if
|
||||
the sensor value reach the critical problem
|
||||
threshold."
|
||||
SYNTAX INTEGER {
|
||||
other(1),
|
||||
minor(10),
|
||||
major(20),
|
||||
critical(30)
|
||||
}
|
||||
|
||||
SensorThresholdRelation ::= TEXTUAL-CONVENTION
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"sensor threshold relational operator types. valid values are:
|
||||
|
||||
lessThan(1): if the sensor value is less than
|
||||
the threshold value
|
||||
lessOrEqual(2): if the sensor value is less than or equal to
|
||||
the threshold value
|
||||
greaterThan(3): if the sensor value is greater than
|
||||
the threshold value
|
||||
greaterOrEqual(4): if the sensor value is greater than or equal
|
||||
to the threshold value
|
||||
equalTo(5): if the sensor value is equal to
|
||||
the threshold value
|
||||
notEqualTo(6): if the sensor value is not equal to
|
||||
the threshold value"
|
||||
SYNTAX INTEGER {
|
||||
lessThan(1),
|
||||
lessOrEqual(2),
|
||||
greaterThan(3),
|
||||
greaterOrEqual(4),
|
||||
equalTo(5),
|
||||
notEqualTo(6)
|
||||
}
|
||||
-- MIB variables
|
||||
|
||||
entSensorValues OBJECT IDENTIFIER
|
||||
::= { entitySensorMIBObjects 1 }
|
||||
|
||||
entSensorThresholds OBJECT IDENTIFIER
|
||||
::= { entitySensorMIBObjects 2 }
|
||||
|
||||
entSensorGlobalObjects OBJECT IDENTIFIER
|
||||
::= { entitySensorMIBObjects 3 }
|
||||
|
||||
-- entSensorValueTable
|
||||
|
||||
entSensorValueTable OBJECT-TYPE
|
||||
SYNTAX SEQUENCE OF EntSensorValueEntry
|
||||
MAX-ACCESS not-accessible
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"This table lists the type, scale, and present value
|
||||
of a sensor listed in the Entity-MIB entPhysicalTable."
|
||||
::= { entSensorValues 1 }
|
||||
|
||||
entSensorValueEntry OBJECT-TYPE
|
||||
SYNTAX EntSensorValueEntry
|
||||
MAX-ACCESS not-accessible
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"An entSensorValueTable entry describes the
|
||||
present reading of a sensor, the measurement units
|
||||
and scale, and sensor operational status."
|
||||
INDEX { entPhysicalIndex }
|
||||
::= { entSensorValueTable 1 }
|
||||
|
||||
EntSensorValueEntry ::= SEQUENCE {
|
||||
entSensorType SensorDataType,
|
||||
entSensorScale SensorDataScale,
|
||||
entSensorPrecision SensorPrecision,
|
||||
entSensorValue SensorValue,
|
||||
entSensorStatus SensorStatus,
|
||||
entSensorValueTimeStamp TimeStamp,
|
||||
entSensorValueUpdateRate SensorValueUpdateRate,
|
||||
entSensorMeasuredEntity EntPhysicalIndexOrZero
|
||||
}
|
||||
|
||||
entSensorType OBJECT-TYPE
|
||||
SYNTAX SensorDataType
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"This variable indicates the type of data
|
||||
reported by the entSensorValue.
|
||||
|
||||
This variable is set by the agent at start-up
|
||||
and the value does not change during operation."
|
||||
::= { entSensorValueEntry 1 }
|
||||
|
||||
entSensorScale OBJECT-TYPE
|
||||
SYNTAX SensorDataScale
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"This variable indicates the exponent to apply
|
||||
to sensor values reported by entSensorValue.
|
||||
|
||||
This variable is set by the agent at start-up
|
||||
and the value does not change during operation."
|
||||
::= { entSensorValueEntry 2 }
|
||||
|
||||
entSensorPrecision OBJECT-TYPE
|
||||
SYNTAX SensorPrecision
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"This variable indicates the number of decimal
|
||||
places of precision in fixed-point
|
||||
sensor values reported by entSensorValue.
|
||||
|
||||
This variable is set to 0 when entSensorType
|
||||
is not a fixed-point type: e.g.'percentRH(9)',
|
||||
'rpm(10)', 'cmm(11)', or 'truthvalue(12)'.
|
||||
|
||||
This variable is set by the agent at start-up
|
||||
and the value does not change during operation."
|
||||
::= { entSensorValueEntry 3 }
|
||||
|
||||
entSensorValue OBJECT-TYPE
|
||||
SYNTAX SensorValue
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"This variable reports the most recent measurement seen
|
||||
by the sensor.
|
||||
|
||||
To correctly display or interpret this variable's value,
|
||||
you must also know entSensorType, entSensorScale, and
|
||||
entSensorPrecision.
|
||||
|
||||
However, you can compare entSensorValue with the threshold
|
||||
values given in entSensorThresholdTable without any semantic
|
||||
knowledge."
|
||||
::= { entSensorValueEntry 4 }
|
||||
|
||||
entSensorStatus OBJECT-TYPE
|
||||
SYNTAX SensorStatus
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"This variable indicates the present operational status
|
||||
of the sensor."
|
||||
::= { entSensorValueEntry 5 }
|
||||
|
||||
entSensorValueTimeStamp OBJECT-TYPE
|
||||
SYNTAX TimeStamp
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"This variable indicates the age of the value reported by
|
||||
entSensorValue"
|
||||
::= { entSensorValueEntry 6 }
|
||||
|
||||
entSensorValueUpdateRate OBJECT-TYPE
|
||||
SYNTAX SensorValueUpdateRate
|
||||
UNITS "seconds"
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"This variable indicates the rate that the agent
|
||||
updates entSensorValue."
|
||||
::= { entSensorValueEntry 7 }
|
||||
|
||||
entSensorMeasuredEntity OBJECT-TYPE
|
||||
SYNTAX EntPhysicalIndexOrZero
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"This object identifies the physical entity for which the
|
||||
sensor is taking measurements. For example, for a sensor
|
||||
measuring the voltage output of a power-supply, this object
|
||||
would be the entPhysicalIndex of that power-supply; for a sensor
|
||||
measuring the temperature inside one chassis of a multi-chassis
|
||||
system, this object would be the enPhysicalIndex of that
|
||||
chassis.
|
||||
|
||||
This object has a value of zero when the physical entity
|
||||
for which the sensor is taking measurements can not be
|
||||
represented by any one row in the entPhysicalTable, or that
|
||||
there is no such physical entity."
|
||||
::= { entSensorValueEntry 8 }
|
||||
|
||||
|
||||
-- entSensorThresholdTable
|
||||
|
||||
entSensorThresholdTable OBJECT-TYPE
|
||||
SYNTAX SEQUENCE OF EntSensorThresholdEntry
|
||||
MAX-ACCESS not-accessible
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"This table lists the threshold severity, relation, and
|
||||
comparison value, for a sensor listed in the Entity-MIB
|
||||
entPhysicalTable."
|
||||
::= { entSensorThresholds 1 }
|
||||
|
||||
entSensorThresholdEntry OBJECT-TYPE
|
||||
SYNTAX EntSensorThresholdEntry
|
||||
MAX-ACCESS not-accessible
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"An entSensorThresholdTable entry describes the
|
||||
thresholds for a sensor: the threshold severity,
|
||||
the threshold value, the relation, and the
|
||||
evaluation of the threshold.
|
||||
|
||||
Only entities of type sensor(8) are listed in this table.
|
||||
Only pre-configured thresholds are listed in this table.
|
||||
|
||||
Users can create sensor-value monitoring instruments
|
||||
in different ways, such as RMON alarms, Expression-MIB, etc.
|
||||
|
||||
Entries are created by the agent at system startup and
|
||||
FRU insertion. Entries are deleted by the agent at
|
||||
FRU removal."
|
||||
INDEX {
|
||||
entPhysicalIndex,
|
||||
entSensorThresholdIndex
|
||||
}
|
||||
::= { entSensorThresholdTable 1 }
|
||||
|
||||
EntSensorThresholdEntry ::= SEQUENCE {
|
||||
entSensorThresholdIndex Integer32,
|
||||
entSensorThresholdSeverity SensorThresholdSeverity,
|
||||
entSensorThresholdRelation SensorThresholdRelation,
|
||||
entSensorThresholdValue SensorValue,
|
||||
entSensorThresholdEvaluation TruthValue,
|
||||
entSensorThresholdNotificationEnable TruthValue
|
||||
}
|
||||
|
||||
entSensorThresholdIndex OBJECT-TYPE
|
||||
SYNTAX Integer32 (1..99999999)
|
||||
MAX-ACCESS not-accessible
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"An index that uniquely identifies an entry
|
||||
in the entSensorThresholdTable. This index
|
||||
permits the same sensor to have several
|
||||
different thresholds."
|
||||
::= { entSensorThresholdEntry 1 }
|
||||
|
||||
entSensorThresholdSeverity OBJECT-TYPE
|
||||
SYNTAX SensorThresholdSeverity
|
||||
MAX-ACCESS read-write
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"This variable indicates the severity of this threshold."
|
||||
::= { entSensorThresholdEntry 2 }
|
||||
|
||||
entSensorThresholdRelation OBJECT-TYPE
|
||||
SYNTAX SensorThresholdRelation
|
||||
MAX-ACCESS read-write
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"This variable indicates the relation between sensor value
|
||||
(entSensorValue) and threshold value (entSensorThresholdValue),
|
||||
required to trigger the alarm. when evaluating the relation,
|
||||
entSensorValue is on the left of entSensorThresholdRelation,
|
||||
entSensorThresholdValue is on the right.
|
||||
|
||||
in pseudo-code, the evaluation-alarm mechanism is:
|
||||
|
||||
...
|
||||
if (entSensorStatus == ok) then
|
||||
if (evaluate(entSensorValue, entSensorThresholdRelation,
|
||||
entSensorThresholdValue))
|
||||
then
|
||||
if (entSensorThresholdNotificationEnable == true))
|
||||
then
|
||||
raise_alarm(sensor's entPhysicalIndex);
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
..."
|
||||
::= { entSensorThresholdEntry 3 }
|
||||
|
||||
entSensorThresholdValue OBJECT-TYPE
|
||||
SYNTAX SensorValue
|
||||
MAX-ACCESS read-write
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"This variable indicates the value of the threshold.
|
||||
|
||||
To correctly display or interpret this variable's value,
|
||||
you must also know entSensorType, entSensorScale, and
|
||||
entSensorPrecision.
|
||||
|
||||
However, you can directly compare entSensorValue
|
||||
with the threshold values given in entSensorThresholdTable
|
||||
without any semantic knowledge."
|
||||
::= { entSensorThresholdEntry 4 }
|
||||
|
||||
entSensorThresholdEvaluation OBJECT-TYPE
|
||||
SYNTAX TruthValue
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"This variable indicates the result of the most
|
||||
recent evaluation of the threshold. If the threshold
|
||||
condition is true, entSensorThresholdEvaluation
|
||||
is true(1). If the threshold condition is false,
|
||||
entSensorThresholdEvaluation is false(2).
|
||||
|
||||
Thresholds are evaluated at the rate indicated by
|
||||
entSensorValueUpdateRate."
|
||||
::= { entSensorThresholdEntry 5 }
|
||||
|
||||
entSensorThresholdNotificationEnable OBJECT-TYPE
|
||||
SYNTAX TruthValue
|
||||
MAX-ACCESS read-write
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"This variable controls generation of
|
||||
entSensorThresholdNotification for this threshold.
|
||||
|
||||
When this variable is 'true', generation of
|
||||
entSensorThresholdNotification is enabled for this
|
||||
threshold. When this variable is 'false',
|
||||
generation of entSensorThresholdNotification is
|
||||
disabled for this threshold."
|
||||
::= { entSensorThresholdEntry 6 }
|
||||
|
||||
|
||||
|
||||
-- Entity Sensor Global Objects
|
||||
|
||||
entSensorThreshNotifGlobalEnable OBJECT-TYPE
|
||||
SYNTAX TruthValue
|
||||
MAX-ACCESS read-write
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"This variable enables the generation of
|
||||
entSensorThresholdNotification globally
|
||||
on the device. If this object value is
|
||||
'false', then no entSensorThresholdNotification
|
||||
will be generated on this device. If this object
|
||||
value is 'true', then whether a
|
||||
entSensorThresholdNotification for a threshold will
|
||||
be generated or not depends on the instance value of
|
||||
entSensorThresholdNotificationEnable for that
|
||||
threshold."
|
||||
::= { entSensorGlobalObjects 1 }
|
||||
-- notifications
|
||||
|
||||
entitySensorMIBNotifications OBJECT IDENTIFIER
|
||||
::= { entitySensorMIBNotificationPrefix 0 }
|
||||
|
||||
|
||||
entSensorThresholdNotification NOTIFICATION-TYPE
|
||||
OBJECTS {
|
||||
entSensorThresholdValue,
|
||||
entSensorValue,
|
||||
entSensorThresholdSeverity
|
||||
}
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"The notification is generated when
|
||||
the sensor value entSensorValue crosses
|
||||
the threshold value entSensorThresholdValue and
|
||||
the value of entSensorThreshNotifGlobalEnable is true.
|
||||
|
||||
entSensorThresholdSeverity indicates the severity
|
||||
of this threshold.
|
||||
|
||||
The agent implementation guarantees prompt, timely
|
||||
evaluation of threshold and generation of this
|
||||
notification."
|
||||
::= { entitySensorMIBNotifications 1 }
|
||||
|
||||
entSensorThresholdRecoveryNotification NOTIFICATION-TYPE
|
||||
OBJECTS {
|
||||
entSensorValue,
|
||||
entSensorThresholdSeverity,
|
||||
entSensorThresholdValue
|
||||
}
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"This notification is generated
|
||||
as a recovery notification when
|
||||
the sensor value entSensorValue goes below
|
||||
the threshold value entSensorThresholdValue
|
||||
once it has generated entSensorThresholdNotification.
|
||||
The value of entSensorThreshNotifGlobalEnable needs
|
||||
to be true.
|
||||
|
||||
entSensorThresholdSeverity indicates the severity
|
||||
of this threshold.
|
||||
|
||||
The agent implementation guarantees prompt, timely
|
||||
evaluation of threshold and generation of this
|
||||
notification."
|
||||
::= { entitySensorMIBNotifications 2 }
|
||||
-- conformance information
|
||||
|
||||
entitySensorMIBCompliances OBJECT IDENTIFIER
|
||||
::= { entitySensorMIBConformance 1 }
|
||||
|
||||
entitySensorMIBGroups OBJECT IDENTIFIER
|
||||
::= { entitySensorMIBConformance 2 }
|
||||
|
||||
|
||||
-- compliance statements
|
||||
|
||||
entitySensorMIBComplianceV01 MODULE-COMPLIANCE
|
||||
STATUS deprecated
|
||||
DESCRIPTION
|
||||
"An Entity-MIB implementation that lists
|
||||
sensors in its entPhysicalTable must implement
|
||||
this group."
|
||||
MODULE -- this module
|
||||
MANDATORY-GROUPS {
|
||||
entitySensorValueGroup,
|
||||
entitySensorThresholdGroup,
|
||||
entitySensorThresholdNotificationGroup
|
||||
}
|
||||
::= { entitySensorMIBCompliances 1 }
|
||||
|
||||
entitySensorMIBComplianceV02 MODULE-COMPLIANCE
|
||||
STATUS deprecated
|
||||
DESCRIPTION
|
||||
"An Entity-MIB implementation that lists
|
||||
sensors in its entPhysicalTable must implement
|
||||
this group."
|
||||
MODULE -- this module
|
||||
MANDATORY-GROUPS { entitySensorThresholdGroup }
|
||||
|
||||
GROUP entitySensorValueGroup
|
||||
DESCRIPTION
|
||||
"This group is mandatory for the systems which don't
|
||||
support IETF version of ENTITY-SENSOR-MIB."
|
||||
|
||||
GROUP entitySensorThresholdNotificationGroup
|
||||
DESCRIPTION
|
||||
"This group is mandatory for the systems which support
|
||||
entitySensorValueGroup group."
|
||||
|
||||
OBJECT entSensorThresholdSeverity
|
||||
MIN-ACCESS read-only
|
||||
DESCRIPTION
|
||||
"Write access is not required."
|
||||
|
||||
OBJECT entSensorThresholdRelation
|
||||
MIN-ACCESS read-only
|
||||
DESCRIPTION
|
||||
"Write access is not required."
|
||||
|
||||
OBJECT entSensorThresholdValue
|
||||
MIN-ACCESS read-only
|
||||
DESCRIPTION
|
||||
"Write access is not required."
|
||||
::= { entitySensorMIBCompliances 2 }
|
||||
|
||||
entitySensorMIBComplianceV03 MODULE-COMPLIANCE
|
||||
STATUS deprecated
|
||||
DESCRIPTION
|
||||
"An Entity-MIB implementation that lists
|
||||
sensors in its entPhysicalTable must implement
|
||||
this group."
|
||||
MODULE -- this module
|
||||
MANDATORY-GROUPS { entitySensorThresholdGroup }
|
||||
|
||||
GROUP entitySensorValueGroup
|
||||
DESCRIPTION
|
||||
"This group is mandatory for the systems which don't
|
||||
support IETF version of ENTITY-SENSOR-MIB."
|
||||
|
||||
GROUP entitySensorThresholdNotificationGroup
|
||||
DESCRIPTION
|
||||
"This group is mandatory for the systems which support
|
||||
entitySensorValueGroup group."
|
||||
|
||||
GROUP entitySensorValueGroupSup1
|
||||
DESCRIPTION
|
||||
"This group is mandatory for the systems which support
|
||||
the correlation between sensor and its measured
|
||||
physical entity."
|
||||
|
||||
OBJECT entSensorThresholdSeverity
|
||||
MIN-ACCESS read-only
|
||||
DESCRIPTION
|
||||
"Write access is not required."
|
||||
|
||||
OBJECT entSensorThresholdRelation
|
||||
MIN-ACCESS read-only
|
||||
DESCRIPTION
|
||||
"Write access is not required."
|
||||
|
||||
OBJECT entSensorThresholdValue
|
||||
MIN-ACCESS read-only
|
||||
DESCRIPTION
|
||||
"Write access is not required."
|
||||
::= { entitySensorMIBCompliances 3 }
|
||||
|
||||
entitySensorMIBComplianceV04 MODULE-COMPLIANCE
|
||||
STATUS deprecated
|
||||
DESCRIPTION
|
||||
"An Entity-MIB implementation that lists
|
||||
sensors in its entPhysicalTable must implement
|
||||
this group."
|
||||
MODULE -- this module
|
||||
MANDATORY-GROUPS { entitySensorThresholdGroup }
|
||||
|
||||
GROUP entitySensorValueGroup
|
||||
DESCRIPTION
|
||||
"This group is mandatory for the systems which don't
|
||||
support IETF version of ENTITY-SENSOR-MIB."
|
||||
|
||||
GROUP entitySensorThresholdNotificationGroup
|
||||
DESCRIPTION
|
||||
"This group is mandatory for the systems which support
|
||||
entitySensorValueGroup group."
|
||||
|
||||
GROUP entitySensorValueGroupSup1
|
||||
DESCRIPTION
|
||||
"This group is mandatory for the systems which support
|
||||
the correlation between sensor and its measured
|
||||
physical entity."
|
||||
|
||||
GROUP entitySensorNotifCtrlGlobalGroup
|
||||
DESCRIPTION
|
||||
"This group is mandatory for the platforms which support
|
||||
global notification control on
|
||||
entSensorThresholdNotification."
|
||||
|
||||
OBJECT entSensorThresholdSeverity
|
||||
MIN-ACCESS read-only
|
||||
DESCRIPTION
|
||||
"Write access is not required."
|
||||
|
||||
OBJECT entSensorThresholdRelation
|
||||
MIN-ACCESS read-only
|
||||
DESCRIPTION
|
||||
"Write access is not required."
|
||||
|
||||
OBJECT entSensorThresholdValue
|
||||
MIN-ACCESS read-only
|
||||
DESCRIPTION
|
||||
"Write access is not required."
|
||||
::= { entitySensorMIBCompliances 4 }
|
||||
|
||||
entitySensorMIBComplianceV05 MODULE-COMPLIANCE
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"An Entity-MIB implementation that lists
|
||||
sensors in its entPhysicalTable must implement
|
||||
this group."
|
||||
MODULE -- this module
|
||||
MANDATORY-GROUPS { entitySensorThresholdGroup }
|
||||
|
||||
GROUP entitySensorValueGroup
|
||||
DESCRIPTION
|
||||
"This group is mandatory for the systems
|
||||
which don't support IETF version of
|
||||
ENTITY-SENSOR-MIB."
|
||||
|
||||
GROUP entitySensorValueGroupSup1
|
||||
DESCRIPTION
|
||||
"This group is mandatory for the systems
|
||||
which don't support IETF version of
|
||||
ENTITY-SENSOR-MIB."
|
||||
|
||||
GROUP entitySensorNotifCtrlGlobalGroup
|
||||
DESCRIPTION
|
||||
"This group is mandatory for the systems
|
||||
which don't support IETF version of
|
||||
ENTITY-SENSOR-MIB."
|
||||
|
||||
GROUP entitySensorNotificationGroup
|
||||
DESCRIPTION
|
||||
"This group is mandatory for the systems
|
||||
which don't support IETF version of
|
||||
ENTITY-SENSOR-MIB."
|
||||
|
||||
OBJECT entSensorThresholdSeverity
|
||||
MIN-ACCESS read-only
|
||||
DESCRIPTION
|
||||
"Write access is not required."
|
||||
|
||||
OBJECT entSensorThresholdRelation
|
||||
MIN-ACCESS read-only
|
||||
DESCRIPTION
|
||||
"Write access is not required."
|
||||
|
||||
OBJECT entSensorThresholdValue
|
||||
MIN-ACCESS read-only
|
||||
DESCRIPTION
|
||||
"Write access is not required."
|
||||
::= { entitySensorMIBCompliances 5 }
|
||||
|
||||
-- units of conformance
|
||||
|
||||
entitySensorValueGroup OBJECT-GROUP
|
||||
OBJECTS {
|
||||
entSensorType,
|
||||
entSensorScale,
|
||||
entSensorPrecision,
|
||||
entSensorValue,
|
||||
entSensorStatus,
|
||||
entSensorValueTimeStamp,
|
||||
entSensorValueUpdateRate
|
||||
}
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"The collection of objects which are used
|
||||
to describe and monitor values of Entity-MIB
|
||||
entPhysicalTable entries of sensors."
|
||||
::= { entitySensorMIBGroups 1 }
|
||||
|
||||
entitySensorThresholdGroup OBJECT-GROUP
|
||||
OBJECTS {
|
||||
entSensorThresholdSeverity,
|
||||
entSensorThresholdRelation,
|
||||
entSensorThresholdValue,
|
||||
entSensorThresholdEvaluation,
|
||||
entSensorThresholdNotificationEnable
|
||||
}
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"The collection of objects which are used
|
||||
to describe and monitor thresholds for
|
||||
sensors."
|
||||
::= { entitySensorMIBGroups 2 }
|
||||
|
||||
entitySensorThresholdNotificationGroup NOTIFICATION-GROUP
|
||||
NOTIFICATIONS { entSensorThresholdNotification }
|
||||
STATUS deprecated
|
||||
DESCRIPTION
|
||||
"The collection of notifications used for
|
||||
monitoring sensor threshold activity.
|
||||
entitySensorThresholdNotificationGroup
|
||||
object is superseded by
|
||||
entitySensorNotificationGroup."
|
||||
::= { entitySensorMIBGroups 3 }
|
||||
|
||||
entitySensorValueGroupSup1 OBJECT-GROUP
|
||||
OBJECTS { entSensorMeasuredEntity }
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"The collection of objects which are used to describe and track
|
||||
the measured entities of ENTITY-MIB entPhysicalTable."
|
||||
::= { entitySensorMIBGroups 4 }
|
||||
|
||||
entitySensorNotifCtrlGlobalGroup OBJECT-GROUP
|
||||
OBJECTS { entSensorThreshNotifGlobalEnable }
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"The collection of objects which provide the global
|
||||
notification control on entSensorThresholdNotification."
|
||||
::= { entitySensorMIBGroups 5 }
|
||||
|
||||
entitySensorNotificationGroup NOTIFICATION-GROUP
|
||||
NOTIFICATIONS {
|
||||
entSensorThresholdNotification,
|
||||
entSensorThresholdRecoveryNotification
|
||||
}
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"The collection of notifications used for
|
||||
monitoring sensor threshold activity."
|
||||
::= { entitySensorMIBGroups 6 }
|
||||
|
||||
END
|
||||
|
||||
|
||||
|
||||
962
priv/mibs/cisco/CISCO-ENVMON-MIB
Normal file
962
priv/mibs/cisco/CISCO-ENVMON-MIB
Normal file
|
|
@ -0,0 +1,962 @@
|
|||
-- $Id: CISCO-ENVMON-MIB.my,v 3.2.56.4 1996/06/11 19:38:23 snyder Exp $
|
||||
-- $Source: /release/112/cvs/Xsys/MIBS/CISCO-ENVMON-MIB.my,v $
|
||||
-- *****************************************************************
|
||||
-- CISCO-ENVMON-MIB.my: CISCO Environmental Monitor MIB file
|
||||
--
|
||||
-- November 1994 Sandra C. Durham/Jeffrey T. Johnson
|
||||
--
|
||||
-- Copyright (c) 1994-2003, 2004, 2018 by cisco Systems, Inc.
|
||||
-- All rights reserved.
|
||||
--
|
||||
-- *****************************************************************
|
||||
--
|
||||
CISCO-ENVMON-MIB DEFINITIONS ::= BEGIN
|
||||
|
||||
IMPORTS
|
||||
MODULE-IDENTITY,
|
||||
OBJECT-TYPE,
|
||||
NOTIFICATION-TYPE,
|
||||
Gauge32,
|
||||
Integer32
|
||||
FROM SNMPv2-SMI
|
||||
TEXTUAL-CONVENTION,
|
||||
DisplayString,
|
||||
TruthValue
|
||||
FROM SNMPv2-TC
|
||||
MODULE-COMPLIANCE,
|
||||
OBJECT-GROUP,
|
||||
NOTIFICATION-GROUP
|
||||
FROM SNMPv2-CONF
|
||||
ciscoMgmt
|
||||
FROM CISCO-SMI;
|
||||
|
||||
|
||||
ciscoEnvMonMIB MODULE-IDENTITY
|
||||
LAST-UPDATED "201803210000Z"
|
||||
ORGANIZATION "Cisco Systems, Inc."
|
||||
CONTACT-INFO
|
||||
" Cisco Systems
|
||||
Customer Service
|
||||
|
||||
Postal: 170 W Tasman Drive
|
||||
San Jose, CA 95134
|
||||
USA
|
||||
|
||||
Tel: +1 800 553-NETS
|
||||
|
||||
E-mail: cs-snmp@cisco.com"
|
||||
DESCRIPTION
|
||||
"Added an object ciscoEnvMonTemperatureStatusValueRev1 to
|
||||
CiscoEnvMonTemperatureStatusEntry for support of negative temperature"
|
||||
REVISION "201803210000Z"
|
||||
DESCRIPTION
|
||||
"The MIB module to describe the status of the Environmental
|
||||
Monitor on those devices which support one."
|
||||
REVISION "200312010000Z"
|
||||
DESCRIPTION
|
||||
"Added c37xx (13) and other (14) as values for
|
||||
ciscoEnvMonPresent"
|
||||
REVISION "200311250000Z"
|
||||
DESCRIPTION
|
||||
"Added ciscoEnvMonMIBMiscNotifGroup."
|
||||
REVISION "200210150000Z"
|
||||
DESCRIPTION
|
||||
"Added c7600(12) as values for ciscoEnvMonPresent"
|
||||
REVISION "200207170000Z"
|
||||
DESCRIPTION
|
||||
"Added optional groups ciscoEnvMonEnableStatChangeGroup
|
||||
and ciscoEnvMonStatChangeNotifGroup."
|
||||
REVISION "200202040000Z"
|
||||
DESCRIPTION
|
||||
"Added osr7600(11) as values
|
||||
for ciscoEnvMonPresent"
|
||||
REVISION "200108300000Z"
|
||||
DESCRIPTION
|
||||
"Added c10000(10) as values for ciscoEnvMonPresent"
|
||||
REVISION "200108160000Z"
|
||||
DESCRIPTION
|
||||
"Added cat4000(9) as values for ciscoEnvMonPresent"
|
||||
REVISION "200105070000Z"
|
||||
DESCRIPTION
|
||||
"Added cat6000(7),ubr7200(8)
|
||||
as values for ciscoEnvMonPresent"
|
||||
REVISION "200001310000Z"
|
||||
DESCRIPTION
|
||||
"Add notFunctioning to CiscoEnvMonState.
|
||||
"
|
||||
REVISION "9810220000Z"
|
||||
DESCRIPTION
|
||||
"Renamed enumerated value internalRPS(5) as
|
||||
internalRedundant(5) and added description for
|
||||
ciscoEnvMonSupplySource enumerated values.
|
||||
"
|
||||
REVISION "9808050000Z"
|
||||
DESCRIPTION
|
||||
"Add enumerated value internalRPS(5) to
|
||||
ciscoEnvMonSupplySource.
|
||||
"
|
||||
REVISION "9611120000Z"
|
||||
DESCRIPTION
|
||||
"Add monitoring support for c3600 series router"
|
||||
REVISION "9508150000Z"
|
||||
DESCRIPTION
|
||||
"Specify a correct (non-negative) range for several
|
||||
index objects."
|
||||
REVISION "9503130000Z"
|
||||
DESCRIPTION
|
||||
"Miscellaneous changes including monitoring support
|
||||
for c7000 series redundant power supplies."
|
||||
|
||||
::= { ciscoMgmt 13 }
|
||||
|
||||
|
||||
CiscoEnvMonState ::= TEXTUAL-CONVENTION
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"Represents the state of a device being monitored.
|
||||
Valid values are:
|
||||
|
||||
normal(1): the environment is good, such as low
|
||||
temperature.
|
||||
|
||||
warning(2): the environment is bad, such as temperature
|
||||
above normal operation range but not too
|
||||
high.
|
||||
|
||||
critical(3): the environment is very bad, such as
|
||||
temperature much higher than normal
|
||||
operation limit.
|
||||
|
||||
shutdown(4): the environment is the worst, the system
|
||||
should be shutdown immediately.
|
||||
|
||||
notPresent(5): the environmental monitor is not present,
|
||||
such as temperature sensors do not exist.
|
||||
|
||||
notFunctioning(6): the environmental monitor does not
|
||||
function properly, such as a temperature
|
||||
sensor generates a abnormal data like
|
||||
1000 C.
|
||||
"
|
||||
SYNTAX INTEGER {
|
||||
normal(1),
|
||||
warning(2),
|
||||
critical(3),
|
||||
shutdown(4),
|
||||
notPresent(5),
|
||||
notFunctioning(6)
|
||||
}
|
||||
|
||||
CiscoSignedGauge ::= TEXTUAL-CONVENTION
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"Represents the current value of an entity, as a signed
|
||||
integer."
|
||||
SYNTAX Integer32
|
||||
|
||||
ciscoEnvMonObjects OBJECT IDENTIFIER ::= { ciscoEnvMonMIB 1 }
|
||||
|
||||
ciscoEnvMonPresent OBJECT-TYPE
|
||||
SYNTAX INTEGER {
|
||||
oldAgs (1),
|
||||
ags (2),
|
||||
c7000 (3),
|
||||
ci (4),
|
||||
|
||||
cAccessMon (6),
|
||||
cat6000 (7),
|
||||
ubr7200 (8),
|
||||
cat4000 (9),
|
||||
c10000 (10),
|
||||
osr7600(11),
|
||||
c7600(12),
|
||||
c37xx(13),
|
||||
other(14),
|
||||
c7301(15),
|
||||
c7304(16)
|
||||
}
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"The type of environmental monitor located in the chassis.
|
||||
An oldAgs environmental monitor card is identical to an ags
|
||||
environmental card except that it is not capable of supplying
|
||||
data, and hence no instance of the remaining objects in this
|
||||
MIB will be returned in response to an SNMP query. Note that
|
||||
only a firmware upgrade is required to convert an oldAgs into
|
||||
an ags card."
|
||||
::= { ciscoEnvMonObjects 1 }
|
||||
|
||||
|
||||
ciscoEnvMonVoltageStatusTable OBJECT-TYPE
|
||||
SYNTAX SEQUENCE OF CiscoEnvMonVoltageStatusEntry
|
||||
MAX-ACCESS not-accessible
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"The table of voltage status maintained by the environmental
|
||||
monitor."
|
||||
::= { ciscoEnvMonObjects 2 }
|
||||
|
||||
ciscoEnvMonVoltageStatusEntry OBJECT-TYPE
|
||||
SYNTAX CiscoEnvMonVoltageStatusEntry
|
||||
MAX-ACCESS not-accessible
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"An entry in the voltage status table, representing the status
|
||||
of the associated testpoint maintained by the environmental
|
||||
monitor."
|
||||
INDEX { ciscoEnvMonVoltageStatusIndex }
|
||||
::= { ciscoEnvMonVoltageStatusTable 1 }
|
||||
|
||||
CiscoEnvMonVoltageStatusEntry ::=
|
||||
SEQUENCE {
|
||||
ciscoEnvMonVoltageStatusIndex Integer32,
|
||||
ciscoEnvMonVoltageStatusDescr DisplayString,
|
||||
ciscoEnvMonVoltageStatusValue CiscoSignedGauge,
|
||||
ciscoEnvMonVoltageThresholdLow Integer32,
|
||||
ciscoEnvMonVoltageThresholdHigh Integer32,
|
||||
ciscoEnvMonVoltageLastShutdown Integer32,
|
||||
ciscoEnvMonVoltageState CiscoEnvMonState
|
||||
}
|
||||
|
||||
ciscoEnvMonVoltageStatusIndex OBJECT-TYPE
|
||||
SYNTAX Integer32 (0..2147483647)
|
||||
MAX-ACCESS not-accessible
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"Unique index for the testpoint being instrumented.
|
||||
This index is for SNMP purposes only, and has no
|
||||
intrinsic meaning."
|
||||
::= { ciscoEnvMonVoltageStatusEntry 1 }
|
||||
|
||||
ciscoEnvMonVoltageStatusDescr OBJECT-TYPE
|
||||
SYNTAX DisplayString (SIZE (0..32))
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"Textual description of the testpoint being instrumented.
|
||||
This description is a short textual label, suitable as a
|
||||
human-sensible identification for the rest of the
|
||||
information in the entry."
|
||||
::= { ciscoEnvMonVoltageStatusEntry 2 }
|
||||
|
||||
ciscoEnvMonVoltageStatusValue OBJECT-TYPE
|
||||
SYNTAX CiscoSignedGauge
|
||||
UNITS "millivolts"
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"The current measurement of the testpoint being instrumented."
|
||||
::= { ciscoEnvMonVoltageStatusEntry 3 }
|
||||
|
||||
ciscoEnvMonVoltageThresholdLow OBJECT-TYPE
|
||||
SYNTAX Integer32
|
||||
UNITS "millivolts"
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"The lowest value that the associated instance of the object
|
||||
ciscoEnvMonVoltageStatusValue may obtain before an emergency
|
||||
shutdown of the managed device is initiated."
|
||||
::= { ciscoEnvMonVoltageStatusEntry 4 }
|
||||
|
||||
ciscoEnvMonVoltageThresholdHigh OBJECT-TYPE
|
||||
SYNTAX Integer32
|
||||
UNITS "millivolts"
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"The highest value that the associated instance of the object
|
||||
ciscoEnvMonVoltageStatusValue may obtain before an emergency
|
||||
shutdown of the managed device is initiated."
|
||||
::= { ciscoEnvMonVoltageStatusEntry 5 }
|
||||
|
||||
ciscoEnvMonVoltageLastShutdown OBJECT-TYPE
|
||||
SYNTAX Integer32
|
||||
UNITS "millivolts"
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"The value of the associated instance of the object
|
||||
ciscoEnvMonVoltageStatusValue at the time an emergency
|
||||
shutdown of the managed device was last initiated. This
|
||||
value is stored in non-volatile RAM and hence is able to
|
||||
survive the shutdown."
|
||||
::= { ciscoEnvMonVoltageStatusEntry 6 }
|
||||
|
||||
ciscoEnvMonVoltageState OBJECT-TYPE
|
||||
SYNTAX CiscoEnvMonState
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"The current state of the testpoint being instrumented."
|
||||
::= { ciscoEnvMonVoltageStatusEntry 7 }
|
||||
|
||||
|
||||
|
||||
ciscoEnvMonTemperatureStatusTable OBJECT-TYPE
|
||||
SYNTAX SEQUENCE OF CiscoEnvMonTemperatureStatusEntry
|
||||
MAX-ACCESS not-accessible
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"The table of ambient temperature status maintained by the
|
||||
environmental monitor."
|
||||
::= { ciscoEnvMonObjects 3 }
|
||||
|
||||
ciscoEnvMonTemperatureStatusEntry OBJECT-TYPE
|
||||
SYNTAX CiscoEnvMonTemperatureStatusEntry
|
||||
MAX-ACCESS not-accessible
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"An entry in the ambient temperature status table, representing
|
||||
the status of the associated testpoint maintained by the
|
||||
environmental monitor."
|
||||
INDEX { ciscoEnvMonTemperatureStatusIndex }
|
||||
::= { ciscoEnvMonTemperatureStatusTable 1 }
|
||||
|
||||
CiscoEnvMonTemperatureStatusEntry ::=
|
||||
SEQUENCE {
|
||||
ciscoEnvMonTemperatureStatusIndex Integer32,
|
||||
ciscoEnvMonTemperatureStatusDescr DisplayString,
|
||||
ciscoEnvMonTemperatureStatusValue Gauge32,
|
||||
ciscoEnvMonTemperatureThreshold Integer32,
|
||||
ciscoEnvMonTemperatureLastShutdown Integer32,
|
||||
ciscoEnvMonTemperatureState CiscoEnvMonState,
|
||||
ciscoEnvMonTemperatureStatusValueRev1 Integer32
|
||||
}
|
||||
|
||||
|
||||
ciscoEnvMonTemperatureStatusIndex OBJECT-TYPE
|
||||
SYNTAX Integer32 (0..2147483647)
|
||||
MAX-ACCESS not-accessible
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"Unique index for the testpoint being instrumented.
|
||||
This index is for SNMP purposes only, and has no
|
||||
intrinsic meaning."
|
||||
::= { ciscoEnvMonTemperatureStatusEntry 1 }
|
||||
|
||||
ciscoEnvMonTemperatureStatusDescr OBJECT-TYPE
|
||||
SYNTAX DisplayString (SIZE (0..32))
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"Textual description of the testpoint being instrumented.
|
||||
This description is a short textual label, suitable as a
|
||||
human-sensible identification for the rest of the
|
||||
information in the entry."
|
||||
::= { ciscoEnvMonTemperatureStatusEntry 2 }
|
||||
|
||||
ciscoEnvMonTemperatureStatusValue OBJECT-TYPE
|
||||
SYNTAX Gauge32
|
||||
UNITS "degrees Celsius"
|
||||
MAX-ACCESS read-only
|
||||
STATUS deprecated
|
||||
DESCRIPTION
|
||||
"The current measurement of the testpoint being instrumented.
|
||||
The object ciscoEnvMonTemperatureStatusValueRev1 should be
|
||||
used to read the temperature."
|
||||
::= { ciscoEnvMonTemperatureStatusEntry 3 }
|
||||
|
||||
ciscoEnvMonTemperatureThreshold OBJECT-TYPE
|
||||
SYNTAX Integer32
|
||||
UNITS "degrees Celsius"
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"The highest value that the associated instance of the
|
||||
object ciscoEnvMonTemperatureStatusValueRev1 may obtain
|
||||
before an emergency shutdown of the managed device is
|
||||
initiated."
|
||||
::= { ciscoEnvMonTemperatureStatusEntry 4 }
|
||||
|
||||
ciscoEnvMonTemperatureLastShutdown OBJECT-TYPE
|
||||
SYNTAX Integer32
|
||||
UNITS "degrees Celsius"
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"The value of the associated instance of the object
|
||||
ciscoEnvMonTemperatureStatusValueRev1 at the time an emergency
|
||||
shutdown of the managed device was last initiated. This
|
||||
value is stored in non-volatile RAM and hence is able to
|
||||
survive the shutdown."
|
||||
::= { ciscoEnvMonTemperatureStatusEntry 5 }
|
||||
|
||||
ciscoEnvMonTemperatureState OBJECT-TYPE
|
||||
SYNTAX CiscoEnvMonState
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"The current state of the testpoint being instrumented."
|
||||
::= { ciscoEnvMonTemperatureStatusEntry 6 }
|
||||
|
||||
ciscoEnvMonTemperatureStatusValueRev1 OBJECT-TYPE
|
||||
SYNTAX Integer32
|
||||
UNITS "degrees Celsius"
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"The current measurement of the testpoint being instrumented.It also
|
||||
accomodates negative temperature values."
|
||||
::= { ciscoEnvMonTemperatureStatusEntry 7 }
|
||||
|
||||
ciscoEnvMonFanStatusTable OBJECT-TYPE
|
||||
SYNTAX SEQUENCE OF CiscoEnvMonFanStatusEntry
|
||||
MAX-ACCESS not-accessible
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"The table of fan status maintained by the environmental
|
||||
monitor."
|
||||
::= { ciscoEnvMonObjects 4 }
|
||||
|
||||
ciscoEnvMonFanStatusEntry OBJECT-TYPE
|
||||
SYNTAX CiscoEnvMonFanStatusEntry
|
||||
MAX-ACCESS not-accessible
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"An entry in the fan status table, representing the status of
|
||||
the associated fan maintained by the environmental monitor."
|
||||
INDEX { ciscoEnvMonFanStatusIndex }
|
||||
::= { ciscoEnvMonFanStatusTable 1 }
|
||||
|
||||
CiscoEnvMonFanStatusEntry ::=
|
||||
SEQUENCE {
|
||||
ciscoEnvMonFanStatusIndex Integer32,
|
||||
ciscoEnvMonFanStatusDescr DisplayString,
|
||||
ciscoEnvMonFanState CiscoEnvMonState
|
||||
}
|
||||
|
||||
ciscoEnvMonFanStatusIndex OBJECT-TYPE
|
||||
SYNTAX Integer32 (0..2147483647)
|
||||
MAX-ACCESS not-accessible
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"Unique index for the fan being instrumented.
|
||||
This index is for SNMP purposes only, and has no
|
||||
intrinsic meaning."
|
||||
::= { ciscoEnvMonFanStatusEntry 1 }
|
||||
|
||||
ciscoEnvMonFanStatusDescr OBJECT-TYPE
|
||||
SYNTAX DisplayString (SIZE (0..32))
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"Textual description of the fan being instrumented.
|
||||
This description is a short textual label, suitable as a
|
||||
human-sensible identification for the rest of the
|
||||
information in the entry."
|
||||
::= { ciscoEnvMonFanStatusEntry 2 }
|
||||
|
||||
ciscoEnvMonFanState OBJECT-TYPE
|
||||
SYNTAX CiscoEnvMonState
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"The current state of the fan being instrumented."
|
||||
::= { ciscoEnvMonFanStatusEntry 3 }
|
||||
|
||||
|
||||
|
||||
ciscoEnvMonSupplyStatusTable OBJECT-TYPE
|
||||
SYNTAX SEQUENCE OF CiscoEnvMonSupplyStatusEntry
|
||||
MAX-ACCESS not-accessible
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"The table of power supply status maintained by the
|
||||
environmental monitor card."
|
||||
::= { ciscoEnvMonObjects 5 }
|
||||
|
||||
ciscoEnvMonSupplyStatusEntry OBJECT-TYPE
|
||||
SYNTAX CiscoEnvMonSupplyStatusEntry
|
||||
MAX-ACCESS not-accessible
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"An entry in the power supply status table, representing the
|
||||
status of the associated power supply maintained by the
|
||||
environmental monitor card."
|
||||
INDEX { ciscoEnvMonSupplyStatusIndex }
|
||||
::= { ciscoEnvMonSupplyStatusTable 1 }
|
||||
|
||||
CiscoEnvMonSupplyStatusEntry ::=
|
||||
SEQUENCE {
|
||||
ciscoEnvMonSupplyStatusIndex Integer32,
|
||||
ciscoEnvMonSupplyStatusDescr DisplayString,
|
||||
ciscoEnvMonSupplyState CiscoEnvMonState,
|
||||
ciscoEnvMonSupplySource INTEGER
|
||||
}
|
||||
|
||||
ciscoEnvMonSupplyStatusIndex OBJECT-TYPE
|
||||
SYNTAX Integer32 (0..2147483647)
|
||||
MAX-ACCESS not-accessible
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"Unique index for the power supply being instrumented.
|
||||
This index is for SNMP purposes only, and has no
|
||||
intrinsic meaning."
|
||||
::= { ciscoEnvMonSupplyStatusEntry 1 }
|
||||
|
||||
ciscoEnvMonSupplyStatusDescr OBJECT-TYPE
|
||||
SYNTAX DisplayString (SIZE (0..32))
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"Textual description of the power supply being instrumented.
|
||||
This description is a short textual label, suitable as a
|
||||
human-sensible identification for the rest of the
|
||||
information in the entry."
|
||||
::= { ciscoEnvMonSupplyStatusEntry 2 }
|
||||
|
||||
ciscoEnvMonSupplyState OBJECT-TYPE
|
||||
SYNTAX CiscoEnvMonState
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"The current state of the power supply being instrumented."
|
||||
::= { ciscoEnvMonSupplyStatusEntry 3 }
|
||||
|
||||
ciscoEnvMonSupplySource OBJECT-TYPE
|
||||
SYNTAX INTEGER {
|
||||
unknown(1),
|
||||
ac(2),
|
||||
dc(3),
|
||||
externalPowerSupply(4),
|
||||
internalRedundant(5)
|
||||
}
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"The power supply source.
|
||||
unknown - Power supply source unknown
|
||||
ac - AC power supply
|
||||
dc - DC power supply
|
||||
externalPowerSupply - External power supply
|
||||
internalRedundant - Internal redundant power supply
|
||||
"
|
||||
::= { ciscoEnvMonSupplyStatusEntry 4 }
|
||||
|
||||
ciscoEnvMonAlarmContacts OBJECT-TYPE
|
||||
SYNTAX BITS {
|
||||
minorVisual(0),
|
||||
majorVisual(1),
|
||||
criticalVisual(2),
|
||||
minorAudible(3),
|
||||
majorAudible(4),
|
||||
criticalAudible(5),
|
||||
input(6)
|
||||
}
|
||||
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"Each bit is set to reflect the respective
|
||||
alarm being set. The bit will be cleared
|
||||
when the respective alarm is cleared."
|
||||
::= { ciscoEnvMonObjects 6 }
|
||||
|
||||
ciscoEnvMonMIBNotificationEnables OBJECT IDENTIFIER ::= { ciscoEnvMonMIB 2 }
|
||||
|
||||
ciscoEnvMonEnableShutdownNotification OBJECT-TYPE
|
||||
SYNTAX TruthValue
|
||||
MAX-ACCESS read-write
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"This variable indicates whether the system
|
||||
produces the ciscoEnvMonShutdownNotification. A false
|
||||
value will prevent shutdown notifications
|
||||
from being generated by this system."
|
||||
DEFVAL { false }
|
||||
::= { ciscoEnvMonMIBNotificationEnables 1 }
|
||||
|
||||
ciscoEnvMonEnableVoltageNotification OBJECT-TYPE
|
||||
SYNTAX TruthValue
|
||||
MAX-ACCESS read-write
|
||||
STATUS deprecated
|
||||
DESCRIPTION
|
||||
"This variable indicates whether the system
|
||||
produces the ciscoEnvMonVoltageNotification. A false
|
||||
value will prevent voltage notifications from being
|
||||
generated by this system. This object is deprecated
|
||||
in favour of ciscoEnvMonEnableStatChangeNotif."
|
||||
DEFVAL { false }
|
||||
::= { ciscoEnvMonMIBNotificationEnables 2 }
|
||||
|
||||
ciscoEnvMonEnableTemperatureNotification OBJECT-TYPE
|
||||
SYNTAX TruthValue
|
||||
MAX-ACCESS read-write
|
||||
STATUS deprecated
|
||||
DESCRIPTION
|
||||
"This variable indicates whether the system
|
||||
produces the ciscoEnvMonTemperatureNotification.
|
||||
A false value prevents temperature notifications
|
||||
from being sent by this entity. This object is
|
||||
deprecated in favour of
|
||||
ciscoEnvMonEnableStatChangeNotif."
|
||||
DEFVAL { false }
|
||||
::= { ciscoEnvMonMIBNotificationEnables 3 }
|
||||
|
||||
ciscoEnvMonEnableFanNotification OBJECT-TYPE
|
||||
SYNTAX TruthValue
|
||||
MAX-ACCESS read-write
|
||||
STATUS deprecated
|
||||
DESCRIPTION
|
||||
"This variable indicates whether the system
|
||||
produces the ciscoEnvMonFanNotification.
|
||||
A false value prevents fan notifications
|
||||
from being sent by this entity. This object is
|
||||
deprecated in favour of
|
||||
ciscoEnvMonEnableStatChangeNotif."
|
||||
DEFVAL { false }
|
||||
::= { ciscoEnvMonMIBNotificationEnables 4 }
|
||||
|
||||
ciscoEnvMonEnableRedundantSupplyNotification OBJECT-TYPE
|
||||
SYNTAX TruthValue
|
||||
MAX-ACCESS read-write
|
||||
STATUS deprecated
|
||||
DESCRIPTION
|
||||
"This variable indicates whether the system
|
||||
produces the ciscoEnvMonRedundantSupplyNotification.
|
||||
A false value prevents redundant supply notifications
|
||||
from being generated by this system. This object is
|
||||
deprecated in favour of
|
||||
ciscoEnvMonEnableStatChangeNotif."
|
||||
DEFVAL { false }
|
||||
::= { ciscoEnvMonMIBNotificationEnables 5 }
|
||||
|
||||
ciscoEnvMonEnableStatChangeNotif OBJECT-TYPE
|
||||
SYNTAX TruthValue
|
||||
MAX-ACCESS read-write
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"This variable indicates whether the system
|
||||
produces the ciscoEnvMonVoltStatusChangeNotif,
|
||||
ciscoEnvMonTempStatusChangeNotif,
|
||||
ciscoEnvMonFanStatusChangeNotif and
|
||||
ciscoEnvMonSuppStatusChangeNotif. A false value will
|
||||
prevent these notifications from being generated by
|
||||
this system."
|
||||
DEFVAL { false }
|
||||
::= { ciscoEnvMonMIBNotificationEnables 6 }
|
||||
|
||||
-- the following two OBJECT IDENTIFIERS are used to define SNMPv2 Notifications
|
||||
-- that are backward compatible with SNMPv1 Traps.
|
||||
ciscoEnvMonMIBNotificationPrefix OBJECT IDENTIFIER ::= { ciscoEnvMonMIB 3 }
|
||||
ciscoEnvMonMIBNotifications OBJECT IDENTIFIER ::= { ciscoEnvMonMIBNotificationPrefix 0 }
|
||||
|
||||
ciscoEnvMonShutdownNotification NOTIFICATION-TYPE
|
||||
-- no OBJECTS
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"A ciscoEnvMonShutdownNotification is sent if the environmental
|
||||
monitor detects a testpoint reaching a critical state
|
||||
and is about to initiate a shutdown. This notification
|
||||
contains no objects so that it may be encoded and sent in the
|
||||
shortest amount of time possible. Even so, management
|
||||
applications should not rely on receiving such a notification
|
||||
as it may not be sent before the shutdown completes."
|
||||
::= { ciscoEnvMonMIBNotifications 1 }
|
||||
|
||||
|
||||
ciscoEnvMonVoltageNotification NOTIFICATION-TYPE
|
||||
OBJECTS {
|
||||
ciscoEnvMonVoltageStatusDescr,
|
||||
ciscoEnvMonVoltageStatusValue,
|
||||
ciscoEnvMonVoltageState
|
||||
}
|
||||
STATUS deprecated
|
||||
DESCRIPTION
|
||||
"A ciscoEnvMonVoltageNotification is sent if the voltage
|
||||
measured at a given testpoint is outside the normal range
|
||||
for the testpoint (i.e. is at the warning, critical, or
|
||||
shutdown stage). Since such a notification is usually
|
||||
generated before the shutdown state is reached, it can
|
||||
convey more data and has a better chance of being sent
|
||||
than does the ciscoEnvMonShutdownNotification.
|
||||
This notification is deprecated in favour of
|
||||
ciscoEnvMonVoltStatusChangeNotif."
|
||||
::= { ciscoEnvMonMIBNotifications 2 }
|
||||
|
||||
|
||||
ciscoEnvMonTemperatureNotification NOTIFICATION-TYPE
|
||||
OBJECTS {
|
||||
ciscoEnvMonTemperatureStatusDescr,
|
||||
ciscoEnvMonTemperatureStatusValue,
|
||||
ciscoEnvMonTemperatureState,
|
||||
ciscoEnvMonTemperatureStatusValueRev1
|
||||
}
|
||||
STATUS deprecated
|
||||
DESCRIPTION
|
||||
"A ciscoEnvMonTemperatureNotification is sent if the
|
||||
temperature measured at a given testpoint is outside
|
||||
the normal range for the testpoint (i.e. is at the warning,
|
||||
critical, or shutdown stage). Since such a Notification
|
||||
is usually generated before the shutdown state is reached,
|
||||
it can convey more data and has a better chance of being
|
||||
sent than does the ciscoEnvMonShutdownNotification.
|
||||
This notification is deprecated in favour of
|
||||
ciscoEnvMonTempStatusChangeNotif."
|
||||
::= { ciscoEnvMonMIBNotifications 3 }
|
||||
|
||||
|
||||
|
||||
ciscoEnvMonFanNotification NOTIFICATION-TYPE
|
||||
OBJECTS {
|
||||
ciscoEnvMonFanStatusDescr,
|
||||
ciscoEnvMonFanState
|
||||
}
|
||||
STATUS deprecated
|
||||
DESCRIPTION
|
||||
"A ciscoEnvMonFanNotification is sent if any one of
|
||||
the fans in the fan array (where extant) fails.
|
||||
Since such a notification is usually generated before
|
||||
the shutdown state is reached, it can convey more
|
||||
data and has a better chance of being sent
|
||||
than does the ciscoEnvMonShutdownNotification.
|
||||
This notification is deprecated in favour of
|
||||
ciscoEnvMonFanStatusChangeNotif."
|
||||
::= { ciscoEnvMonMIBNotifications 4 }
|
||||
|
||||
ciscoEnvMonRedundantSupplyNotification NOTIFICATION-TYPE
|
||||
OBJECTS {
|
||||
ciscoEnvMonSupplyStatusDescr,
|
||||
ciscoEnvMonSupplyState
|
||||
}
|
||||
STATUS deprecated
|
||||
DESCRIPTION
|
||||
"A ciscoEnvMonRedundantSupplyNotification is sent if
|
||||
the redundant power supply (where extant) fails.
|
||||
Since such a notification is usually generated before
|
||||
the shutdown state is reached, it can convey more
|
||||
data and has a better chance of being sent
|
||||
than does the ciscoEnvMonShutdownNotification.
|
||||
This notification is deprecated in favour of
|
||||
ciscoEnvMonSuppStatusChangeNotif."
|
||||
::= { ciscoEnvMonMIBNotifications 5 }
|
||||
|
||||
ciscoEnvMonVoltStatusChangeNotif NOTIFICATION-TYPE
|
||||
OBJECTS {
|
||||
ciscoEnvMonVoltageStatusDescr,
|
||||
ciscoEnvMonVoltageStatusValue,
|
||||
ciscoEnvMonVoltageState
|
||||
}
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"A ciscoEnvMonVoltStatusChangeNotif is sent if there is
|
||||
change in the state of a device being monitored
|
||||
by ciscoEnvMonVoltageState."
|
||||
::= { ciscoEnvMonMIBNotifications 6 }
|
||||
|
||||
ciscoEnvMonTempStatusChangeNotif NOTIFICATION-TYPE
|
||||
OBJECTS {
|
||||
ciscoEnvMonTemperatureStatusDescr,
|
||||
ciscoEnvMonTemperatureStatusValue,
|
||||
ciscoEnvMonTemperatureState,
|
||||
ciscoEnvMonTemperatureStatusValueRev1
|
||||
}
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"A ciscoEnvMonTempStatusChangeNotif is sent if there
|
||||
is change in the state of a device being monitored
|
||||
by ciscoEnvMonTemperatureState."
|
||||
::= { ciscoEnvMonMIBNotifications 7 }
|
||||
|
||||
ciscoEnvMonFanStatusChangeNotif NOTIFICATION-TYPE
|
||||
OBJECTS {
|
||||
ciscoEnvMonFanStatusDescr,
|
||||
ciscoEnvMonFanState
|
||||
}
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"A ciscoEnvMonFanStatusChangeNotif is sent if there
|
||||
is change in the state of a device being monitored
|
||||
by ciscoEnvMonFanState."
|
||||
::= { ciscoEnvMonMIBNotifications 8 }
|
||||
|
||||
ciscoEnvMonSuppStatusChangeNotif NOTIFICATION-TYPE
|
||||
OBJECTS {
|
||||
ciscoEnvMonSupplyStatusDescr,
|
||||
ciscoEnvMonSupplyState
|
||||
}
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"A ciscoEnvMonSupplyStatChangeNotif is sent if there
|
||||
is change in the state of a device being monitored
|
||||
by ciscoEnvMonSupplyState."
|
||||
::= { ciscoEnvMonMIBNotifications 9 }
|
||||
|
||||
-- conformance information
|
||||
|
||||
ciscoEnvMonMIBConformance OBJECT IDENTIFIER ::= { ciscoEnvMonMIB 4 }
|
||||
ciscoEnvMonMIBCompliances OBJECT IDENTIFIER ::= { ciscoEnvMonMIBConformance 1 }
|
||||
ciscoEnvMonMIBGroups OBJECT IDENTIFIER ::= { ciscoEnvMonMIBConformance 2 }
|
||||
|
||||
|
||||
-- compliance statements
|
||||
|
||||
ciscoEnvMonMIBCompliance MODULE-COMPLIANCE
|
||||
STATUS deprecated
|
||||
DESCRIPTION
|
||||
"The compliance statement for entities which implement
|
||||
the Cisco Environmental Monitor MIB. This is
|
||||
deprecated and new compliance
|
||||
ciscoEnvMonMIBComplianceRev1 is added."
|
||||
MODULE -- this module
|
||||
MANDATORY-GROUPS { ciscoEnvMonMIBGroup }
|
||||
::= { ciscoEnvMonMIBCompliances 1 }
|
||||
|
||||
ciscoEnvMonMIBComplianceRev1 MODULE-COMPLIANCE
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"The compliance statement for entities which implement
|
||||
the Cisco Environmental Monitor MIB."
|
||||
MODULE -- this module
|
||||
MANDATORY-GROUPS { ciscoEnvMonMIBGroupRev,
|
||||
ciscoEnvMonMIBNotifGroup }
|
||||
|
||||
GROUP ciscoEnvMonEnableStatChangeGroup
|
||||
DESCRIPTION
|
||||
"The ciscoEnvMonEnableStatChangeGroup is optional.
|
||||
This group is applicable for implementations which
|
||||
need status change notifications for environmental
|
||||
monitoring."
|
||||
|
||||
GROUP ciscoEnvMonStatChangeNotifGroup
|
||||
DESCRIPTION
|
||||
"The ciscoEnvMonStatChangeNotifGroup is optional.
|
||||
This group is applicable for implementations which
|
||||
need status change notifications for environmental
|
||||
monitoring."
|
||||
|
||||
::= { ciscoEnvMonMIBCompliances 2 }
|
||||
|
||||
-- units of conformance
|
||||
|
||||
ciscoEnvMonMIBGroup OBJECT-GROUP
|
||||
OBJECTS {
|
||||
ciscoEnvMonPresent,
|
||||
|
||||
ciscoEnvMonVoltageStatusDescr,
|
||||
ciscoEnvMonVoltageStatusValue,
|
||||
ciscoEnvMonVoltageThresholdLow,
|
||||
ciscoEnvMonVoltageThresholdHigh,
|
||||
ciscoEnvMonVoltageLastShutdown,
|
||||
ciscoEnvMonVoltageState,
|
||||
|
||||
ciscoEnvMonTemperatureStatusDescr,
|
||||
ciscoEnvMonTemperatureStatusValue,
|
||||
ciscoEnvMonTemperatureThreshold,
|
||||
ciscoEnvMonTemperatureLastShutdown,
|
||||
ciscoEnvMonTemperatureState,
|
||||
ciscoEnvMonTemperatureStatusValueRev1,
|
||||
|
||||
ciscoEnvMonFanStatusDescr,
|
||||
ciscoEnvMonFanState,
|
||||
|
||||
ciscoEnvMonSupplyStatusDescr,
|
||||
ciscoEnvMonSupplyState,
|
||||
ciscoEnvMonSupplySource,
|
||||
|
||||
ciscoEnvMonAlarmContacts,
|
||||
|
||||
ciscoEnvMonEnableShutdownNotification,
|
||||
ciscoEnvMonEnableVoltageNotification,
|
||||
ciscoEnvMonEnableTemperatureNotification,
|
||||
ciscoEnvMonEnableFanNotification,
|
||||
ciscoEnvMonEnableRedundantSupplyNotification
|
||||
|
||||
}
|
||||
STATUS deprecated
|
||||
DESCRIPTION
|
||||
"A collection of objects providing environmental
|
||||
monitoring capability to a cisco chassis. This group
|
||||
is deprecated in favour of ciscoEnvMonMIBGroupRev."
|
||||
::= { ciscoEnvMonMIBGroups 1 }
|
||||
|
||||
ciscoEnvMonMIBGroupRev OBJECT-GROUP
|
||||
OBJECTS {
|
||||
ciscoEnvMonPresent,
|
||||
|
||||
ciscoEnvMonVoltageStatusDescr,
|
||||
ciscoEnvMonVoltageStatusValue,
|
||||
ciscoEnvMonVoltageThresholdLow,
|
||||
ciscoEnvMonVoltageThresholdHigh,
|
||||
ciscoEnvMonVoltageLastShutdown,
|
||||
ciscoEnvMonVoltageState,
|
||||
|
||||
ciscoEnvMonTemperatureStatusDescr,
|
||||
ciscoEnvMonTemperatureStatusValue,
|
||||
ciscoEnvMonTemperatureThreshold,
|
||||
ciscoEnvMonTemperatureLastShutdown,
|
||||
ciscoEnvMonTemperatureState,
|
||||
ciscoEnvMonTemperatureStatusValueRev1,
|
||||
|
||||
ciscoEnvMonFanStatusDescr,
|
||||
ciscoEnvMonFanState,
|
||||
|
||||
ciscoEnvMonSupplyStatusDescr,
|
||||
ciscoEnvMonSupplyState,
|
||||
ciscoEnvMonSupplySource,
|
||||
|
||||
ciscoEnvMonAlarmContacts,
|
||||
|
||||
ciscoEnvMonEnableShutdownNotification
|
||||
|
||||
}
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"A collection of objects providing environmental
|
||||
monitoring capability to a cisco chassis."
|
||||
::= { ciscoEnvMonMIBGroups 2 }
|
||||
|
||||
ciscoEnvMonEnableStatChangeGroup OBJECT-GROUP
|
||||
OBJECTS {
|
||||
ciscoEnvMonEnableStatChangeNotif
|
||||
}
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"A collection of objects providing enabling/disabling
|
||||
of the status change notifications for environmental
|
||||
monitoring."
|
||||
::= { ciscoEnvMonMIBGroups 3 }
|
||||
|
||||
ciscoEnvMonMIBNotifGroup NOTIFICATION-GROUP
|
||||
NOTIFICATIONS {
|
||||
ciscoEnvMonShutdownNotification
|
||||
}
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"A notification group providing shutdown notification
|
||||
for environmental monitoring. "
|
||||
::= { ciscoEnvMonMIBGroups 4 }
|
||||
|
||||
ciscoEnvMonStatChangeNotifGroup NOTIFICATION-GROUP
|
||||
NOTIFICATIONS {
|
||||
ciscoEnvMonVoltStatusChangeNotif,
|
||||
ciscoEnvMonTempStatusChangeNotif,
|
||||
ciscoEnvMonFanStatusChangeNotif,
|
||||
ciscoEnvMonSuppStatusChangeNotif
|
||||
}
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"A collection of notifications providing the status
|
||||
change for environmental monitoring."
|
||||
::= { ciscoEnvMonMIBGroups 5 }
|
||||
|
||||
ciscoEnvMonMIBMiscNotifGroup NOTIFICATION-GROUP
|
||||
NOTIFICATIONS {
|
||||
ciscoEnvMonVoltageNotification,
|
||||
ciscoEnvMonTemperatureNotification,
|
||||
ciscoEnvMonFanNotification,
|
||||
ciscoEnvMonRedundantSupplyNotification
|
||||
}
|
||||
STATUS deprecated
|
||||
DESCRIPTION
|
||||
"A collection of various notifications for the
|
||||
enviromental monitoring mib module. The notifications
|
||||
the group and the group are both in deprecated state.
|
||||
The notifications in the group were deprecated in
|
||||
favour of notifications in
|
||||
ciscoEnvMonStatChangeNotifGroup."
|
||||
::= { ciscoEnvMonMIBGroups 6 }
|
||||
|
||||
END
|
||||
2928
priv/mibs/cisco/CISCO-PRODUCTS-MIB
Normal file
2928
priv/mibs/cisco/CISCO-PRODUCTS-MIB
Normal file
File diff suppressed because it is too large
Load diff
4191
priv/mibs/mikrotik/MIKROTIK-MIB
Normal file
4191
priv/mibs/mikrotik/MIKROTIK-MIB
Normal file
File diff suppressed because it is too large
Load diff
230
priv/mibs/net-snmp/LM-SENSORS-MIB
Normal file
230
priv/mibs/net-snmp/LM-SENSORS-MIB
Normal file
|
|
@ -0,0 +1,230 @@
|
|||
LM-SENSORS-MIB DEFINITIONS ::= BEGIN
|
||||
|
||||
--
|
||||
-- Derived from the original VEST-INTERNETT-MIB. Open issues:
|
||||
--
|
||||
-- (a) where to register this MIB?
|
||||
-- (b) use not-accessible for diskIOIndex?
|
||||
--
|
||||
|
||||
|
||||
IMPORTS
|
||||
MODULE-IDENTITY, OBJECT-TYPE, Integer32, Gauge32
|
||||
FROM SNMPv2-SMI
|
||||
DisplayString
|
||||
FROM SNMPv2-TC
|
||||
ucdExperimental
|
||||
FROM UCD-SNMP-MIB;
|
||||
|
||||
lmSensorsMIB MODULE-IDENTITY
|
||||
LAST-UPDATED "200011050000Z"
|
||||
ORGANIZATION "AdamsNames Ltd"
|
||||
CONTACT-INFO
|
||||
"Primary Contact: M J Oldfield
|
||||
email: m@mail.tc"
|
||||
DESCRIPTION
|
||||
"This MIB module defines objects for lm_sensor derived data."
|
||||
REVISION "200011050000Z"
|
||||
DESCRIPTION
|
||||
"Derived from DISKIO-MIB ex UCD."
|
||||
::= { lmSensors 1 }
|
||||
|
||||
lmSensors OBJECT IDENTIFIER ::= { ucdExperimental 16 }
|
||||
|
||||
--
|
||||
|
||||
lmTempSensorsTable OBJECT-TYPE
|
||||
SYNTAX SEQUENCE OF LMTempSensorsEntry
|
||||
MAX-ACCESS not-accessible
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"Table of temperature sensors and their values."
|
||||
::= { lmSensors 2 }
|
||||
|
||||
lmTempSensorsEntry OBJECT-TYPE
|
||||
SYNTAX LMTempSensorsEntry
|
||||
MAX-ACCESS not-accessible
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"An entry containing a device and its statistics."
|
||||
INDEX { lmTempSensorsIndex }
|
||||
::= { lmTempSensorsTable 1 }
|
||||
|
||||
LMTempSensorsEntry ::= SEQUENCE {
|
||||
lmTempSensorsIndex Integer32,
|
||||
lmTempSensorsDevice DisplayString,
|
||||
lmTempSensorsValue Gauge32
|
||||
}
|
||||
|
||||
lmTempSensorsIndex OBJECT-TYPE
|
||||
SYNTAX Integer32 (0..65535)
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"Reference index for each observed device."
|
||||
::= { lmTempSensorsEntry 1 }
|
||||
|
||||
lmTempSensorsDevice OBJECT-TYPE
|
||||
SYNTAX DisplayString
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"The name of the temperature sensor we are reading."
|
||||
::= { lmTempSensorsEntry 2 }
|
||||
|
||||
lmTempSensorsValue OBJECT-TYPE
|
||||
SYNTAX Gauge32
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"The temperature of this sensor in mC."
|
||||
::= { lmTempSensorsEntry 3 }
|
||||
--
|
||||
|
||||
lmFanSensorsTable OBJECT-TYPE
|
||||
SYNTAX SEQUENCE OF LMFanSensorsEntry
|
||||
MAX-ACCESS not-accessible
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"Table of fan sensors and their values."
|
||||
::= { lmSensors 3 }
|
||||
|
||||
lmFanSensorsEntry OBJECT-TYPE
|
||||
SYNTAX LMFanSensorsEntry
|
||||
MAX-ACCESS not-accessible
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"An entry containing a device and its statistics."
|
||||
INDEX { lmFanSensorsIndex }
|
||||
::= { lmFanSensorsTable 1 }
|
||||
|
||||
LMFanSensorsEntry ::= SEQUENCE {
|
||||
lmFanSensorsIndex Integer32,
|
||||
lmFanSensorsDevice DisplayString,
|
||||
lmFanSensorsValue Gauge32
|
||||
}
|
||||
|
||||
lmFanSensorsIndex OBJECT-TYPE
|
||||
SYNTAX Integer32 (0..65535)
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"Reference index for each observed device."
|
||||
::= { lmFanSensorsEntry 1 }
|
||||
|
||||
lmFanSensorsDevice OBJECT-TYPE
|
||||
SYNTAX DisplayString
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"The name of the fan sensor we are reading."
|
||||
::= { lmFanSensorsEntry 2 }
|
||||
|
||||
lmFanSensorsValue OBJECT-TYPE
|
||||
SYNTAX Gauge32
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"The rotation speed of the fan in RPM."
|
||||
::= { lmFanSensorsEntry 3 }
|
||||
|
||||
--
|
||||
|
||||
lmVoltSensorsTable OBJECT-TYPE
|
||||
SYNTAX SEQUENCE OF LMVoltSensorsEntry
|
||||
MAX-ACCESS not-accessible
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"Table of voltage sensors and their values."
|
||||
::= { lmSensors 4 }
|
||||
|
||||
lmVoltSensorsEntry OBJECT-TYPE
|
||||
SYNTAX LMVoltSensorsEntry
|
||||
MAX-ACCESS not-accessible
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"An entry containing a device and its statistics."
|
||||
INDEX { lmVoltSensorsIndex }
|
||||
::= { lmVoltSensorsTable 1 }
|
||||
|
||||
LMVoltSensorsEntry ::= SEQUENCE {
|
||||
lmVoltSensorsIndex Integer32,
|
||||
lmVoltSensorsDevice DisplayString,
|
||||
lmVoltSensorsValue Gauge32
|
||||
}
|
||||
|
||||
lmVoltSensorsIndex OBJECT-TYPE
|
||||
SYNTAX Integer32 (0..65535)
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"Reference index for each observed device."
|
||||
::= { lmVoltSensorsEntry 1 }
|
||||
|
||||
lmVoltSensorsDevice OBJECT-TYPE
|
||||
SYNTAX DisplayString
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"The name of the device we are reading."
|
||||
::= { lmVoltSensorsEntry 2 }
|
||||
|
||||
lmVoltSensorsValue OBJECT-TYPE
|
||||
SYNTAX Gauge32
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"The voltage in mV."
|
||||
::= { lmVoltSensorsEntry 3 }
|
||||
|
||||
--
|
||||
|
||||
lmMiscSensorsTable OBJECT-TYPE
|
||||
SYNTAX SEQUENCE OF LMMiscSensorsEntry
|
||||
MAX-ACCESS not-accessible
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"Table of miscellaneous sensor devices and their values."
|
||||
::= { lmSensors 5 }
|
||||
|
||||
lmMiscSensorsEntry OBJECT-TYPE
|
||||
SYNTAX LMMiscSensorsEntry
|
||||
MAX-ACCESS not-accessible
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"An entry containing a device and its statistics."
|
||||
INDEX { lmMiscSensorsIndex }
|
||||
::= { lmMiscSensorsTable 1 }
|
||||
|
||||
LMMiscSensorsEntry ::= SEQUENCE {
|
||||
lmMiscSensorsIndex Integer32,
|
||||
lmMiscSensorsDevice DisplayString,
|
||||
lmMiscSensorsValue Gauge32
|
||||
}
|
||||
|
||||
lmMiscSensorsIndex OBJECT-TYPE
|
||||
SYNTAX Integer32 (0..65535)
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"Reference index for each observed device."
|
||||
::= { lmMiscSensorsEntry 1 }
|
||||
|
||||
lmMiscSensorsDevice OBJECT-TYPE
|
||||
SYNTAX DisplayString
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"The name of the device we are reading."
|
||||
::= { lmMiscSensorsEntry 2 }
|
||||
|
||||
lmMiscSensorsValue OBJECT-TYPE
|
||||
SYNTAX Gauge32
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"The value of this sensor."
|
||||
::= { lmMiscSensorsEntry 3 }
|
||||
|
||||
|
||||
END
|
||||
1918
priv/mibs/net-snmp/UCD-SNMP-MIB
Normal file
1918
priv/mibs/net-snmp/UCD-SNMP-MIB
Normal file
File diff suppressed because it is too large
Load diff
1585
priv/mibs/standard/ENTITY-MIB
Normal file
1585
priv/mibs/standard/ENTITY-MIB
Normal file
File diff suppressed because it is too large
Load diff
460
priv/mibs/standard/ENTITY-SENSOR-MIB
Normal file
460
priv/mibs/standard/ENTITY-SENSOR-MIB
Normal file
|
|
@ -0,0 +1,460 @@
|
|||
|
||||
-- WinAgents MIB Extraction Wizard
|
||||
-- Extracted from rfc3433.txt 16.03.2005 20:21:58
|
||||
|
||||
ENTITY-SENSOR-MIB DEFINITIONS ::= BEGIN
|
||||
|
||||
IMPORTS
|
||||
MODULE-IDENTITY, OBJECT-TYPE,
|
||||
Integer32, Unsigned32, mib-2
|
||||
FROM SNMPv2-SMI
|
||||
MODULE-COMPLIANCE, OBJECT-GROUP
|
||||
FROM SNMPv2-CONF
|
||||
TEXTUAL-CONVENTION, TimeStamp
|
||||
FROM SNMPv2-TC
|
||||
entPhysicalIndex, entityPhysicalGroup
|
||||
FROM ENTITY-MIB
|
||||
SnmpAdminString
|
||||
FROM SNMP-FRAMEWORK-MIB;
|
||||
|
||||
entitySensorMIB MODULE-IDENTITY
|
||||
LAST-UPDATED "200212160000Z"
|
||||
ORGANIZATION "IETF Entity MIB Working Group"
|
||||
CONTACT-INFO
|
||||
" Andy Bierman
|
||||
Cisco Systems, Inc.
|
||||
Tel: +1 408-527-3711
|
||||
E-mail: abierman@cisco.com
|
||||
Postal: 170 West Tasman Drive
|
||||
San Jose, CA USA 95134
|
||||
|
||||
Dan Romascanu
|
||||
Avaya Inc.
|
||||
Tel: +972-3-645-8414
|
||||
Email: dromasca@avaya.com
|
||||
Postal: Atidim technology Park, Bldg. #3
|
||||
Tel Aviv, Israel, 61131
|
||||
|
||||
K.C. Norseth
|
||||
L-3 Communications
|
||||
Tel: +1 801-594-2809
|
||||
Email: kenyon.c.norseth@L-3com.com
|
||||
Postal: 640 N. 2200 West.
|
||||
|
||||
Salt Lake City, Utah 84116-0850
|
||||
|
||||
Send comments to <entmib@ietf.org>
|
||||
Mailing list subscription info:
|
||||
http://www.ietf.org/mailman/listinfo/entmib "
|
||||
DESCRIPTION
|
||||
"This module defines Entity MIB extensions for physical
|
||||
sensors.
|
||||
|
||||
Copyright (C) The Internet Society (2002). This version
|
||||
of this MIB module is part of RFC 3433; see the RFC
|
||||
itself for full legal notices."
|
||||
|
||||
REVISION "200212160000Z"
|
||||
DESCRIPTION
|
||||
"Initial version of the Entity Sensor MIB module, published
|
||||
as RFC 3433."
|
||||
::= { mib-2 99 }
|
||||
|
||||
entitySensorObjects OBJECT IDENTIFIER
|
||||
::= { entitySensorMIB 1 }
|
||||
|
||||
-- entitySensorNotifications OBJECT IDENTIFIER
|
||||
-- ::= { entitySensorMIB 2 }
|
||||
entitySensorConformance OBJECT IDENTIFIER
|
||||
::= { entitySensorMIB 3 }
|
||||
|
||||
--
|
||||
-- Textual Conventions
|
||||
--
|
||||
|
||||
EntitySensorDataType ::= TEXTUAL-CONVENTION
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"An object using this data type represents the Entity Sensor
|
||||
measurement data type associated with a physical sensor
|
||||
value. The actual data units are determined by examining an
|
||||
object of this type together with the associated
|
||||
EntitySensorDataScale object.
|
||||
|
||||
An object of this type SHOULD be defined together with
|
||||
objects of type EntitySensorDataScale and
|
||||
EntitySensorPrecision. Together, associated objects of
|
||||
these three types are used to identify the semantics of an
|
||||
object of type EntitySensorValue.
|
||||
|
||||
|
||||
|
||||
|
||||
Valid values are:
|
||||
|
||||
other(1): a measure other than those listed below
|
||||
unknown(2): unknown measurement, or arbitrary,
|
||||
relative numbers
|
||||
voltsAC(3): electric potential
|
||||
voltsDC(4): electric potential
|
||||
amperes(5): electric current
|
||||
watts(6): power
|
||||
hertz(7): frequency
|
||||
celsius(8): temperature
|
||||
percentRH(9): percent relative humidity
|
||||
rpm(10): shaft revolutions per minute
|
||||
cmm(11),: cubic meters per minute (airflow)
|
||||
truthvalue(12): value takes { true(1), false(2) }
|
||||
|
||||
"
|
||||
SYNTAX INTEGER {
|
||||
other(1),
|
||||
unknown(2),
|
||||
voltsAC(3),
|
||||
voltsDC(4),
|
||||
amperes(5),
|
||||
watts(6),
|
||||
hertz(7),
|
||||
celsius(8),
|
||||
percentRH(9),
|
||||
rpm(10),
|
||||
cmm(11),
|
||||
truthvalue(12)
|
||||
}
|
||||
|
||||
EntitySensorDataScale ::= TEXTUAL-CONVENTION
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"An object using this data type represents a data scaling
|
||||
factor, represented with an International System of Units
|
||||
(SI) prefix. The actual data units are determined by
|
||||
examining an object of this type together with the
|
||||
associated EntitySensorDataType object.
|
||||
|
||||
An object of this type SHOULD be defined together with
|
||||
objects of type EntitySensorDataType and
|
||||
EntitySensorPrecision. Together, associated objects of
|
||||
these three types are used to identify the semantics of an
|
||||
object of type EntitySensorValue."
|
||||
REFERENCE
|
||||
"The International System of Units (SI),
|
||||
|
||||
National Institute of Standards and Technology,
|
||||
Spec. Publ. 330, August 1991."
|
||||
SYNTAX INTEGER {
|
||||
yocto(1), -- 10^-24
|
||||
zepto(2), -- 10^-21
|
||||
atto(3), -- 10^-18
|
||||
femto(4), -- 10^-15
|
||||
pico(5), -- 10^-12
|
||||
nano(6), -- 10^-9
|
||||
micro(7), -- 10^-6
|
||||
milli(8), -- 10^-3
|
||||
units(9), -- 10^0
|
||||
kilo(10), -- 10^3
|
||||
mega(11), -- 10^6
|
||||
giga(12), -- 10^9
|
||||
tera(13), -- 10^12
|
||||
exa(14), -- 10^15
|
||||
peta(15), -- 10^18
|
||||
zetta(16), -- 10^21
|
||||
yotta(17) -- 10^24
|
||||
}
|
||||
|
||||
EntitySensorPrecision ::= TEXTUAL-CONVENTION
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"An object using this data type represents a sensor
|
||||
precision range.
|
||||
|
||||
An object of this type SHOULD be defined together with
|
||||
objects of type EntitySensorDataType and
|
||||
EntitySensorDataScale. Together, associated objects of
|
||||
these three types are used to identify the semantics of an
|
||||
object of type EntitySensorValue.
|
||||
|
||||
If an object of this type contains a value in the range 1 to
|
||||
9, it represents the number of decimal places in the
|
||||
fractional part of an associated EntitySensorValue fixed-
|
||||
point number.
|
||||
|
||||
If an object of this type contains a value in the range -8
|
||||
to -1, it represents the number of accurate digits in the
|
||||
associated EntitySensorValue fixed-point number.
|
||||
|
||||
The value zero indicates the associated EntitySensorValue
|
||||
object is not a fixed-point number.
|
||||
|
||||
Agent implementors must choose a value for the associated
|
||||
EntitySensorPrecision object so that the precision and
|
||||
|
||||
accuracy of the associated EntitySensorValue object is
|
||||
correctly indicated.
|
||||
|
||||
For example, a physical entity representing a temperature
|
||||
sensor that can measure 0 degrees to 100 degrees C in 0.1
|
||||
degree increments, +/- 0.05 degrees, would have an
|
||||
EntitySensorPrecision value of '1', an EntitySensorDataScale
|
||||
value of 'units(9)', and an EntitySensorValue ranging from
|
||||
'0' to '1000'. The EntitySensorValue would be interpreted
|
||||
as 'degrees C * 10'."
|
||||
SYNTAX Integer32 (-8..9)
|
||||
|
||||
EntitySensorValue ::= TEXTUAL-CONVENTION
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"An object using this data type represents an Entity Sensor
|
||||
value.
|
||||
An object of this type SHOULD be defined together with
|
||||
objects of type EntitySensorDataType, EntitySensorDataScale
|
||||
and EntitySensorPrecision. Together, associated objects of
|
||||
those three types are used to identify the semantics of an
|
||||
object of this data type.
|
||||
|
||||
The semantics of an object using this data type are
|
||||
determined by the value of the associated
|
||||
EntitySensorDataType object.
|
||||
|
||||
If the associated EntitySensorDataType object is equal to
|
||||
'voltsAC(3)', 'voltsDC(4)', 'amperes(5)', 'watts(6),
|
||||
'hertz(7)', 'celsius(8)', or 'cmm(11)', then an object of
|
||||
this type MUST contain a fixed point number ranging from
|
||||
-999,999,999 to +999,999,999. The value -1000000000
|
||||
indicates an underflow error. The value +1000000000
|
||||
indicates an overflow error. The EntitySensorPrecision
|
||||
indicates how many fractional digits are represented in the
|
||||
associated EntitySensorValue object.
|
||||
|
||||
If the associated EntitySensorDataType object is equal to
|
||||
'percentRH(9)', then an object of this type MUST contain a
|
||||
number ranging from 0 to 100.
|
||||
|
||||
If the associated EntitySensorDataType object is equal to
|
||||
'rpm(10)', then an object of this type MUST contain a number
|
||||
ranging from -999,999,999 to +999,999,999.
|
||||
|
||||
If the associated EntitySensorDataType object is equal to
|
||||
'truthvalue(12)', then an object of this type MUST contain
|
||||
either the value 'true(1)' or the value 'false(2)'.
|
||||
|
||||
If the associated EntitySensorDataType object is equal to
|
||||
'other(1)' or unknown(2)', then an object of this type MUST
|
||||
contain a number ranging from -1000000000 to 1000000000."
|
||||
SYNTAX Integer32 (-1000000000..1000000000)
|
||||
|
||||
EntitySensorStatus ::= TEXTUAL-CONVENTION
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"An object using this data type represents the operational
|
||||
status of a physical sensor.
|
||||
|
||||
The value 'ok(1)' indicates that the agent can obtain the
|
||||
sensor value.
|
||||
|
||||
The value 'unavailable(2)' indicates that the agent
|
||||
presently cannot obtain the sensor value.
|
||||
|
||||
The value 'nonoperational(3)' indicates that the agent
|
||||
believes the sensor is broken. The sensor could have a hard
|
||||
failure (disconnected wire), or a soft failure such as out-
|
||||
of-range, jittery, or wildly fluctuating readings."
|
||||
SYNTAX INTEGER {
|
||||
ok(1),
|
||||
unavailable(2),
|
||||
nonoperational(3)
|
||||
}
|
||||
|
||||
--
|
||||
-- Entity Sensor Table
|
||||
--
|
||||
|
||||
entPhySensorTable OBJECT-TYPE
|
||||
SYNTAX SEQUENCE OF EntPhySensorEntry
|
||||
MAX-ACCESS not-accessible
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"This table contains one row per physical sensor represented
|
||||
by an associated row in the entPhysicalTable."
|
||||
::= { entitySensorObjects 1 }
|
||||
|
||||
entPhySensorEntry OBJECT-TYPE
|
||||
SYNTAX EntPhySensorEntry
|
||||
MAX-ACCESS not-accessible
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"Information about a particular physical sensor.
|
||||
|
||||
|
||||
|
||||
An entry in this table describes the present reading of a
|
||||
sensor, the measurement units and scale, and sensor
|
||||
operational status.
|
||||
|
||||
Entries are created in this table by the agent. An entry
|
||||
for each physical sensor SHOULD be created at the same time
|
||||
as the associated entPhysicalEntry. An entry SHOULD be
|
||||
destroyed if the associated entPhysicalEntry is destroyed."
|
||||
INDEX { entPhysicalIndex } -- SPARSE-AUGMENTS
|
||||
::= { entPhySensorTable 1 }
|
||||
|
||||
EntPhySensorEntry ::= SEQUENCE {
|
||||
entPhySensorType EntitySensorDataType,
|
||||
entPhySensorScale EntitySensorDataScale,
|
||||
entPhySensorPrecision EntitySensorPrecision,
|
||||
entPhySensorValue EntitySensorValue,
|
||||
entPhySensorOperStatus EntitySensorStatus,
|
||||
entPhySensorUnitsDisplay SnmpAdminString,
|
||||
entPhySensorValueTimeStamp TimeStamp,
|
||||
entPhySensorValueUpdateRate Unsigned32
|
||||
}
|
||||
|
||||
entPhySensorType OBJECT-TYPE
|
||||
SYNTAX EntitySensorDataType
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"The type of data returned by the associated
|
||||
entPhySensorValue object.
|
||||
|
||||
This object SHOULD be set by the agent during entry
|
||||
creation, and the value SHOULD NOT change during operation."
|
||||
::= { entPhySensorEntry 1 }
|
||||
|
||||
entPhySensorScale OBJECT-TYPE
|
||||
SYNTAX EntitySensorDataScale
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"The exponent to apply to values returned by the associated
|
||||
entPhySensorValue object.
|
||||
|
||||
This object SHOULD be set by the agent during entry
|
||||
creation, and the value SHOULD NOT change during operation."
|
||||
::= { entPhySensorEntry 2 }
|
||||
|
||||
|
||||
|
||||
|
||||
entPhySensorPrecision OBJECT-TYPE
|
||||
SYNTAX EntitySensorPrecision
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"The number of decimal places of precision in fixed-point
|
||||
sensor values returned by the associated entPhySensorValue
|
||||
object.
|
||||
|
||||
This object SHOULD be set to '0' when the associated
|
||||
entPhySensorType value is not a fixed-point type: e.g.,
|
||||
'percentRH(9)', 'rpm(10)', 'cmm(11)', or 'truthvalue(12)'.
|
||||
|
||||
This object SHOULD be set by the agent during entry
|
||||
creation, and the value SHOULD NOT change during operation."
|
||||
::= { entPhySensorEntry 3 }
|
||||
|
||||
entPhySensorValue OBJECT-TYPE
|
||||
SYNTAX EntitySensorValue
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"The most recent measurement obtained by the agent for this
|
||||
sensor.
|
||||
|
||||
To correctly interpret the value of this object, the
|
||||
associated entPhySensorType, entPhySensorScale, and
|
||||
entPhySensorPrecision objects must also be examined."
|
||||
::= { entPhySensorEntry 4 }
|
||||
|
||||
entPhySensorOperStatus OBJECT-TYPE
|
||||
SYNTAX EntitySensorStatus
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"The operational status of the sensor."
|
||||
::= { entPhySensorEntry 5 }
|
||||
|
||||
entPhySensorUnitsDisplay OBJECT-TYPE
|
||||
SYNTAX SnmpAdminString
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"A textual description of the data units that should be used
|
||||
in the display of entPhySensorValue."
|
||||
::= { entPhySensorEntry 6 }
|
||||
|
||||
|
||||
|
||||
entPhySensorValueTimeStamp OBJECT-TYPE
|
||||
SYNTAX TimeStamp
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"The value of sysUpTime at the time the status and/or value
|
||||
of this sensor was last obtained by the agent."
|
||||
::= { entPhySensorEntry 7 }
|
||||
|
||||
entPhySensorValueUpdateRate OBJECT-TYPE
|
||||
SYNTAX Unsigned32
|
||||
UNITS "milliseconds"
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"An indication of the frequency that the agent updates the
|
||||
associated entPhySensorValue object, representing in
|
||||
milliseconds.
|
||||
|
||||
The value zero indicates:
|
||||
|
||||
- the sensor value is updated on demand (e.g.,
|
||||
when polled by the agent for a get-request),
|
||||
- the sensor value is updated when the sensor
|
||||
value changes (event-driven),
|
||||
- the agent does not know the update rate.
|
||||
|
||||
"
|
||||
::= { entPhySensorEntry 8 }
|
||||
|
||||
--
|
||||
-- Conformance Section
|
||||
--
|
||||
|
||||
entitySensorCompliances OBJECT IDENTIFIER
|
||||
::= { entitySensorConformance 1 }
|
||||
entitySensorGroups OBJECT IDENTIFIER
|
||||
::= { entitySensorConformance 2 }
|
||||
|
||||
entitySensorCompliance MODULE-COMPLIANCE
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"Describes the requirements for conformance to the Entity
|
||||
Sensor MIB module."
|
||||
MODULE -- this module
|
||||
MANDATORY-GROUPS { entitySensorValueGroup }
|
||||
|
||||
|
||||
|
||||
MODULE ENTITY-MIB
|
||||
MANDATORY-GROUPS { entityPhysicalGroup }
|
||||
|
||||
::= { entitySensorCompliances 1 }
|
||||
|
||||
-- Object Groups
|
||||
|
||||
entitySensorValueGroup OBJECT-GROUP
|
||||
OBJECTS {
|
||||
entPhySensorType,
|
||||
entPhySensorScale,
|
||||
entPhySensorPrecision,
|
||||
entPhySensorValue,
|
||||
entPhySensorOperStatus,
|
||||
entPhySensorUnitsDisplay,
|
||||
entPhySensorValueTimeStamp,
|
||||
entPhySensorValueUpdateRate
|
||||
}
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"A collection of objects representing physical entity sensor
|
||||
information."
|
||||
::= { entitySensorGroups 1 }
|
||||
|
||||
END
|
||||
1814
priv/mibs/standard/IF-MIB
Normal file
1814
priv/mibs/standard/IF-MIB
Normal file
File diff suppressed because it is too large
Load diff
854
priv/mibs/standard/SNMPv2-MIB
Normal file
854
priv/mibs/standard/SNMPv2-MIB
Normal file
|
|
@ -0,0 +1,854 @@
|
|||
SNMPv2-MIB DEFINITIONS ::= BEGIN
|
||||
|
||||
IMPORTS
|
||||
MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
|
||||
TimeTicks, Counter32, snmpModules, mib-2
|
||||
FROM SNMPv2-SMI
|
||||
DisplayString, TestAndIncr, TimeStamp
|
||||
|
||||
FROM SNMPv2-TC
|
||||
MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
|
||||
FROM SNMPv2-CONF;
|
||||
|
||||
snmpMIB MODULE-IDENTITY
|
||||
LAST-UPDATED "200210160000Z"
|
||||
ORGANIZATION "IETF SNMPv3 Working Group"
|
||||
CONTACT-INFO
|
||||
"WG-EMail: snmpv3@lists.tislabs.com
|
||||
Subscribe: snmpv3-request@lists.tislabs.com
|
||||
|
||||
Co-Chair: Russ Mundy
|
||||
Network Associates Laboratories
|
||||
postal: 15204 Omega Drive, Suite 300
|
||||
Rockville, MD 20850-4601
|
||||
USA
|
||||
EMail: mundy@tislabs.com
|
||||
phone: +1 301 947-7107
|
||||
|
||||
Co-Chair: David Harrington
|
||||
Enterasys Networks
|
||||
postal: 35 Industrial Way
|
||||
P. O. Box 5005
|
||||
Rochester, NH 03866-5005
|
||||
USA
|
||||
EMail: dbh@enterasys.com
|
||||
phone: +1 603 337-2614
|
||||
|
||||
Editor: Randy Presuhn
|
||||
BMC Software, Inc.
|
||||
postal: 2141 North First Street
|
||||
San Jose, CA 95131
|
||||
USA
|
||||
EMail: randy_presuhn@bmc.com
|
||||
phone: +1 408 546-1006"
|
||||
DESCRIPTION
|
||||
"The MIB module for SNMP entities.
|
||||
|
||||
Copyright (C) The Internet Society (2002). This
|
||||
version of this MIB module is part of RFC 3418;
|
||||
see the RFC itself for full legal notices.
|
||||
"
|
||||
REVISION "200210160000Z"
|
||||
DESCRIPTION
|
||||
"This revision of this MIB module was published as
|
||||
RFC 3418."
|
||||
REVISION "199511090000Z"
|
||||
DESCRIPTION
|
||||
"This revision of this MIB module was published as
|
||||
RFC 1907."
|
||||
REVISION "199304010000Z"
|
||||
DESCRIPTION
|
||||
"The initial revision of this MIB module was published
|
||||
as RFC 1450."
|
||||
::= { snmpModules 1 }
|
||||
|
||||
snmpMIBObjects OBJECT IDENTIFIER ::= { snmpMIB 1 }
|
||||
|
||||
-- ::= { snmpMIBObjects 1 } this OID is obsolete
|
||||
-- ::= { snmpMIBObjects 2 } this OID is obsolete
|
||||
-- ::= { snmpMIBObjects 3 } this OID is obsolete
|
||||
|
||||
-- the System group
|
||||
--
|
||||
-- a collection of objects common to all managed systems.
|
||||
|
||||
system OBJECT IDENTIFIER ::= { mib-2 1 }
|
||||
|
||||
sysDescr OBJECT-TYPE
|
||||
SYNTAX DisplayString (SIZE (0..255))
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"A textual description of the entity. This value should
|
||||
include the full name and version identification of
|
||||
the system's hardware type, software operating-system,
|
||||
and networking software."
|
||||
::= { system 1 }
|
||||
|
||||
sysObjectID OBJECT-TYPE
|
||||
SYNTAX OBJECT IDENTIFIER
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"The vendor's authoritative identification of the
|
||||
network management subsystem contained in the entity.
|
||||
This value is allocated within the SMI enterprises
|
||||
subtree (1.3.6.1.4.1) and provides an easy and
|
||||
unambiguous means for determining `what kind of box' is
|
||||
being managed. For example, if vendor `Flintstones,
|
||||
Inc.' was assigned the subtree 1.3.6.1.4.1.424242,
|
||||
it could assign the identifier 1.3.6.1.4.1.424242.1.1
|
||||
to its `Fred Router'."
|
||||
::= { system 2 }
|
||||
|
||||
sysUpTime OBJECT-TYPE
|
||||
SYNTAX TimeTicks
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"The time (in hundredths of a second) since the
|
||||
network management portion of the system was last
|
||||
re-initialized."
|
||||
::= { system 3 }
|
||||
|
||||
sysContact OBJECT-TYPE
|
||||
SYNTAX DisplayString (SIZE (0..255))
|
||||
MAX-ACCESS read-write
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"The textual identification of the contact person for
|
||||
this managed node, together with information on how
|
||||
to contact this person. If no contact information is
|
||||
known, the value is the zero-length string."
|
||||
::= { system 4 }
|
||||
|
||||
sysName OBJECT-TYPE
|
||||
SYNTAX DisplayString (SIZE (0..255))
|
||||
MAX-ACCESS read-write
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"An administratively-assigned name for this managed
|
||||
node. By convention, this is the node's fully-qualified
|
||||
domain name. If the name is unknown, the value is
|
||||
the zero-length string."
|
||||
::= { system 5 }
|
||||
|
||||
sysLocation OBJECT-TYPE
|
||||
SYNTAX DisplayString (SIZE (0..255))
|
||||
MAX-ACCESS read-write
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"The physical location of this node (e.g., 'telephone
|
||||
closet, 3rd floor'). If the location is unknown, the
|
||||
value is the zero-length string."
|
||||
::= { system 6 }
|
||||
|
||||
sysServices OBJECT-TYPE
|
||||
SYNTAX INTEGER (0..127)
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"A value which indicates the set of services that this
|
||||
entity may potentially offer. The value is a sum.
|
||||
|
||||
This sum initially takes the value zero. Then, for
|
||||
each layer, L, in the range 1 through 7, that this node
|
||||
performs transactions for, 2 raised to (L - 1) is added
|
||||
to the sum. For example, a node which performs only
|
||||
routing functions would have a value of 4 (2^(3-1)).
|
||||
In contrast, a node which is a host offering application
|
||||
services would have a value of 72 (2^(4-1) + 2^(7-1)).
|
||||
Note that in the context of the Internet suite of
|
||||
protocols, values should be calculated accordingly:
|
||||
|
||||
layer functionality
|
||||
1 physical (e.g., repeaters)
|
||||
2 datalink/subnetwork (e.g., bridges)
|
||||
3 internet (e.g., supports the IP)
|
||||
4 end-to-end (e.g., supports the TCP)
|
||||
7 applications (e.g., supports the SMTP)
|
||||
|
||||
For systems including OSI protocols, layers 5 and 6
|
||||
may also be counted."
|
||||
::= { system 7 }
|
||||
|
||||
-- object resource information
|
||||
--
|
||||
-- a collection of objects which describe the SNMP entity's
|
||||
-- (statically and dynamically configurable) support of
|
||||
-- various MIB modules.
|
||||
|
||||
sysORLastChange OBJECT-TYPE
|
||||
SYNTAX TimeStamp
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"The value of sysUpTime at the time of the most recent
|
||||
change in state or value of any instance of sysORID."
|
||||
::= { system 8 }
|
||||
|
||||
sysORTable OBJECT-TYPE
|
||||
SYNTAX SEQUENCE OF SysOREntry
|
||||
MAX-ACCESS not-accessible
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"The (conceptual) table listing the capabilities of
|
||||
the local SNMP application acting as a command
|
||||
responder with respect to various MIB modules.
|
||||
SNMP entities having dynamically-configurable support
|
||||
of MIB modules will have a dynamically-varying number
|
||||
of conceptual rows."
|
||||
::= { system 9 }
|
||||
|
||||
sysOREntry OBJECT-TYPE
|
||||
SYNTAX SysOREntry
|
||||
MAX-ACCESS not-accessible
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"An entry (conceptual row) in the sysORTable."
|
||||
INDEX { sysORIndex }
|
||||
::= { sysORTable 1 }
|
||||
|
||||
SysOREntry ::= SEQUENCE {
|
||||
sysORIndex INTEGER,
|
||||
sysORID OBJECT IDENTIFIER,
|
||||
sysORDescr DisplayString,
|
||||
sysORUpTime TimeStamp
|
||||
}
|
||||
|
||||
sysORIndex OBJECT-TYPE
|
||||
SYNTAX INTEGER (1..2147483647)
|
||||
MAX-ACCESS not-accessible
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"The auxiliary variable used for identifying instances
|
||||
of the columnar objects in the sysORTable."
|
||||
::= { sysOREntry 1 }
|
||||
|
||||
sysORID OBJECT-TYPE
|
||||
SYNTAX OBJECT IDENTIFIER
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"An authoritative identification of a capabilities
|
||||
statement with respect to various MIB modules supported
|
||||
by the local SNMP application acting as a command
|
||||
responder."
|
||||
::= { sysOREntry 2 }
|
||||
|
||||
sysORDescr OBJECT-TYPE
|
||||
SYNTAX DisplayString
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"A textual description of the capabilities identified
|
||||
by the corresponding instance of sysORID."
|
||||
::= { sysOREntry 3 }
|
||||
|
||||
sysORUpTime OBJECT-TYPE
|
||||
SYNTAX TimeStamp
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"The value of sysUpTime at the time this conceptual
|
||||
row was last instantiated."
|
||||
::= { sysOREntry 4 }
|
||||
|
||||
-- the SNMP group
|
||||
--
|
||||
-- a collection of objects providing basic instrumentation and
|
||||
-- control of an SNMP entity.
|
||||
|
||||
snmp OBJECT IDENTIFIER ::= { mib-2 11 }
|
||||
|
||||
snmpInPkts OBJECT-TYPE
|
||||
SYNTAX Counter32
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"The total number of messages delivered to the SNMP
|
||||
entity from the transport service."
|
||||
::= { snmp 1 }
|
||||
|
||||
snmpInBadVersions OBJECT-TYPE
|
||||
SYNTAX Counter32
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"The total number of SNMP messages which were delivered
|
||||
to the SNMP entity and were for an unsupported SNMP
|
||||
version."
|
||||
::= { snmp 3 }
|
||||
|
||||
snmpInBadCommunityNames OBJECT-TYPE
|
||||
SYNTAX Counter32
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"The total number of community-based SNMP messages (for
|
||||
example, SNMPv1) delivered to the SNMP entity which
|
||||
used an SNMP community name not known to said entity.
|
||||
Also, implementations which authenticate community-based
|
||||
SNMP messages using check(s) in addition to matching
|
||||
the community name (for example, by also checking
|
||||
whether the message originated from a transport address
|
||||
allowed to use a specified community name) MAY include
|
||||
in this value the number of messages which failed the
|
||||
additional check(s). It is strongly RECOMMENDED that
|
||||
|
||||
the documentation for any security model which is used
|
||||
to authenticate community-based SNMP messages specify
|
||||
the precise conditions that contribute to this value."
|
||||
::= { snmp 4 }
|
||||
|
||||
snmpInBadCommunityUses OBJECT-TYPE
|
||||
SYNTAX Counter32
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"The total number of community-based SNMP messages (for
|
||||
example, SNMPv1) delivered to the SNMP entity which
|
||||
represented an SNMP operation that was not allowed for
|
||||
the SNMP community named in the message. The precise
|
||||
conditions under which this counter is incremented
|
||||
(if at all) depend on how the SNMP entity implements
|
||||
its access control mechanism and how its applications
|
||||
interact with that access control mechanism. It is
|
||||
strongly RECOMMENDED that the documentation for any
|
||||
access control mechanism which is used to control access
|
||||
to and visibility of MIB instrumentation specify the
|
||||
precise conditions that contribute to this value."
|
||||
::= { snmp 5 }
|
||||
|
||||
snmpInASNParseErrs OBJECT-TYPE
|
||||
SYNTAX Counter32
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"The total number of ASN.1 or BER errors encountered by
|
||||
the SNMP entity when decoding received SNMP messages."
|
||||
::= { snmp 6 }
|
||||
|
||||
snmpEnableAuthenTraps OBJECT-TYPE
|
||||
SYNTAX INTEGER { enabled(1), disabled(2) }
|
||||
MAX-ACCESS read-write
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"Indicates whether the SNMP entity is permitted to
|
||||
generate authenticationFailure traps. The value of this
|
||||
object overrides any configuration information; as such,
|
||||
it provides a means whereby all authenticationFailure
|
||||
traps may be disabled.
|
||||
|
||||
Note that it is strongly recommended that this object
|
||||
be stored in non-volatile memory so that it remains
|
||||
constant across re-initializations of the network
|
||||
management system."
|
||||
::= { snmp 30 }
|
||||
|
||||
snmpSilentDrops OBJECT-TYPE
|
||||
SYNTAX Counter32
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"The total number of Confirmed Class PDUs (such as
|
||||
GetRequest-PDUs, GetNextRequest-PDUs,
|
||||
GetBulkRequest-PDUs, SetRequest-PDUs, and
|
||||
InformRequest-PDUs) delivered to the SNMP entity which
|
||||
were silently dropped because the size of a reply
|
||||
containing an alternate Response Class PDU (such as a
|
||||
Response-PDU) with an empty variable-bindings field
|
||||
was greater than either a local constraint or the
|
||||
maximum message size associated with the originator of
|
||||
the request."
|
||||
::= { snmp 31 }
|
||||
|
||||
snmpProxyDrops OBJECT-TYPE
|
||||
SYNTAX Counter32
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"The total number of Confirmed Class PDUs
|
||||
(such as GetRequest-PDUs, GetNextRequest-PDUs,
|
||||
GetBulkRequest-PDUs, SetRequest-PDUs, and
|
||||
InformRequest-PDUs) delivered to the SNMP entity which
|
||||
were silently dropped because the transmission of
|
||||
the (possibly translated) message to a proxy target
|
||||
failed in a manner (other than a time-out) such that
|
||||
no Response Class PDU (such as a Response-PDU) could
|
||||
be returned."
|
||||
::= { snmp 32 }
|
||||
|
||||
-- information for notifications
|
||||
--
|
||||
-- a collection of objects which allow the SNMP entity, when
|
||||
-- supporting a notification originator application,
|
||||
-- to be configured to generate SNMPv2-Trap-PDUs.
|
||||
|
||||
snmpTrap OBJECT IDENTIFIER ::= { snmpMIBObjects 4 }
|
||||
|
||||
snmpTrapOID OBJECT-TYPE
|
||||
SYNTAX OBJECT IDENTIFIER
|
||||
MAX-ACCESS accessible-for-notify
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"The authoritative identification of the notification
|
||||
currently being sent. This variable occurs as
|
||||
the second varbind in every SNMPv2-Trap-PDU and
|
||||
InformRequest-PDU."
|
||||
::= { snmpTrap 1 }
|
||||
|
||||
-- ::= { snmpTrap 2 } this OID is obsolete
|
||||
|
||||
snmpTrapEnterprise OBJECT-TYPE
|
||||
SYNTAX OBJECT IDENTIFIER
|
||||
MAX-ACCESS accessible-for-notify
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"The authoritative identification of the enterprise
|
||||
associated with the trap currently being sent. When an
|
||||
SNMP proxy agent is mapping an RFC1157 Trap-PDU
|
||||
into a SNMPv2-Trap-PDU, this variable occurs as the
|
||||
last varbind."
|
||||
::= { snmpTrap 3 }
|
||||
|
||||
-- ::= { snmpTrap 4 } this OID is obsolete
|
||||
|
||||
-- well-known traps
|
||||
|
||||
snmpTraps OBJECT IDENTIFIER ::= { snmpMIBObjects 5 }
|
||||
|
||||
coldStart NOTIFICATION-TYPE
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"A coldStart trap signifies that the SNMP entity,
|
||||
supporting a notification originator application, is
|
||||
reinitializing itself and that its configuration may
|
||||
have been altered."
|
||||
::= { snmpTraps 1 }
|
||||
|
||||
warmStart NOTIFICATION-TYPE
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"A warmStart trap signifies that the SNMP entity,
|
||||
supporting a notification originator application,
|
||||
is reinitializing itself such that its configuration
|
||||
is unaltered."
|
||||
::= { snmpTraps 2 }
|
||||
|
||||
-- Note the linkDown NOTIFICATION-TYPE ::= { snmpTraps 3 }
|
||||
-- and the linkUp NOTIFICATION-TYPE ::= { snmpTraps 4 }
|
||||
-- are defined in RFC 2863 [RFC2863]
|
||||
|
||||
authenticationFailure NOTIFICATION-TYPE
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"An authenticationFailure trap signifies that the SNMP
|
||||
entity has received a protocol message that is not
|
||||
properly authenticated. While all implementations
|
||||
of SNMP entities MAY be capable of generating this
|
||||
trap, the snmpEnableAuthenTraps object indicates
|
||||
whether this trap will be generated."
|
||||
::= { snmpTraps 5 }
|
||||
|
||||
-- Note the egpNeighborLoss notification is defined
|
||||
-- as { snmpTraps 6 } in RFC 1213
|
||||
|
||||
-- the set group
|
||||
--
|
||||
-- a collection of objects which allow several cooperating
|
||||
-- command generator applications to coordinate their use of the
|
||||
-- set operation.
|
||||
|
||||
snmpSet OBJECT IDENTIFIER ::= { snmpMIBObjects 6 }
|
||||
|
||||
snmpSetSerialNo OBJECT-TYPE
|
||||
SYNTAX TestAndIncr
|
||||
MAX-ACCESS read-write
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"An advisory lock used to allow several cooperating
|
||||
command generator applications to coordinate their
|
||||
use of the SNMP set operation.
|
||||
|
||||
This object is used for coarse-grain coordination.
|
||||
To achieve fine-grain coordination, one or more similar
|
||||
objects might be defined within each MIB group, as
|
||||
appropriate."
|
||||
::= { snmpSet 1 }
|
||||
|
||||
-- conformance information
|
||||
|
||||
snmpMIBConformance
|
||||
OBJECT IDENTIFIER ::= { snmpMIB 2 }
|
||||
|
||||
snmpMIBCompliances
|
||||
OBJECT IDENTIFIER ::= { snmpMIBConformance 1 }
|
||||
snmpMIBGroups OBJECT IDENTIFIER ::= { snmpMIBConformance 2 }
|
||||
|
||||
-- compliance statements
|
||||
|
||||
-- ::= { snmpMIBCompliances 1 } this OID is obsolete
|
||||
snmpBasicCompliance MODULE-COMPLIANCE
|
||||
STATUS deprecated
|
||||
DESCRIPTION
|
||||
"The compliance statement for SNMPv2 entities which
|
||||
implement the SNMPv2 MIB.
|
||||
|
||||
This compliance statement is replaced by
|
||||
snmpBasicComplianceRev2."
|
||||
MODULE -- this module
|
||||
MANDATORY-GROUPS { snmpGroup, snmpSetGroup, systemGroup,
|
||||
snmpBasicNotificationsGroup }
|
||||
|
||||
GROUP snmpCommunityGroup
|
||||
DESCRIPTION
|
||||
"This group is mandatory for SNMPv2 entities which
|
||||
support community-based authentication."
|
||||
::= { snmpMIBCompliances 2 }
|
||||
|
||||
snmpBasicComplianceRev2 MODULE-COMPLIANCE
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"The compliance statement for SNMP entities which
|
||||
implement this MIB module."
|
||||
MODULE -- this module
|
||||
MANDATORY-GROUPS { snmpGroup, snmpSetGroup, systemGroup,
|
||||
snmpBasicNotificationsGroup }
|
||||
|
||||
GROUP snmpCommunityGroup
|
||||
DESCRIPTION
|
||||
"This group is mandatory for SNMP entities which
|
||||
support community-based authentication."
|
||||
|
||||
GROUP snmpWarmStartNotificationGroup
|
||||
DESCRIPTION
|
||||
"This group is mandatory for an SNMP entity which
|
||||
supports command responder applications, and is
|
||||
able to reinitialize itself such that its
|
||||
configuration is unaltered."
|
||||
::= { snmpMIBCompliances 3 }
|
||||
|
||||
-- units of conformance
|
||||
|
||||
-- ::= { snmpMIBGroups 1 } this OID is obsolete
|
||||
-- ::= { snmpMIBGroups 2 } this OID is obsolete
|
||||
-- ::= { snmpMIBGroups 3 } this OID is obsolete
|
||||
|
||||
-- ::= { snmpMIBGroups 4 } this OID is obsolete
|
||||
|
||||
snmpGroup OBJECT-GROUP
|
||||
OBJECTS { snmpInPkts,
|
||||
snmpInBadVersions,
|
||||
snmpInASNParseErrs,
|
||||
snmpSilentDrops,
|
||||
snmpProxyDrops,
|
||||
snmpEnableAuthenTraps }
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"A collection of objects providing basic instrumentation
|
||||
and control of an SNMP entity."
|
||||
::= { snmpMIBGroups 8 }
|
||||
|
||||
snmpCommunityGroup OBJECT-GROUP
|
||||
OBJECTS { snmpInBadCommunityNames,
|
||||
snmpInBadCommunityUses }
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"A collection of objects providing basic instrumentation
|
||||
of a SNMP entity which supports community-based
|
||||
authentication."
|
||||
::= { snmpMIBGroups 9 }
|
||||
|
||||
snmpSetGroup OBJECT-GROUP
|
||||
OBJECTS { snmpSetSerialNo }
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"A collection of objects which allow several cooperating
|
||||
command generator applications to coordinate their
|
||||
use of the set operation."
|
||||
::= { snmpMIBGroups 5 }
|
||||
|
||||
systemGroup OBJECT-GROUP
|
||||
OBJECTS { sysDescr, sysObjectID, sysUpTime,
|
||||
sysContact, sysName, sysLocation,
|
||||
sysServices,
|
||||
sysORLastChange, sysORID,
|
||||
sysORUpTime, sysORDescr }
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"The system group defines objects which are common to all
|
||||
managed systems."
|
||||
::= { snmpMIBGroups 6 }
|
||||
|
||||
snmpBasicNotificationsGroup NOTIFICATION-GROUP
|
||||
NOTIFICATIONS { coldStart, authenticationFailure }
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"The basic notifications implemented by an SNMP entity
|
||||
supporting command responder applications."
|
||||
::= { snmpMIBGroups 7 }
|
||||
|
||||
snmpWarmStartNotificationGroup NOTIFICATION-GROUP
|
||||
NOTIFICATIONS { warmStart }
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"An additional notification for an SNMP entity supporting
|
||||
command responder applications, if it is able to reinitialize
|
||||
itself such that its configuration is unaltered."
|
||||
::= { snmpMIBGroups 11 }
|
||||
|
||||
snmpNotificationGroup OBJECT-GROUP
|
||||
OBJECTS { snmpTrapOID, snmpTrapEnterprise }
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"These objects are required for entities
|
||||
which support notification originator applications."
|
||||
::= { snmpMIBGroups 12 }
|
||||
|
||||
-- definitions in RFC 1213 made obsolete by the inclusion of a
|
||||
-- subset of the snmp group in this MIB
|
||||
|
||||
snmpOutPkts OBJECT-TYPE
|
||||
SYNTAX Counter32
|
||||
MAX-ACCESS read-only
|
||||
STATUS obsolete
|
||||
DESCRIPTION
|
||||
"The total number of SNMP Messages which were
|
||||
passed from the SNMP protocol entity to the
|
||||
transport service."
|
||||
::= { snmp 2 }
|
||||
|
||||
-- { snmp 7 } is not used
|
||||
|
||||
snmpInTooBigs OBJECT-TYPE
|
||||
SYNTAX Counter32
|
||||
MAX-ACCESS read-only
|
||||
STATUS obsolete
|
||||
DESCRIPTION
|
||||
"The total number of SNMP PDUs which were
|
||||
delivered to the SNMP protocol entity and for
|
||||
which the value of the error-status field was
|
||||
`tooBig'."
|
||||
::= { snmp 8 }
|
||||
|
||||
snmpInNoSuchNames OBJECT-TYPE
|
||||
SYNTAX Counter32
|
||||
MAX-ACCESS read-only
|
||||
STATUS obsolete
|
||||
DESCRIPTION
|
||||
"The total number of SNMP PDUs which were
|
||||
delivered to the SNMP protocol entity and for
|
||||
which the value of the error-status field was
|
||||
`noSuchName'."
|
||||
::= { snmp 9 }
|
||||
|
||||
snmpInBadValues OBJECT-TYPE
|
||||
SYNTAX Counter32
|
||||
MAX-ACCESS read-only
|
||||
STATUS obsolete
|
||||
DESCRIPTION
|
||||
"The total number of SNMP PDUs which were
|
||||
delivered to the SNMP protocol entity and for
|
||||
which the value of the error-status field was
|
||||
`badValue'."
|
||||
::= { snmp 10 }
|
||||
|
||||
snmpInReadOnlys OBJECT-TYPE
|
||||
SYNTAX Counter32
|
||||
MAX-ACCESS read-only
|
||||
STATUS obsolete
|
||||
DESCRIPTION
|
||||
"The total number valid SNMP PDUs which were delivered
|
||||
to the SNMP protocol entity and for which the value
|
||||
of the error-status field was `readOnly'. It should
|
||||
be noted that it is a protocol error to generate an
|
||||
SNMP PDU which contains the value `readOnly' in the
|
||||
error-status field, as such this object is provided
|
||||
as a means of detecting incorrect implementations of
|
||||
the SNMP."
|
||||
::= { snmp 11 }
|
||||
|
||||
snmpInGenErrs OBJECT-TYPE
|
||||
SYNTAX Counter32
|
||||
MAX-ACCESS read-only
|
||||
STATUS obsolete
|
||||
DESCRIPTION
|
||||
"The total number of SNMP PDUs which were delivered
|
||||
to the SNMP protocol entity and for which the value
|
||||
of the error-status field was `genErr'."
|
||||
::= { snmp 12 }
|
||||
|
||||
snmpInTotalReqVars OBJECT-TYPE
|
||||
SYNTAX Counter32
|
||||
MAX-ACCESS read-only
|
||||
STATUS obsolete
|
||||
DESCRIPTION
|
||||
"The total number of MIB objects which have been
|
||||
retrieved successfully by the SNMP protocol entity
|
||||
as the result of receiving valid SNMP Get-Request
|
||||
and Get-Next PDUs."
|
||||
::= { snmp 13 }
|
||||
|
||||
snmpInTotalSetVars OBJECT-TYPE
|
||||
SYNTAX Counter32
|
||||
MAX-ACCESS read-only
|
||||
STATUS obsolete
|
||||
DESCRIPTION
|
||||
"The total number of MIB objects which have been
|
||||
altered successfully by the SNMP protocol entity as
|
||||
the result of receiving valid SNMP Set-Request PDUs."
|
||||
::= { snmp 14 }
|
||||
|
||||
snmpInGetRequests OBJECT-TYPE
|
||||
SYNTAX Counter32
|
||||
MAX-ACCESS read-only
|
||||
STATUS obsolete
|
||||
DESCRIPTION
|
||||
"The total number of SNMP Get-Request PDUs which
|
||||
have been accepted and processed by the SNMP
|
||||
protocol entity."
|
||||
::= { snmp 15 }
|
||||
|
||||
snmpInGetNexts OBJECT-TYPE
|
||||
SYNTAX Counter32
|
||||
MAX-ACCESS read-only
|
||||
STATUS obsolete
|
||||
DESCRIPTION
|
||||
"The total number of SNMP Get-Next PDUs which have been
|
||||
accepted and processed by the SNMP protocol entity."
|
||||
::= { snmp 16 }
|
||||
|
||||
snmpInSetRequests OBJECT-TYPE
|
||||
SYNTAX Counter32
|
||||
MAX-ACCESS read-only
|
||||
STATUS obsolete
|
||||
DESCRIPTION
|
||||
"The total number of SNMP Set-Request PDUs which
|
||||
have been accepted and processed by the SNMP protocol
|
||||
entity."
|
||||
::= { snmp 17 }
|
||||
|
||||
snmpInGetResponses OBJECT-TYPE
|
||||
SYNTAX Counter32
|
||||
MAX-ACCESS read-only
|
||||
STATUS obsolete
|
||||
DESCRIPTION
|
||||
"The total number of SNMP Get-Response PDUs which
|
||||
have been accepted and processed by the SNMP protocol
|
||||
entity."
|
||||
::= { snmp 18 }
|
||||
|
||||
snmpInTraps OBJECT-TYPE
|
||||
SYNTAX Counter32
|
||||
MAX-ACCESS read-only
|
||||
STATUS obsolete
|
||||
DESCRIPTION
|
||||
"The total number of SNMP Trap PDUs which have been
|
||||
accepted and processed by the SNMP protocol entity."
|
||||
::= { snmp 19 }
|
||||
|
||||
snmpOutTooBigs OBJECT-TYPE
|
||||
SYNTAX Counter32
|
||||
MAX-ACCESS read-only
|
||||
STATUS obsolete
|
||||
DESCRIPTION
|
||||
"The total number of SNMP PDUs which were generated
|
||||
by the SNMP protocol entity and for which the value
|
||||
of the error-status field was `tooBig.'"
|
||||
::= { snmp 20 }
|
||||
|
||||
snmpOutNoSuchNames OBJECT-TYPE
|
||||
SYNTAX Counter32
|
||||
MAX-ACCESS read-only
|
||||
STATUS obsolete
|
||||
DESCRIPTION
|
||||
"The total number of SNMP PDUs which were generated
|
||||
by the SNMP protocol entity and for which the value
|
||||
of the error-status was `noSuchName'."
|
||||
::= { snmp 21 }
|
||||
|
||||
snmpOutBadValues OBJECT-TYPE
|
||||
SYNTAX Counter32
|
||||
MAX-ACCESS read-only
|
||||
STATUS obsolete
|
||||
DESCRIPTION
|
||||
"The total number of SNMP PDUs which were generated
|
||||
by the SNMP protocol entity and for which the value
|
||||
of the error-status field was `badValue'."
|
||||
::= { snmp 22 }
|
||||
|
||||
-- { snmp 23 } is not used
|
||||
|
||||
snmpOutGenErrs OBJECT-TYPE
|
||||
SYNTAX Counter32
|
||||
MAX-ACCESS read-only
|
||||
STATUS obsolete
|
||||
DESCRIPTION
|
||||
"The total number of SNMP PDUs which were generated
|
||||
by the SNMP protocol entity and for which the value
|
||||
of the error-status field was `genErr'."
|
||||
::= { snmp 24 }
|
||||
|
||||
snmpOutGetRequests OBJECT-TYPE
|
||||
SYNTAX Counter32
|
||||
MAX-ACCESS read-only
|
||||
STATUS obsolete
|
||||
DESCRIPTION
|
||||
"The total number of SNMP Get-Request PDUs which
|
||||
have been generated by the SNMP protocol entity."
|
||||
::= { snmp 25 }
|
||||
|
||||
snmpOutGetNexts OBJECT-TYPE
|
||||
SYNTAX Counter32
|
||||
MAX-ACCESS read-only
|
||||
STATUS obsolete
|
||||
DESCRIPTION
|
||||
"The total number of SNMP Get-Next PDUs which have
|
||||
been generated by the SNMP protocol entity."
|
||||
::= { snmp 26 }
|
||||
|
||||
snmpOutSetRequests OBJECT-TYPE
|
||||
SYNTAX Counter32
|
||||
MAX-ACCESS read-only
|
||||
STATUS obsolete
|
||||
DESCRIPTION
|
||||
"The total number of SNMP Set-Request PDUs which
|
||||
have been generated by the SNMP protocol entity."
|
||||
::= { snmp 27 }
|
||||
|
||||
snmpOutGetResponses OBJECT-TYPE
|
||||
SYNTAX Counter32
|
||||
MAX-ACCESS read-only
|
||||
STATUS obsolete
|
||||
DESCRIPTION
|
||||
"The total number of SNMP Get-Response PDUs which
|
||||
have been generated by the SNMP protocol entity."
|
||||
::= { snmp 28 }
|
||||
|
||||
snmpOutTraps OBJECT-TYPE
|
||||
SYNTAX Counter32
|
||||
MAX-ACCESS read-only
|
||||
STATUS obsolete
|
||||
DESCRIPTION
|
||||
"The total number of SNMP Trap PDUs which have
|
||||
been generated by the SNMP protocol entity."
|
||||
::= { snmp 29 }
|
||||
|
||||
snmpObsoleteGroup OBJECT-GROUP
|
||||
OBJECTS { snmpOutPkts, snmpInTooBigs, snmpInNoSuchNames,
|
||||
snmpInBadValues, snmpInReadOnlys, snmpInGenErrs,
|
||||
snmpInTotalReqVars, snmpInTotalSetVars,
|
||||
snmpInGetRequests, snmpInGetNexts, snmpInSetRequests,
|
||||
snmpInGetResponses, snmpInTraps, snmpOutTooBigs,
|
||||
snmpOutNoSuchNames, snmpOutBadValues,
|
||||
snmpOutGenErrs, snmpOutGetRequests, snmpOutGetNexts,
|
||||
snmpOutSetRequests, snmpOutGetResponses, snmpOutTraps
|
||||
}
|
||||
STATUS obsolete
|
||||
DESCRIPTION
|
||||
"A collection of objects from RFC 1213 made obsolete
|
||||
by this MIB module."
|
||||
::= { snmpMIBGroups 10 }
|
||||
|
||||
END
|
||||
201
test/towerops/snmp/mib_validation_test.exs
Normal file
201
test/towerops/snmp/mib_validation_test.exs
Normal file
|
|
@ -0,0 +1,201 @@
|
|||
defmodule Towerops.Snmp.MibValidationTest do
|
||||
@moduledoc """
|
||||
Tests to validate that hardcoded OIDs in profile modules match the official MIB definitions.
|
||||
|
||||
This ensures our OID constants stay in sync with the authoritative MIB files.
|
||||
"""
|
||||
|
||||
use ExUnit.Case, async: true
|
||||
|
||||
alias Towerops.Snmp.MibParser
|
||||
|
||||
@mibs_dir Application.app_dir(:towerops, "priv/mibs")
|
||||
|
||||
describe "Base profile OID validation" do
|
||||
test "system OIDs match SNMPv2-MIB" do
|
||||
mib_file = Path.join([@mibs_dir, "standard", "SNMPv2-MIB"])
|
||||
|
||||
# These are the OIDs we use in Base.discover_system_info
|
||||
validations = [
|
||||
{"sysDescr", "1.3.6.1.2.1.1.1.0"},
|
||||
{"sysObjectID", "1.3.6.1.2.1.1.2.0"},
|
||||
{"sysUpTime", "1.3.6.1.2.1.1.3.0"},
|
||||
{"sysContact", "1.3.6.1.2.1.1.4.0"},
|
||||
{"sysName", "1.3.6.1.2.1.1.5.0"},
|
||||
{"sysLocation", "1.3.6.1.2.1.1.6.0"}
|
||||
]
|
||||
|
||||
case MibParser.parse_mib_file(mib_file) do
|
||||
{:ok, oids} ->
|
||||
Enum.each(validations, fn {object_name, expected_oid} ->
|
||||
# MIB defines the base OID, we add .0 for instance
|
||||
base_expected = String.replace_suffix(expected_oid, ".0", "")
|
||||
|
||||
case Map.get(oids, object_name) do
|
||||
^base_expected ->
|
||||
:ok
|
||||
|
||||
nil ->
|
||||
# Object might not be in this particular MIB file, skip
|
||||
:ok
|
||||
|
||||
actual_oid ->
|
||||
flunk("OID mismatch for #{object_name}: expected #{base_expected}, got #{actual_oid}")
|
||||
end
|
||||
end)
|
||||
|
||||
{:error, _reason} ->
|
||||
# MIB parsing failed, skip this test (MIB file might not exist yet)
|
||||
:ok
|
||||
end
|
||||
end
|
||||
|
||||
test "interface OIDs match IF-MIB" do
|
||||
mib_file = Path.join([@mibs_dir, "standard", "IF-MIB"])
|
||||
|
||||
validations = [
|
||||
{"ifIndex", "1.3.6.1.2.1.2.2.1.1"},
|
||||
{"ifDescr", "1.3.6.1.2.1.2.2.1.2"},
|
||||
{"ifType", "1.3.6.1.2.1.2.2.1.3"},
|
||||
{"ifSpeed", "1.3.6.1.2.1.2.2.1.5"},
|
||||
{"ifPhysAddress", "1.3.6.1.2.1.2.2.1.6"},
|
||||
{"ifAdminStatus", "1.3.6.1.2.1.2.2.1.7"},
|
||||
{"ifOperStatus", "1.3.6.1.2.1.2.2.1.8"},
|
||||
{"ifName", "1.3.6.1.2.1.31.1.1.1.1"},
|
||||
{"ifAlias", "1.3.6.1.2.1.31.1.1.1.18"}
|
||||
]
|
||||
|
||||
validate_oids(mib_file, validations)
|
||||
end
|
||||
|
||||
test "sensor OIDs match ENTITY-SENSOR-MIB" do
|
||||
mib_file = Path.join([@mibs_dir, "standard", "ENTITY-SENSOR-MIB"])
|
||||
|
||||
validations = [
|
||||
{"entPhySensorType", "1.3.6.1.2.1.99.1.1.1.1"},
|
||||
{"entPhySensorScale", "1.3.6.1.2.1.99.1.1.1.2"},
|
||||
{"entPhySensorValue", "1.3.6.1.2.1.99.1.1.1.4"},
|
||||
{"entPhySensorOperStatus", "1.3.6.1.2.1.99.1.1.1.5"}
|
||||
]
|
||||
|
||||
validate_oids(mib_file, validations)
|
||||
end
|
||||
end
|
||||
|
||||
describe "Cisco profile OID validation" do
|
||||
test "Cisco sensor OIDs match CISCO-ENTITY-SENSOR-MIB" do
|
||||
mib_file = Path.join([@mibs_dir, "cisco", "CISCO-ENTITY-SENSOR-MIB"])
|
||||
|
||||
validations = [
|
||||
{"entSensorType", "1.3.6.1.4.1.9.9.91.1.1.1.1.1"},
|
||||
{"entSensorScale", "1.3.6.1.4.1.9.9.91.1.1.1.1.2"},
|
||||
{"entSensorValue", "1.3.6.1.4.1.9.9.91.1.1.1.1.4"},
|
||||
{"entSensorStatus", "1.3.6.1.4.1.9.9.91.1.1.1.1.5"}
|
||||
]
|
||||
|
||||
validate_oids(mib_file, validations)
|
||||
end
|
||||
end
|
||||
|
||||
describe "NetSnmp profile OID validation" do
|
||||
test "LM-SENSORS OIDs match LM-SENSORS-MIB" do
|
||||
mib_file = Path.join([@mibs_dir, "net-snmp", "LM-SENSORS-MIB"])
|
||||
|
||||
validations = [
|
||||
{"lmTempSensorsDevice", "1.3.6.1.4.1.2021.13.16.2.1.2"},
|
||||
{"lmTempSensorsValue", "1.3.6.1.4.1.2021.13.16.2.1.3"},
|
||||
{"lmFanSensorsDevice", "1.3.6.1.4.1.2021.13.16.3.1.2"},
|
||||
{"lmFanSensorsValue", "1.3.6.1.4.1.2021.13.16.3.1.3"},
|
||||
{"lmVoltSensorsDevice", "1.3.6.1.4.1.2021.13.16.4.1.2"},
|
||||
{"lmVoltSensorsValue", "1.3.6.1.4.1.2021.13.16.4.1.3"}
|
||||
]
|
||||
|
||||
validate_oids(mib_file, validations)
|
||||
end
|
||||
|
||||
test "UCD-SNMP OIDs match UCD-SNMP-MIB" do
|
||||
mib_file = Path.join([@mibs_dir, "net-snmp", "UCD-SNMP-MIB"])
|
||||
|
||||
validations = [
|
||||
{"laLoad1", "1.3.6.1.4.1.2021.10.1.3.1"},
|
||||
{"laLoad5", "1.3.6.1.4.1.2021.10.1.3.2"},
|
||||
{"laLoad15", "1.3.6.1.4.1.2021.10.1.3.3"},
|
||||
{"memTotalReal", "1.3.6.1.4.1.2021.4.5.0"},
|
||||
{"memAvailReal", "1.3.6.1.4.1.2021.4.6.0"}
|
||||
]
|
||||
|
||||
# Remove .0 suffix for table entries
|
||||
validations =
|
||||
Enum.map(validations, fn {name, oid} ->
|
||||
{name, String.replace_suffix(oid, ".0", "")}
|
||||
end)
|
||||
|
||||
validate_oids(mib_file, validations)
|
||||
end
|
||||
end
|
||||
|
||||
describe "MIB parser functionality" do
|
||||
test "can parse standard MIB files" do
|
||||
mib_files = [
|
||||
Path.join([@mibs_dir, "standard", "SNMPv2-MIB"]),
|
||||
Path.join([@mibs_dir, "standard", "IF-MIB"]),
|
||||
Path.join([@mibs_dir, "standard", "ENTITY-SENSOR-MIB"])
|
||||
]
|
||||
|
||||
Enum.each(mib_files, fn mib_file ->
|
||||
if File.exists?(mib_file) do
|
||||
case MibParser.parse_mib_file(mib_file) do
|
||||
{:ok, oids} ->
|
||||
assert is_map(oids)
|
||||
assert map_size(oids) > 0
|
||||
|
||||
{:error, reason} ->
|
||||
flunk("Failed to parse #{Path.basename(mib_file)}: #{inspect(reason)}")
|
||||
end
|
||||
end
|
||||
end)
|
||||
end
|
||||
|
||||
test "list_mib_files returns all MIB files" do
|
||||
mib_files = MibParser.list_mib_files()
|
||||
|
||||
assert is_list(mib_files)
|
||||
|
||||
# Should have at least the standard MIBs
|
||||
assert Enum.any?(mib_files, &String.contains?(&1, "IF-MIB"))
|
||||
assert Enum.any?(mib_files, &String.contains?(&1, "SNMPv2-MIB"))
|
||||
end
|
||||
end
|
||||
|
||||
# Helper function to validate a list of OIDs against a MIB file
|
||||
defp validate_oids(mib_file, validations) do
|
||||
case MibParser.parse_mib_file(mib_file) do
|
||||
{:ok, oids} ->
|
||||
Enum.each(validations, &validate_single_oid(mib_file, oids, &1))
|
||||
|
||||
{:error, :enoent} ->
|
||||
# MIB file doesn't exist yet, skip validation
|
||||
:ok
|
||||
|
||||
{:error, reason} ->
|
||||
flunk("Failed to parse #{Path.basename(mib_file)}: #{inspect(reason)}")
|
||||
end
|
||||
end
|
||||
|
||||
defp validate_single_oid(mib_file, oids, {object_name, expected_oid}) do
|
||||
case Map.get(oids, object_name) do
|
||||
^expected_oid ->
|
||||
:ok
|
||||
|
||||
nil ->
|
||||
# Object might not be in this particular MIB file
|
||||
# This is OK - some objects might be defined elsewhere
|
||||
:ok
|
||||
|
||||
actual_oid ->
|
||||
flunk(
|
||||
"OID mismatch in #{Path.basename(mib_file)} for #{object_name}: expected #{expected_oid}, got #{actual_oid}"
|
||||
)
|
||||
end
|
||||
end
|
||||
end
|
||||
Loading…
Add table
Reference in a new issue