-- Copyright (c) 2000, 2001 by Extreme Networks -- All rights reserved. -- $Id: SWATCH-MIB.txt,v 1.1.1.1 2001/03/07 19:43:36 tflagg Exp $ -- -- MIB for ServiceWatch Network Services health and performance monitor -- -- 1.3.6.1.4.1.1931.1.1.2.1.1 -- 1 2 3 4 5 6 7 8 9101112 -- iso(1).org(3).dod(6).internet(1).private(4).enterprises(1).dms(1931). -- dmsMib(1).isPerf(1).isTable(3).isEntry(1).isIndex(1) -- -- .iso(1).org(3).dod(6).internet(1).private(4).enterprises(1).dms(1931). -- dmsMib(1).isPerf(1).isTable(3).isEntry(1).isStatus(3).X = ... -- -- iso.org.dod.internet.private.enterprises.dms.dmsmib.isperf.istable.isentry. -- isresponsetime.X -- -- DMS Trap OID: -- 1.3.6.1.4.1.1931.1.2 SWATCH-MIB DEFINITIONS ::= BEGIN IMPORTS mgmt, NetworkAddress, IpAddress, Counter, Gauge, TimeTicks FROM RFC1155-SMI OBJECT-TYPE FROM RFC-1212 enterprises FROM RFC1155-SMI OBJECT-TYPE FROM RFC-1212 DisplayString FROM RFC1213-MIB TRAP-TYPE FROM RFC-1215; -- This MIB module uses the extended OBJECT-TYPE macro as -- defined in [14]; -- MIB-II (same prefix as MIB-I) -- mib-2 OBJECT IDENTIFIER ::= { mgmt 1 } -- textual conventions -- DisplayString ::= -- OCTET STRING -- This data type is used to model textual information taken -- from the NVT ASCII character set. By convention, objects -- with this syntax are declared as having -- -- SIZE (0..255) PhysAddress ::= OCTET STRING -- This data type is used to model media addresses. For many -- types of media, this will be in a binary representation. -- For example, an ethernet address would be represented as -- a string of 6 octets. RequestStatus ::= INTEGER { -- the following two values are states: -- these values may be read or written active(1), inactive(2), -- the next value is a state. -- this value may be read, but not written -- (However it, never occurs in ServiceWatch) notReady(3), -- the following three values are -- actions: these values may be written, -- but are never read. -- createAndgo(4) is not used by ServiceWatch. createAndGo(4), createAndWait(5), remove(6) } -- groups in MIB-II -- system OBJECT IDENTIFIER ::= { mib-2 1 } -- interfaces OBJECT IDENTIFIER ::= { mib-2 2 } -- at OBJECT IDENTIFIER ::= { mib-2 3 } -- ip OBJECT IDENTIFIER ::= { mib-2 4 } -- icmp OBJECT IDENTIFIER ::= { mib-2 5 } -- tcp OBJECT IDENTIFIER ::= { mib-2 6 } -- udp OBJECT IDENTIFIER ::= { mib-2 7 } -- egp OBJECT IDENTIFIER ::= { mib-2 8 } -- historical (some say hysterical) -- cmot OBJECT IDENTIFIER ::= { mib-2 9 } -- transmission OBJECT IDENTIFIER ::= { mib-2 10 } -- snmp OBJECT IDENTIFIER ::= { mib-2 11 } -- MIB for the ServiceWatch Agent network services monitoring. -- This MIB module uses the extended OBJECT-TYPE macro as -- defined in [14]; -- MIB-II (same prefix as MIB-I) dms OBJECT IDENTIFIER ::= { enterprises 1931 } dmsMib OBJECT IDENTIFIER ::= { dms 1 } isPerf OBJECT IDENTIFIER ::= { dmsMib 1 } ---- -- Agent identity ---- swatchSnmpAgent OBJECT IDENTIFIER ::= { dms 250 } hpux9 OBJECT IDENTIFIER ::= { swatchSnmpAgent 1 } hpux10 OBJECT IDENTIFIER ::= { swatchSnmpAgent 6 } sunos4 OBJECT IDENTIFIER ::= { swatchSnmpAgent 2 } solaris OBJECT IDENTIFIER ::= { swatchSnmpAgent 3 } osf OBJECT IDENTIFIER ::= { swatchSnmpAgent 4 } ultrix OBJECT IDENTIFIER ::= { swatchSnmpAgent 5 } netbsd1 OBJECT IDENTIFIER ::= { swatchSnmpAgent 7 } freebsd OBJECT IDENTIFIER ::= { swatchSnmpAgent 8 } irix OBJECT IDENTIFIER ::= { swatchSnmpAgent 9 } linux OBJECT IDENTIFIER ::= { swatchSnmpAgent 10 } bsdi OBJECT IDENTIFIER ::= { swatchSnmpAgent 11 } openbsd OBJECT IDENTIFIER ::= { swatchSnmpAgent 12 } win32 OBJECT IDENTIFIER ::= { swatchSnmpAgent 13 } unknown OBJECT IDENTIFIER ::= { swatchSnmpAgent 255 } -- the isPerf group isNumber OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The number of network servers currently monitored by this agent." ::= { isPerf 1 } isNextIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The next available row index that can be used for the creation of a new ServiceWatch request. If there are no available rows, 0 is returned." ::= { isPerf 2 } isTable OBJECT-TYPE SYNTAX SEQUENCE OF IsEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "The list of network servers and their status. The number of entries is given by the value of isNumber." ::= { isPerf 3 } isEntry OBJECT-TYPE SYNTAX IsEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "An entry for a network server containing objects describing the health and performance of the network server." INDEX { isIndex } ::= { isTable 1 } IsEntry ::= SEQUENCE { isIndex INTEGER, isRequestName DisplayString, isStatus RequestStatus, isURL DisplayString, isUsername DisplayString, isPassword DisplayString, isProxy DisplayString, isServiceStatus INTEGER, isDescription DisplayString, isResponseTime DisplayString, isResponseTimeInteger INTEGER, isTimeExceeded INTEGER, isMaxWait INTEGER, isLevel DisplayString, isError INTEGER, isBytesRead INTEGER, isThroughPut INTEGER, isPortNumber INTEGER, isPortType INTEGER, isOptions INTEGER, isNRequests INTEGER, isInterval INTEGER, isRequestNumber INTEGER, isEventType INTEGER, isEprog DisplayString, isEmail DisplayString, isEpager DisplayString, isResponseType INTEGER, isResponseReason DisplayString, isLastAttempt DisplayString, isNCFails INTEGER, isNCFailsAlert INTEGER, isFirstFailed DisplayString, isFileType DisplayString, isIPAddr IpAddress, isData DisplayString } isIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "A unique value for each URL entry. Its value ranges between 1 and isNumber. Row/ index numbers start at row 1. around to 0, etc." ::= { isEntry 1 } isRequestName OBJECT-TYPE SYNTAX DisplayString (SIZE (0..31)) ACCESS read-write STATUS mandatory DESCRIPTION "The name of the ServiceWatch request." ::= { isEntry 2 } isStatus OBJECT-TYPE SYNTAX RequestStatus ACCESS read-write STATUS mandatory DESCRIPTION "See 'RequestStatus' definition for possible values, except the value of isStatus will never be notReady(3): if this row exists, it will ALWAYS be ready. The notReady(3) value typically means the row exists, but was missing information. In this case, ServiceWatch automatically fill in defaults for any values that were missing, so notReady(3) will NEVER set here." ::= { isEntry 3 } isURL OBJECT-TYPE SYNTAX DisplayString (SIZE (0..255)) ACCESS read-write STATUS mandatory DESCRIPTION "The URL monitored. You can add new URLs to be monitored by setting a URL in isURL." ::= { isEntry 4 } isUsername OBJECT-TYPE SYNTAX DisplayString (SIZE (0..31)) ACCESS read-write STATUS mandatory DESCRIPTION "The username to use for access to the network service. Currently used for web and ftp services only." ::= { isEntry 5 } isPassword OBJECT-TYPE SYNTAX DisplayString (SIZE (0..31)) ACCESS read-write STATUS mandatory DESCRIPTION "A password to use for access to the network service. Currently used for web and ftp services only." ::= { isEntry 6 } isProxy OBJECT-TYPE SYNTAX DisplayString (SIZE (0..31)) ACCESS read-write STATUS mandatory DESCRIPTION "The hostname of a web proxy server, if any. If an isProxy server is set to a web proxy server name, the request will be sent to the proxy server, instead of directly to the hostname specified in the URL." ::= { isEntry 7 } isServiceStatus OBJECT-TYPE SYNTAX INTEGER { up(1), down(2), unknown(3) } ACCESS read-only STATUS mandatory DESCRIPTION "The current operational state of the server." ::= { isEntry 8 } isDescription OBJECT-TYPE SYNTAX DisplayString (SIZE (0..127)) ACCESS read-only STATUS mandatory DESCRIPTION "A textual description of the server software." ::= { isEntry 9 } isResponseTime OBJECT-TYPE SYNTAX DisplayString (SIZE (0..15)) ACCESS read-only STATUS mandatory DESCRIPTION "The response time, in seconds, for the server to complete the request. Note: A string containing a floating point number: real floating point values do not exist in the SNMP protocol, so a floating point string is used. For the response time as an integer, refer to 'isResponseTimeInteger.'" ::= { isEntry 10 } isResponseTimeInteger OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The response time, in seconds, for the server to complete the request. (An integer.)" ::= { isEntry 11 } isTimeExceeded OBJECT-TYPE SYNTAX INTEGER { true(1), false(2), unknown(3) } ACCESS read-only STATUS mandatory DESCRIPTION "The time for the server to complete the request exceeded maximum amount of time allowed. (See the isMaxWait variable which is related to this variable.) The request to the server was consequently aborted It will be set to unknown(3) if the request is not active." ::= { isEntry 12 } isMaxWait OBJECT-TYPE SYNTAX INTEGER ACCESS read-write STATUS mandatory DESCRIPTION "The maximum amount of time to wait before timing out during an attempt to perform a query on the server." ::= { isEntry 13 } isLevel OBJECT-TYPE SYNTAX DisplayString (SIZE (0..15)) ACCESS read-write STATUS mandatory DESCRIPTION "The error level to set when an event occurs for this URL. The type of error level can be determined by the user: For example 1-10, or 'low', 'medium', 'high', etc." ::= { isEntry 14 } isError OBJECT-TYPE SYNTAX INTEGER { none(1), connection-timed-out(2), transmission-to-server-failed(3), receiving-from-server-failed(4), connect-to-server-failed(5), transfer-time-exceeded-maximum(6), web-retrieval-request-error(7), dns-warning-query-format-error(8), dns-warning-server-failure(9), dns-warning-name-error(10), dns-warning-has-not-implemented-this-kind-of-query(11), dns-warning-refused-to-perform-query(12), dns-warning-unknown-server-reply(13), dns-warning-incorrect-id-returned(14), dns-warning-response-not-in-correct-format(15), no-answer-from-server-after-connection(16), smtp-error-No-answer-after-connection(17), gopher-error-No-answer-after-request(18), smtp-error-Unexpected-response-maybe-wrong-port(19), unused(20), hostname-in-URL-not-found-via-name-service(21), bad-protocol-type-in-URL(22), unknown-monitoring-failure(23), child-poller-never-received-a-request(24), child-poller-died-unexpectedly(25), could-not-create-pipe-for-child(26), could-not-run-the-ServiceWatch-polling-program(27), could-not-fork-child-process(28), client-bootp-or-dhcp-port-used-by-another-process(29), telnet-error-appeared-to-not-be-a-telnet-server(30), telnet-error-server-could-not-accept-reply(31), ping-record-route-option-set-failed(32), unknown-error(33), unknown-error(34), could-not-exec-extensible-program(35), extensible-directory-missing-or-inaccessible(36), extensible-monitoring-filename-missing(37), extensible-file-open-failure(38), pipe-failure(39), protocol-specific-error(40), extend-program-sent-no-results(41), unknown-protocol-or-API-not-licensed(42), unknown-error(43), unknown-error(44), unknown-error(45), unknown-error(46), unknown-error(47), unknown-error(48), unknown-error(49), ssl-feature-not-enabled(50), ssl-connection-timed-out(51), ssl-connection-failed(52), unknown-error(53), unknown-error(54), snmp-no-such-objectid(55), snmp-no-such-name(56), snmp-error-response(57), unknown-error(58), could-not-create-socket(59), could-not-determine-our-enet-addr(60), invalid-server-response(61), unknown-error(62), unknown-error(63), unknown-error(64), unknown-error(65), unknown-error(66), unknown-error(67), unknown-error(68), unknown-error(69), unknown-error(70) } ACCESS read-only STATUS mandatory DESCRIPTION "The type of error that occurred (if any)." ::= { isEntry 15 } isBytesRead OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The number of data bytes read from the server on the last request." ::= { isEntry 16 } isThroughPut OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The rate of bytes per second read from the server on the last request." ::= { isEntry 17 } isPortNumber OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The TCP/IP or UDP/IP port number used to contact the network server. You specify the port number to use in isURL." ::= { isEntry 18 } isPortType OBJECT-TYPE SYNTAX INTEGER { tcp(1), udp(2) } ACCESS read-write STATUS mandatory DESCRIPTION "For DNS, isPortType can be either TCP or UDP. For other protocols, it can be only TCP, since the other protocols speak only TCP." ::= { isEntry 19 } isOptions OBJECT-TYPE -- SYNTAX BITSTRING { -- none(1), -- noQuery(2), -- reResolve(4), -- proxyNocache(8), -- logAll(32), -- notifyStateChange(64) -- allEprog(128) -- traceroute(256) -- disableAutoStart(512) -- sslWorkarounds(1024) -- -- } SYNTAX INTEGER ACCESS read-write STATUS mandatory DESCRIPTION "Options (bitstring) on how the server will be contacted. You can add these together to set more than one option: none(1): By defaut, a sample query to the server will be performed. noQuery(2): Do not attempt to do a query to the network server (it will only check the port to determine if there IS a server there. reResolve(4): Reresolve the hostname into an IP address immediately before EACH attempted contacted with the network server. proxyNocache(8): When using a proxy server, inform the proxy server to not use its cache. logAll(32): Log information from all poll requests to the log file. (Otherwise, only exceptions/traps will be logged.) notifyStateChange(64): Notify ONLY on a state change of a network service. For example, notify only if 1) A service has been down exactly NCFailsAlert times, OR: 2) A service has been down and then comes back up. Note: If NotifyStateChange is set, then only 1 notification will occur until/unless the network server comes up again. The KIND of notification done (trap and/or log to a file and/or run a program) is determined by the isEventType variable. allEprog(128): Run the program specified in isEprog after EACH poll attempt to the service (rather than only when there is an event, etc.). traceRoute(256): If an event occurs and email is sent (isEmail is set), then include a traceroute to the host that had the failed network service. disableAutoStart(512): Do not start this request during 'Start All Requests' or system reboots. sslWorkarounds(1024): Enable SSL bug workarounds." ::= { isEntry 20 } isNRequests OBJECT-TYPE SYNTAX INTEGER ACCESS read-write STATUS mandatory DESCRIPTION "The number of times to perform the request." ::= { isEntry 21 } isInterval OBJECT-TYPE SYNTAX INTEGER ACCESS read-write STATUS mandatory DESCRIPTION "The number of seconds to wait, after the completion of the last request, before starting the next request." ::= { isEntry 22 } isRequestNumber OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The request number (relates to isNRequests and isInterval." ::= { isEntry 23 } isEventType OBJECT-TYPE -- SYNTAX BITSTRING { -- none(1), -- log(2), -- snmp-trap(4), -- } SYNTAX INTEGER ACCESS read-write STATUS mandatory DESCRIPTION "The type of notification that will be performed. Add all of the options you wish to use and set isEventType to the total of these options. For example, if you want logging to a file (2) and an snmp-trap to be sent (4), then set isEventType to 6 (2 + 4). The default is snmp-trap(4). The possible choices are: none(1): No logging is performed. If this bit is set, all other bits are then cleared in this variable. log(2): Logging to a file is performed. snmp-trap(4): Sending an SNMP trap is performed." ::= { isEntry 24 } isEprog OBJECT-TYPE SYNTAX DisplayString (SIZE (0..1023)) ACCESS read-write STATUS mandatory DESCRIPTION "The filename of the program to run when an event occurs (or after every poll attempt if isOptions has allEprog set)." ::= { isEntry 25 } isEmail OBJECT-TYPE SYNTAX DisplayString (SIZE (0..127)) ACCESS read-write STATUS mandatory DESCRIPTION "The email address to send email when an event occurs. If this variable is not null, then email will be sent to this email address when an event occurs." ::= { isEntry 26 } isEpager OBJECT-TYPE SYNTAX DisplayString (SIZE (0..127)) ACCESS read-write STATUS mandatory DESCRIPTION "The email address of an alphanumeric pager to send email formatted for a pager when an event occurs. If this variable is not null, then email formatted for alphanumeric pagers will be sent to this email address when an event occurs." ::= { isEntry 27 } isNCFails OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The number of CONSECUTIVE failures when attempting to complete the request to a network server." ::= { isEntry 28 } isNCFailsAlert OBJECT-TYPE SYNTAX INTEGER ACCESS read-write STATUS mandatory DESCRIPTION "Report a failure when isNCFailsAlert consecutive failures have occurred. Failures are reported as defined by the isEventType variable. The default for isNCFailsAlert is 1: After 1 failure, report it." ::= { isEntry 29 } isResponseType OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The response type as returned from the server. For example 200-299 means the request succeeded, 400-499 are bad requests, etc." ::= { isEntry 30 } isResponseReason OBJECT-TYPE SYNTAX DisplayString (SIZE (0..127)) ACCESS read-only STATUS mandatory DESCRIPTION "A textual description of the server's response type, as returned from the server. (This response should contain the string describing the responseType byte.)" ::= { isEntry 31 } isLastAttempt OBJECT-TYPE SYNTAX DisplayString (SIZE (0..31)) ACCESS read-only STATUS mandatory DESCRIPTION "The last time that this agent attempted to contact the network server. The format returned: Thu Oct 3 13:18:50 1996 " ::= { isEntry 32 } isFirstFailed OBJECT-TYPE SYNTAX DisplayString (SIZE (0..31)) ACCESS read-only STATUS mandatory DESCRIPTION "The first time the network service failed this round of failures. The format returned: Tue Jan 4 23:08:21 2000" ::= { isEntry 33 } isFileType OBJECT-TYPE SYNTAX DisplayString (SIZE (0..15)) ACCESS read-only STATUS mandatory DESCRIPTION "The retrieved file's type, such as text/html, image/gif etc. (Applies to web servers only, currently)." ::= { isEntry 34 } isIPAddr OBJECT-TYPE SYNTAX IpAddress ACCESS read-only STATUS mandatory DESCRIPTION "The IP address to which this entry's monitoring information pertains." ::= { isEntry 35 } isData OBJECT-TYPE SYNTAX DisplayString (SIZE (0..516)) ACCESS read-only STATUS mandatory DESCRIPTION "Additional information or data returned from the sample request." ::= { isEntry 36 } -- ********************************************************************** -- is traps (server up/down) -- ********************************************************************** isTraps OBJECT IDENTIFIER ::= { dmsMib 2 } serverFailed TRAP-TYPE ENTERPRISE isTraps VARIABLES { isURL, isUsername, isProxy, isServiceStatus, isResponseTimeInteger, isTimeExceeded, isMaxWait, isLevel, isError, isPortNumber, isPortType, isResponseType, isResponseReason, isRequestNumber, isNCFails, isNCFailsAlert, isLastAttempt } DESCRIPTION "The network server failed to correctly reply to the request in the time allowed." --#SUMMARY "Received ServiceWatch 'down' event $E, $# args: $*" --#SEVERITY MAJOR ::= 1 serverUp TRAP-TYPE ENTERPRISE isTraps VARIABLES { isURL, isUsername, isProxy, isServiceStatus, isResponseTimeInteger, isTimeExceeded, isMaxWait, isLevel, isError, isPortNumber, isPortType, isResponseType, isResponseReason, isRequestNumber, isNCFails, isNCFailsAlert, isLastAttempt } DESCRIPTION "If notifyStateChange is set in isOptions and the state of the network service changed from down to up, then a 'serverUp' trap is sent." --#SUMMARY "Received ServiceWatch 'up' event $E, $# args: $*" --#SEVERITY NORMAL ::= 2 -- ********************************************************************** -- dms start/stop traps. -- ********************************************************************** dmsTraps OBJECT IDENTIFIER ::= { dmsMib 3 } dmsStart TRAP-TYPE ENTERPRISE dmsTraps DESCRIPTION "This trap is sent when the ServiceWatch agent starts" --#SUMMARY "ServiceWatch SNMP agent started." --#SEVERITY NORMAL ::= 1 dmsShutdown TRAP-TYPE ENTERPRISE dmsTraps DESCRIPTION "This trap is sent when the ServiceWatch agent terminates" --#SUMMARY "ServiceWatch SNMP agent terminated." --#SEVERITY WARNING ::= 2 END