1CISCO-APPLIANCE-REDUNDANCY-MIB DEFINITIONS ::= BEGIN 2 3IMPORTS 4 MODULE-IDENTITY, 5 NOTIFICATION-TYPE, 6 OBJECT-TYPE, 7 Counter32, 8 Unsigned32 9 FROM SNMPv2-SMI 10 InetAddressType, 11 InetAddress 12 FROM INET-ADDRESS-MIB 13 InterfaceIndexOrZero 14 FROM IF-MIB 15 DateAndTime, 16 TruthValue, 17 TimeInterval, 18 TEXTUAL-CONVENTION 19 FROM SNMPv2-TC 20 MODULE-COMPLIANCE, 21 NOTIFICATION-GROUP, 22 OBJECT-GROUP 23 FROM SNMPv2-CONF 24 ciscoMgmt 25 FROM CISCO-SMI; 26 27ciscoApplianceRedundancyMIB MODULE-IDENTITY 28 LAST-UPDATED "200412230000Z" 29 ORGANIZATION "Cisco Systems, Inc." 30 CONTACT-INFO 31 "Cisco Systems 32 Customer Service 33 34 Postal: 170 W. Tasman Drive 35 San Jose, CA 95134 36 USA 37 38 Tel: +1 800 553-NETS 39 40 E-mail: cs-wlse@cisco.com" 41 DESCRIPTION 42 "This mib defines the SNMP objects to report the status of 43 High Availability (HA) functionality in Cisco network 44 management appliance devices. The HA functinality is 45 achieved via the redundancy of network management appliance 46 devices. 47 48 An network management appliance is a device which combines 49 hardware and software to provide specific network management 50 services. Cisco WLSE, Wireless Service Engine (WLSE) is such 51 an appliance. 52 53 The High Availability is achieved via redundancy of 54 appliances. This redundancy scheme is designed to support 55 hardware or software failure of the appliances in a non- 56 disruptive manner. Redundancy is achieved by configuring 57 a cluster of two appliances with one common virtual IP 58 address. The data is mirrored from the active appliance to 59 the standby appliance at regular intervals. 60 61 One of the appliances is in active mode, performing all 62 normal functions. The other appliance is in warm standby 63 mode; that is, the appliance is up but no application 64 services are running. 65 66 Both the active and standby appliances have their own IP 67 addresses. The active appliance also owns the virtual IP 68 address to which all the service requests are made. 69 70 The active appliance and standby appliance periodically poll 71 each other. If the standby appliance cannot reach the active 72 appliance, it will become the active appliance. This is 73 called a switchover event. The switchover can be caused by 74 other causes, for example, via user commands. 75 76 Both the active and standby appliances should implement 77 this MIB and report any exceptions caused by switchover 78 events." 79 80 ::= { ciscoMgmt 458 } 81 82ciscoApplRedundancyMIBObjects OBJECT IDENTIFIER 83 ::= { ciscoApplianceRedundancyMIB 1 } 84 85carConfigObjects OBJECT IDENTIFIER 86 ::= { ciscoApplRedundancyMIBObjects 1 } 87 88carSwitchOverObjects OBJECT IDENTIFIER 89 ::= { ciscoApplRedundancyMIBObjects 2 } 90 91-- Textual Conventions 92 93CarRedundancyState ::= TEXTUAL-CONVENTION 94 STATUS current 95 DESCRIPTION 96 "States of the HA redundancy: 97 98 notConfigured - The appliance is not configured for 99 redundancy. 100 101 starting - The appliance is configured for redundancy 102 and is initializing. This state could 103 apply to both active and standby 104 appliances. 105 106 active - The appliance is the active appliance. 107 108 preStandby - The appliance is configured to be 109 standby and is attempting to restore 110 data from the active appliance and is not 111 yet in the standby mode. 112 113 standby - The appliance is warm standby mode. 114 115 activeLostStandby - The active appliance is not getting any 116 response from the standby appliance. 117 118 activeLostNetwork - The active appliance is not getting any 119 response from the standby appliance or 120 from the default gateway. There is 121 possibly network issue. 122 123 standbyLostNetwork - The standby appliance is not getting any 124 response from the active appliance or 125 from the default gateway. There is 126 possibly network issue." 127 128 SYNTAX INTEGER { 129 notConfigured (1), 130 starting (2), 131 active (3), 132 preStandby (4), 133 standby (5), 134 activeLostStandby (6), 135 activeLostNetwork (7), 136 standbyLostNetwork (8) 137 } 138 139CarSwitchOverReason ::= TEXTUAL-CONVENTION 140 STATUS current 141 DESCRIPTION 142 "Cause of HA switchover event. 143 144 lossConnWithActive - Switchover is caused by loss of 145 connectivity to active appliance. 146 147 forcedSwitchOver - Switchover is caused by user command. 148 149 unknown - Unknown reason." 150 151 SYNTAX INTEGER { 152 lossConnWithActive(1), 153 forcedSwitchOver(2), 154 unknown(3) 155 } 156 157-- HA Device Configuration data 158 159carRedundancySyncInterval OBJECT-TYPE 160 SYNTAX TimeInterval 161 MAX-ACCESS read-only 162 STATUS current 163 DESCRIPTION 164 "Time interval at which the active and standby appliances 165 are synchronized. Synchronization consists of incrementally 166 backing up the data on the active appliance and restoring 167 on the standby appliance." 168 ::= { carConfigObjects 1 } 169 170carRedundancyCheckInterval OBJECT-TYPE 171 SYNTAX TimeInterval 172 MAX-ACCESS read-only 173 STATUS current 174 DESCRIPTION 175 "Time interval to check the availability status of each 176 appliance. Both the active and standby appliances will 177 check the status of each other in this time interval. 178 If the standby appliance is not able to connect to the 179 active appliance during this check, it will become the 180 active appliance." 181 ::= { carConfigObjects 2 } 182 183carRedundancyState OBJECT-TYPE 184 SYNTAX CarRedundancyState 185 MAX-ACCESS read-only 186 STATUS current 187 DESCRIPTION 188 "The HA redundancy state of this appliance device." 189 DEFVAL { notConfigured } 190 ::= { carConfigObjects 3 } 191 192carNotificationEnabled OBJECT-TYPE 193 SYNTAX TruthValue 194 MAX-ACCESS read-only 195 STATUS current 196 DESCRIPTION 197 "Enable or disable HA switchover event notifications via SNMP." 198 DEFVAL { false } 199 ::= { carConfigObjects 4 } 200 201carHAAddressTable OBJECT-TYPE 202 SYNTAX SEQUENCE OF CarHAAddressEntry 203 MAX-ACCESS not-accessible 204 STATUS current 205 DESCRIPTION 206 "This table keeps the current configuration of the address 207 information of the active and standby appliances. There is an 208 entry in this table corresponding to each network interface 209 that is configured for redundancy. Thus, the number of 210 entries in this table corresponds to the number of interfaces 211 configured for redundancy." 212 ::= { carConfigObjects 5 } 213 214carHAAddressEntry OBJECT-TYPE 215 SYNTAX CarHAAddressEntry 216 MAX-ACCESS not-accessible 217 STATUS current 218 DESCRIPTION 219 "An entry containing address information for HA configuration 220 on a network interface." 221 INDEX { carHAAddrTableIndex } 222 ::= { carHAAddressTable 1 } 223 224CarHAAddressEntry::= 225 SEQUENCE { 226 carHAAddrTableIndex InterfaceIndexOrZero, 227 carVirtualAddressType InetAddressType, 228 carVirtualAddress InetAddress, 229 carMyAddressType InetAddressType, 230 carMyAddress InetAddress, 231 carPeerAddressType InetAddressType, 232 carPeerAddress InetAddress 233 } 234 235carHAAddrTableIndex OBJECT-TYPE 236 SYNTAX InterfaceIndexOrZero 237 MAX-ACCESS not-accessible 238 STATUS current 239 DESCRIPTION 240 "This index matches the interface number for which the Virtual 241 IP configuration is maintained. For example, the Virtual IP 242 configured on interface eth0 will be index 0. Entry for eth1 243 will be index 1,... and so on." 244 ::= { carHAAddressEntry 1 } 245 246carVirtualAddressType OBJECT-TYPE 247 SYNTAX InetAddressType 248 MAX-ACCESS read-only 249 STATUS current 250 DESCRIPTION 251 "The type of address stored in carVirtualAddress." 252 ::= { carHAAddressEntry 2 } 253 254carVirtualAddress OBJECT-TYPE 255 SYNTAX InetAddress 256 MAX-ACCESS read-only 257 STATUS current 258 DESCRIPTION 259 "The virtual IP address configured for this interface. The type 260 of this mib variable is defined in carVirtualAddressType. 261 This address binds to the active appliance at all times. 262 All the management requests should be made to this address." 263 ::= { carHAAddressEntry 3 } 264 265carMyAddressType OBJECT-TYPE 266 SYNTAX InetAddressType 267 MAX-ACCESS read-only 268 STATUS current 269 DESCRIPTION 270 "The type of address stored in carMyAddress" 271 ::= { carHAAddressEntry 4 } 272 273carMyAddress OBJECT-TYPE 274 SYNTAX InetAddress 275 MAX-ACCESS read-only 276 STATUS current 277 DESCRIPTION 278 "The IP address of the interface configured for this HA 279 configuration in this appliance. The type of this mib variable 280 is defined in carMyAddressType. Note this value will not be 281 affected by switchover events." 282 ::= { carHAAddressEntry 5 } 283 284carPeerAddressType OBJECT-TYPE 285 SYNTAX InetAddressType 286 MAX-ACCESS read-only 287 STATUS current 288 DESCRIPTION 289 "The type of address stored in carPeerAddress" 290 ::= { carHAAddressEntry 6 } 291 292carPeerAddress OBJECT-TYPE 293 SYNTAX InetAddress 294 MAX-ACCESS read-only 295 STATUS current 296 DESCRIPTION 297 "The IP address of the interface configured for this HA 298 configuration in the peer appliance. The type of this mib 299 variable is defined in carPeerAddressType. Note this value 300 will not be affected by switchover events." 301 ::= { carHAAddressEntry 7 } 302 303-- HA SwitchOver data 304 305carLastSwitchOverReason OBJECT-TYPE 306 SYNTAX CarSwitchOverReason 307 MAX-ACCESS read-only 308 STATUS current 309 DESCRIPTION 310 "Cause for the most recent switchover." 311 ::= { carSwitchOverObjects 1 } 312 313carLastSwitchOverTime OBJECT-TYPE 314 SYNTAX DateAndTime 315 MAX-ACCESS read-only 316 STATUS current 317 DESCRIPTION 318 "The local date and time when the last switchover event 319 occurred and was logged to the system." 320 ::= { carSwitchOverObjects 2 } 321 322carTotalSwitchOvers OBJECT-TYPE 323 SYNTAX Counter32 324 MAX-ACCESS read-only 325 STATUS current 326 DESCRIPTION 327 "The number of all HA switchover events." 328 ::= { carSwitchOverObjects 3 } 329 330carMaxSwitchOverHistoryRecords OBJECT-TYPE 331 SYNTAX Unsigned32 (0..1024) 332 MAX-ACCESS read-only 333 STATUS current 334 DESCRIPTION 335 "The maximun number of records to keep in 336 carSwitchOverHistoryTable. New records will replace the old 337 records on a first-in-first-out basis. 338 339 A value of 0 indicates no history will be retained." 340 DEFVAL { 20 } 341 ::= { carSwitchOverObjects 4 } 342 343carSwitchOverHistoryTable OBJECT-TYPE 344 SYNTAX SEQUENCE OF CarSwitchOverHistEntry 345 MAX-ACCESS not-accessible 346 STATUS current 347 DESCRIPTION 348 "This table keeps an history of HA switchover 349 events. The maximum number of records is equal 350 or less than carMaxSwitchOverRecords." 351 ::= { carSwitchOverObjects 5 } 352 353carSwitchOverHistEntry OBJECT-TYPE 354 SYNTAX CarSwitchOverHistEntry 355 MAX-ACCESS not-accessible 356 STATUS current 357 DESCRIPTION 358 "An entry containing information about a HA switchover event." 359 INDEX { carSWHistTableIndex } 360 ::= { carSwitchOverHistoryTable 1 } 361 362CarSwitchOverHistEntry::= 363 SEQUENCE { 364 carSWHistTableIndex Unsigned32, 365 carSWHistActiveNodeAddressType InetAddressType, 366 carSWHistActiveNodeAddress InetAddress, 367 carSWHistStandbyNodeAddressType InetAddressType, 368 carSWHistStandbyNodeAddress InetAddress, 369 carSWHistEventTime DateAndTime, 370 carSWHistEventReason CarSwitchOverReason 371 } 372 373carSWHistTableIndex OBJECT-TYPE 374 SYNTAX Unsigned32 (1..4294967295) 375 MAX-ACCESS not-accessible 376 STATUS current 377 DESCRIPTION 378 "An monotonically increasing number for the sole purpose 379 of indexing entries. When it reaches maximum value, the agent 380 sets it back to 1." 381 ::= { carSwitchOverHistEntry 1 } 382 383carSWHistActiveNodeAddressType OBJECT-TYPE 384 SYNTAX InetAddressType 385 MAX-ACCESS read-only 386 STATUS current 387 DESCRIPTION 388 "Represents the type of address stored in 389 carSWHistActiveNodeAddress." 390 ::= { carSwitchOverHistEntry 2 } 391 392carSWHistActiveNodeAddress OBJECT-TYPE 393 SYNTAX InetAddress 394 MAX-ACCESS read-only 395 STATUS current 396 DESCRIPTION 397 "The address of the active appliance after the switchover 398 event. carSWHistActiveNodeAddressType specifies the type of 399 this mib variable." 400 ::= { carSwitchOverHistEntry 3 } 401 402carSWHistStandbyNodeAddressType OBJECT-TYPE 403 SYNTAX InetAddressType 404 MAX-ACCESS read-only 405 STATUS current 406 DESCRIPTION 407 "Represents the type of address stored in 408 carSWHistStandbyNodeAddress." 409 ::= { carSwitchOverHistEntry 4 } 410 411carSWHistStandbyNodeAddress OBJECT-TYPE 412 SYNTAX InetAddress 413 MAX-ACCESS read-only 414 STATUS current 415 DESCRIPTION 416 "The address of the standby appliance after the switchover 417 event. carSWHistStandbyNodeAddressType specifies the type 418 of this mib variable." 419 ::= { carSwitchOverHistEntry 5 } 420 421carSWHistEventTime OBJECT-TYPE 422 SYNTAX DateAndTime 423 MAX-ACCESS read-only 424 STATUS current 425 DESCRIPTION 426 "The local date and time when the switchover event occurred 427 and was logged to the system." 428 ::= { carSwitchOverHistEntry 6 } 429 430carSWHistEventReason OBJECT-TYPE 431 SYNTAX CarSwitchOverReason 432 MAX-ACCESS read-only 433 STATUS current 434 DESCRIPTION 435 "Cause of the switchover event." 436 ::= { carSwitchOverHistEntry 7 } 437 438-- Notifications 439 440carHAMIBNotifPrefix OBJECT IDENTIFIER 441 ::= { ciscoApplianceRedundancyMIB 2 } 442 443carHAMIBNotifications OBJECT IDENTIFIER 444 ::= { carHAMIBNotifPrefix 0 } 445 446carSwitchOverNotification NOTIFICATION-TYPE 447 OBJECTS { 448 carSWHistEventTime, 449 carSWHistEventReason, 450 carSWHistActiveNodeAddressType, 451 carSWHistActiveNodeAddress, 452 carSWHistStandbyNodeAddressType, 453 carSWHistStandbyNodeAddress 454 } 455 STATUS current 456 DESCRIPTION 457 "This notification is sent when a switchover event happened. 458 This notification can be enabled or disabled via 459 carNotificationEnabled." 460 ::= { carHAMIBNotifications 1 } 461 462-- conformance 463 464ciscoHAMIBConformance OBJECT IDENTIFIER 465 ::= { ciscoApplianceRedundancyMIB 3 } 466 467ciscoHAMIBCompliances OBJECT IDENTIFIER 468 ::= { ciscoHAMIBConformance 1 } 469 470ciscoHAMIBGroups OBJECT IDENTIFIER 471 ::= { ciscoHAMIBConformance 2 } 472 473-- compliance 474 475ciscoHAMIBCompliance MODULE-COMPLIANCE 476 STATUS current 477 DESCRIPTION 478 "The compliance statement for entities which implement the 479 CISCO-APPLIANCE-HIGH-AVAILABILITY-MIB." 480 481 MODULE -- This module 482 MANDATORY-GROUPS { 483 ciscoHAConfigDataGroup, 484 ciscoHASwitchOverDataGroup 485 } 486 487 GROUP ciscoHAExceptionNotifGroup 488 DESCRIPTION 489 "This group is optional." 490 ::= { ciscoHAMIBCompliances 1 } 491 492-- Units of conformance 493 494ciscoHAConfigDataGroup OBJECT-GROUP 495 OBJECTS { 496 carVirtualAddressType, 497 carVirtualAddress, 498 carMyAddressType, 499 carMyAddress, 500 carPeerAddressType, 501 carPeerAddress, 502 carRedundancySyncInterval, 503 carRedundancyCheckInterval, 504 carRedundancyState, 505 carNotificationEnabled 506 } 507 STATUS current 508 DESCRIPTION 509 "A collection of objects that enable the switchover event 510 notification for the HA network elements." 511 ::= { ciscoHAMIBGroups 1 } 512 513ciscoHASwitchOverDataGroup OBJECT-GROUP 514 OBJECTS { 515 carLastSwitchOverReason, 516 carLastSwitchOverTime, 517 carTotalSwitchOvers, 518 carMaxSwitchOverHistoryRecords, 519 carSWHistActiveNodeAddressType, 520 carSWHistActiveNodeAddress, 521 carSWHistStandbyNodeAddressType, 522 carSWHistStandbyNodeAddress, 523 carSWHistEventTime, 524 carSWHistEventReason 525 } 526 STATUS current 527 DESCRIPTION 528 "A collection of objects that record the switchover events 529 for HA network elements." 530 ::= { ciscoHAMIBGroups 2 } 531 532ciscoHAExceptionNotifGroup NOTIFICATION-GROUP 533 NOTIFICATIONS { 534 carSwitchOverNotification 535 } 536 STATUS current 537 DESCRIPTION 538 "A collection of the monitored exception events." 539 ::= { ciscoHAMIBGroups 3 } 540 541END 542