1 --
   2 -- CDDL HEADER START
   3 --
   4 -- The contents of this file are subject to the terms of the
   5 -- Common Development and Distribution License (the "License").
   6 -- You may not use this file except in compliance with the License.
   7 --
   8 -- You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
   9 -- or http://www.opensolaris.org/os/licensing.
  10 -- See the License for the specific language governing permissions
  11 -- and limitations under the License.
  12 --
  13 -- When distributing Covered Code, include this CDDL HEADER in each
  14 -- file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  15 -- If applicable, add the following below this CDDL HEADER, with the
  16 -- fields enclosed by brackets "[]" replaced with your own identifying
  17 -- information: Portions Copyright [yyyy] [name of copyright owner]
  18 --
  19 -- CDDL HEADER END
  20 --
  21 
  22 --
  23 -- Copyright (c) 2008, 2010,  Oracle and/or its affiliates. All rights reserved.
  24 -- Copyright 2018 Nexenta Systems, Inc.
  25 --
  26 
  27 SUN-FM-MIB DEFINITIONS ::= BEGIN
  28 
  29 IMPORTS
  30         products
  31                 FROM SUN-MIB
  32         Gauge32, Unsigned32, OBJECT-TYPE, NOTIFICATION-TYPE, MODULE-IDENTITY
  33                 FROM SNMPv2-SMI
  34         TEXTUAL-CONVENTION, DateAndTime, DisplayString
  35                 FROM SNMPv2-TC
  36         OBJECT-GROUP, NOTIFICATION-GROUP
  37                 FROM SNMPv2-CONF
  38         URLString
  39                 FROM NETWORK-SERVICES-MIB;
  40 
  41 sunFmMIB MODULE-IDENTITY
  42         LAST-UPDATED    "201803120000Z"
  43         ORGANIZATION    "Nexenta Systems, Inc."
  44         CONTACT-INFO    "https://www.nexenta.com"
  45         DESCRIPTION
  46                 "Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
  47                 Copyright 2018 Nexenta Systems, Inc.
  48 
  49                 MIB providing access to Fault Manager information"
  50         REVISION        "201803120000Z"
  51         DESCRIPTION     "Version: 1.3"
  52         ::= { fm 1 }
  53 
  54 fm OBJECT IDENTIFIER ::= { products 195 }
  55 
  56 SunFmUuidString ::= TEXTUAL-CONVENTION
  57         STATUS  current
  58         DESCRIPTION
  59                 "Represents a Universal Unique Identifier (UUID)."
  60         SYNTAX  OCTET STRING (SIZE (0..64))
  61 
  62 SunFmModuleState ::= TEXTUAL-CONVENTION
  63         STATUS  current
  64         DESCRIPTION
  65                 "Represents the status of an fmd(1M) module."
  66         SYNTAX  INTEGER {
  67                 other(1),       -- Unknown or unsupported
  68                 active(2),
  69                 failed(3)
  70         }
  71 
  72 SunFmResourceState ::= TEXTUAL-CONVENTION
  73         STATUS  current
  74         DESCRIPTION
  75                 "Represents the status of a system resource as diagnosed
  76                 by the fault manager."
  77         SYNTAX  INTEGER {
  78                 other(1),       -- Unknown or unsupported
  79                 ok(2),
  80                 degraded(3),
  81                 unknown(4),
  82                 faulted(5)
  83         }
  84 
  85 SunFmEventState ::= TEXTUAL-CONVENTION
  86         STATUS  current
  87         DESCRIPTION
  88                 "Represents the status of a suspect as diagnosed
  89                 by the fault manager."
  90         SYNTAX  INTEGER {
  91                 other(1),       -- Unknown or unsupported
  92                 faulty(2),
  93                 removed(3),
  94                 replaced(4),
  95                 repaired(5),
  96                 acquitted(6)
  97         }
  98 
  99 --
 100 -- The problem table is analogous to the output of fmadm faulty organized
 101 -- by the UUID of the case in which the faulty diagnosis was made.  The
 102 -- list of events contributing to this diagnosis is in a separate table
 103 -- (fmFaultEventTable).  Because SNMP does not allow nested tables, we
 104 -- indicate here only the number of events contributing to the diagnosis.
 105 --
 106 
 107 sunFmProblemTable OBJECT-TYPE
 108         SYNTAX          SEQUENCE OF SunFmProblemEntry
 109         MAX-ACCESS      not-accessible
 110         STATUS          current
 111         DESCRIPTION
 112                 "Table listing all of the known problems that have been
 113                 diagnosed by the fault manager associated with this managed
 114                 system element that are still present in that system."
 115         ::= { sunFmMIB 1 }
 116 
 117 sunFmProblemEntry OBJECT-TYPE
 118         SYNTAX          SunFmProblemEntry
 119         MAX-ACCESS      not-accessible
 120         STATUS          current
 121         DESCRIPTION
 122                 "A problem diagnosed by the fault manager and still
 123                 present in the system."
 124         INDEX           { sunFmProblemUUIDIndex }
 125         ::= { sunFmProblemTable 1 }
 126 
 127 SunFmProblemEntry ::= SEQUENCE {
 128         sunFmProblemUUIDIndex           SunFmUuidString,
 129         sunFmProblemUUID                SunFmUuidString,
 130         sunFmProblemHostname            DisplayString,
 131         sunFmProblemCode                DisplayString,
 132         sunFmProblemType                DisplayString,
 133         sunFmProblemSeverity            DisplayString,
 134         sunFmProblemURL                 URLString,
 135         sunFmProblemDescription         DisplayString,
 136         sunFmProblemFMRI                DisplayString,
 137         sunFmProblemDiagEngine          URLString,
 138         sunFmProblemDiagTime            DateAndTime,
 139         sunFmProblemSuspectCount        Gauge32
 140 }
 141 
 142 sunFmProblemUUIDIndex OBJECT-TYPE
 143         SYNTAX          SunFmUuidString
 144         MAX-ACCESS      not-accessible
 145         STATUS          current
 146         DESCRIPTION
 147                 "The Universal Unique Identifier (UUID) for this problem, as
 148                 recorded by fmd(1M) and shown by fmadm(1M) or fmdump(1M).
 149                 This is the index into sunFmProblemTable."
 150         ::= { sunFmProblemEntry 1 }
 151 
 152 sunFmProblemUUID OBJECT-TYPE
 153         SYNTAX          SunFmUuidString
 154         MAX-ACCESS      read-only
 155         STATUS          current
 156         DESCRIPTION
 157                 "The Universal Unique Identifier (UUID) for this problem, as
 158                 recorded by fmd(1M) and shown by fmadm(1M) or fmdump(1M)."
 159         ::= { sunFmProblemEntry 2 }
 160 
 161 sunFmProblemHostname OBJECT-TYPE
 162         SYNTAX          DisplayString
 163         MAX-ACCESS      read-only
 164         STATUS          current
 165         DESCRIPTION
 166                 "Hostname of the system on which the problem occurred."
 167         ::= { sunFmProblemEntry 3 }
 168 
 169 sunFmProblemCode OBJECT-TYPE
 170         SYNTAX          DisplayString
 171         MAX-ACCESS      read-only
 172         STATUS          current
 173         DESCRIPTION
 174                 "The static message identifier for this class of
 175                 problem, as recorded by fmd(1M) and shown by fmdump(1M)."
 176         ::= { sunFmProblemEntry 4 }
 177 
 178 sunFmProblemType OBJECT-TYPE
 179         SYNTAX          DisplayString
 180         MAX-ACCESS      read-only
 181         STATUS          current
 182         DESCRIPTION
 183                 "The type of this problem."
 184         ::= { sunFmProblemEntry 5 }
 185 
 186 sunFmProblemSeverity OBJECT-TYPE
 187         SYNTAX          DisplayString
 188         MAX-ACCESS      read-only
 189         STATUS          current
 190         DESCRIPTION
 191                 "The severity of this problem."
 192         ::= { sunFmProblemEntry 6 }
 193 
 194 sunFmProblemURL OBJECT-TYPE
 195         SYNTAX          URLString
 196         MAX-ACCESS      read-only
 197         STATUS          current
 198         DESCRIPTION
 199                 "The URL of an appropriate knowledge article providing more
 200                 detailed information about this problem."
 201         ::= { sunFmProblemEntry 7 }
 202 
 203 sunFmProblemDescription OBJECT-TYPE
 204         SYNTAX          DisplayString
 205         MAX-ACCESS      read-only
 206         STATUS          current
 207         DESCRIPTION
 208                 "The short problem description."
 209         ::= { sunFmProblemEntry 8 }
 210 
 211 sunFmProblemFMRI OBJECT-TYPE
 212         SYNTAX          DisplayString
 213         MAX-ACCESS      read-only
 214         STATUS          current
 215         DESCRIPTION
 216                 "The FMRI of the SMF service associated with this problem
 217                 (if any)."
 218         ::= { sunFmProblemEntry 9 }
 219 
 220 sunFmProblemDiagEngine OBJECT-TYPE
 221         SYNTAX          URLString
 222         MAX-ACCESS      read-only
 223         STATUS          current
 224         DESCRIPTION
 225                 "The FMRI of the Fault Manager diagnosis engine that
 226                 performed the diagnosis of this problem, including its version."
 227         ::= { sunFmProblemEntry 10 }
 228 
 229 sunFmProblemDiagTime OBJECT-TYPE
 230         SYNTAX          DateAndTime
 231         MAX-ACCESS      read-only
 232         STATUS          current
 233         DESCRIPTION
 234                 "The date and time at which the problem was diagnosed."
 235         ::= { sunFmProblemEntry 11 }
 236 
 237 sunFmProblemSuspectCount OBJECT-TYPE
 238         SYNTAX          Gauge32
 239         MAX-ACCESS      read-only
 240         STATUS          current
 241         DESCRIPTION
 242                 "The number of individual suspect defects or faults
 243                 associated with this problem diagnosis, as shown by
 244                 fmdump(1M) -v -u <UUID>."
 245         ::= { sunFmProblemEntry 12 }
 246 
 247 --
 248 -- Events are indexed by the associated problem UUID and an index ranging
 249 -- from 1 to sunFmProblemEntry.fmProblemSuspectCount.<UUID> for easy retrieval
 250 -- and reconstruction of the information available via fmdump -v.  A
 251 -- fault appears once for each diagnosis referencing it.
 252 --
 253 
 254 sunFmFaultEventTable OBJECT-TYPE
 255         SYNTAX          SEQUENCE OF SunFmFaultEventEntry
 256         MAX-ACCESS      not-accessible
 257         STATUS          current
 258         DESCRIPTION
 259                 "List of individual suspect defects or faults associated with
 260                 a problem diagnosis, as shown by fmdump(1M) -v -u <UUID>."
 261         ::= { sunFmMIB 2 }
 262 
 263 sunFmFaultEventEntry OBJECT-TYPE
 264         SYNTAX          SunFmFaultEventEntry
 265         MAX-ACCESS      not-accessible
 266         STATUS          current
 267         DESCRIPTION
 268                 "Fault Management fault or defect event containing a
 269                 suspect problem and the corresponding FRU and ASRU."
 270         INDEX   { sunFmFaultEventUUIDIndex, sunFmFaultEventIndex }
 271         ::= { sunFmFaultEventTable 1 }
 272 
 273 SunFmFaultEventEntry ::= SEQUENCE {
 274         sunFmFaultEventUUIDIndex        SunFmUuidString,
 275         sunFmFaultEventIndex            Unsigned32,
 276         sunFmFaultEventProblemUUID      SunFmUuidString,
 277         sunFmFaultEventClass            DisplayString,
 278         sunFmFaultEventCertainty        Gauge32,
 279         sunFmFaultEventASRU             URLString,
 280         sunFmFaultEventFRU              URLString,
 281         sunFmFaultEventResource         URLString,
 282         sunFmFaultEventStatus           SunFmEventState,
 283         sunFmFaultEventLocation         URLString
 284 }
 285 
 286 sunFmFaultEventUUIDIndex OBJECT-TYPE
 287         SYNTAX          SunFmUuidString
 288         MAX-ACCESS      not-accessible
 289         STATUS          current
 290         DESCRIPTION
 291                 "UUID of a problem diagnosis with which this event is
 292                 associated.  An event may appear multiple times in association
 293                 with different diagnoses.  This is an index into
 294                 sunFmFaultEventTable."
 295         ::= { sunFmFaultEventEntry 1 }
 296 
 297 sunFmFaultEventIndex OBJECT-TYPE
 298         SYNTAX          Unsigned32
 299         MAX-ACCESS      not-accessible
 300         STATUS          current
 301         DESCRIPTION
 302                 "Index number of this event with respect to the problem
 303                 diagnosis."
 304         ::= { sunFmFaultEventEntry 2 }
 305 
 306 sunFmFaultEventProblemUUID OBJECT-TYPE
 307         SYNTAX          SunFmUuidString
 308         MAX-ACCESS      read-only
 309         STATUS          current
 310         DESCRIPTION
 311                 "UUID of a problem diagnosis with which this event is
 312                 associated.  An event may appear multiple times in association
 313                 with different diagnoses."
 314         ::= { sunFmFaultEventEntry 3 }
 315 
 316 sunFmFaultEventClass OBJECT-TYPE
 317         SYNTAX          DisplayString
 318         MAX-ACCESS      read-only
 319         STATUS          current
 320         DESCRIPTION
 321                 "Fault Management event class string."
 322         ::= { sunFmFaultEventEntry 4 }
 323 
 324 sunFmFaultEventCertainty OBJECT-TYPE
 325         SYNTAX          Gauge32 (0..100)
 326         MAX-ACCESS      read-only
 327         STATUS          current
 328         DESCRIPTION
 329                 "Percentage likelihood associated with this suspect for
 330                 this diagnosis."
 331         ::= { sunFmFaultEventEntry 5 }
 332 
 333 sunFmFaultEventASRU OBJECT-TYPE
 334         SYNTAX          URLString
 335         MAX-ACCESS      read-only
 336         STATUS          current
 337         DESCRIPTION
 338                 "FMRI of the Automated System Reconfiguration Unit (ASRU)
 339                 that is believed to contain the specified fault or defect."
 340         ::= { sunFmFaultEventEntry 6 }
 341 
 342 sunFmFaultEventFRU OBJECT-TYPE
 343         SYNTAX          URLString
 344         MAX-ACCESS      read-only
 345         STATUS          current
 346         DESCRIPTION
 347                 "FMRI of the Field Replaceable Unit (FRU) that should be
 348                 replaced in order to repair the specified fault or defect."
 349         ::= { sunFmFaultEventEntry 7 }
 350 
 351 sunFmFaultEventResource OBJECT-TYPE
 352         SYNTAX          URLString
 353         MAX-ACCESS      read-only
 354         STATUS          current
 355         DESCRIPTION
 356                 "FMRI of the resource responsible for the generation of
 357                 the telemetry leading to the diagnosis."
 358         ::= { sunFmFaultEventEntry 8 }
 359 
 360 sunFmFaultEventStatus OBJECT-TYPE
 361         SYNTAX          SunFmEventState
 362         MAX-ACCESS      read-only
 363         STATUS          current
 364         DESCRIPTION
 365                 "The current status of this suspect for this diagnosis.
 366                 See fmadm(1M) faulty."
 367         ::= { sunFmFaultEventEntry 9 }
 368 
 369 sunFmFaultEventLocation OBJECT-TYPE
 370         SYNTAX          URLString
 371         MAX-ACCESS      read-only
 372         STATUS          current
 373         DESCRIPTION
 374                 "Label of the Field Replaceable Unit (FRU) that should be
 375                 replaced in order to repair the specified fault or defect."
 376         ::= { sunFmFaultEventEntry 10 }
 377 
 378 --
 379 -- sunFmModuleTable provides fmd configuration information equivalent to
 380 -- the output of fmadm config.
 381 --
 382 
 383 sunFmModuleTable OBJECT-TYPE
 384         SYNTAX          SEQUENCE OF SunFmModuleEntry
 385         MAX-ACCESS      not-accessible
 386         STATUS          current
 387         DESCRIPTION
 388                 "List of modules configured in fmd(1M)."
 389         ::= { sunFmMIB 3 }
 390 
 391 sunFmModuleEntry OBJECT-TYPE
 392         SYNTAX          SunFmModuleEntry
 393         MAX-ACCESS      not-accessible
 394         STATUS          current
 395         DESCRIPTION
 396                 "A module which has been loaded into fmd(1M) to handle events.
 397                 The information provided is equivalent to the output of
 398                 fmadm(1) config'"
 399         INDEX   { sunFmModuleIndex }
 400         ::= { sunFmModuleTable 1 }
 401 
 402 SunFmModuleEntry ::= SEQUENCE {
 403         sunFmModuleIndex                Unsigned32,
 404         sunFmModuleName                 DisplayString,
 405         sunFmModuleVersion              DisplayString,
 406         sunFmModuleStatus               SunFmModuleState,
 407         sunFmModuleDescription          DisplayString
 408 }
 409 
 410 sunFmModuleIndex OBJECT-TYPE
 411         SYNTAX          Unsigned32
 412         MAX-ACCESS      not-accessible
 413         STATUS          current
 414         DESCRIPTION
 415                 "Unique integer index associated with this fault management
 416                 module's entry."
 417         ::= { sunFmModuleEntry 1 }
 418 
 419 sunFmModuleName OBJECT-TYPE
 420         SYNTAX          DisplayString (SIZE(0..64))
 421         MAX-ACCESS      read-only
 422         STATUS          current
 423         DESCRIPTION
 424                 "Name of the fault management module."
 425         ::= { sunFmModuleEntry 2 }
 426 
 427 sunFmModuleVersion OBJECT-TYPE
 428         SYNTAX          DisplayString
 429         MAX-ACCESS      read-only
 430         STATUS          current
 431         DESCRIPTION
 432                 "Version string associated with the fault management module."
 433         ::= { sunFmModuleEntry 3 }
 434 
 435 sunFmModuleStatus OBJECT-TYPE
 436         SYNTAX          SunFmModuleState
 437         MAX-ACCESS      read-only
 438         STATUS          current
 439         DESCRIPTION
 440                 "Current status of the fault management module."
 441         ::= { sunFmModuleEntry 4 }
 442 
 443 sunFmModuleDescription OBJECT-TYPE
 444         SYNTAX          DisplayString
 445         MAX-ACCESS      read-only
 446         STATUS          current
 447         DESCRIPTION
 448                 "A text description of the fault management module."
 449         ::= { sunFmModuleEntry 5 }
 450 
 451 sunFmResourceCount OBJECT-TYPE
 452         SYNTAX          Gauge32
 453         MAX-ACCESS      read-only
 454         STATUS          current
 455         DESCRIPTION
 456                 "The number of managed elements currently believed by
 457                 the fault manager to be faulty."
 458         ::= { sunFmMIB 4 }
 459 
 460 sunFmResourceTable OBJECT-TYPE
 461         SYNTAX          SEQUENCE OF SunFmResourceEntry
 462         MAX-ACCESS      not-accessible
 463         STATUS          current
 464         DESCRIPTION
 465                 "A table containing information about all resources for which
 466                 the fault manager has received telemetry.  This is the same
 467                 information provided by the fmadm(1M) faulty command."
 468         ::= { sunFmMIB 5 }
 469 
 470 sunFmResourceEntry OBJECT-TYPE
 471         SYNTAX          SunFmResourceEntry
 472         MAX-ACCESS      not-accessible
 473         STATUS          current
 474         DESCRIPTION
 475                 "Information about the state of a resource the fault manager
 476                 believes to be faulty."
 477         INDEX           { sunFmResourceIndex }
 478         ::= { sunFmResourceTable 1 }
 479 
 480 SunFmResourceEntry ::= SEQUENCE {
 481         sunFmResourceIndex              Unsigned32,
 482         sunFmResourceFMRI               DisplayString,
 483         sunFmResourceStatus             SunFmResourceState,
 484         sunFmResourceDiagnosisUUID      SunFmUuidString
 485 }
 486 
 487 sunFmResourceIndex OBJECT-TYPE
 488         SYNTAX          Unsigned32
 489         MAX-ACCESS      not-accessible
 490         STATUS          current
 491         DESCRIPTION
 492                 "Index of the resource in the resource table."
 493         ::= { sunFmResourceEntry 1 }
 494 
 495 sunFmResourceFMRI OBJECT-TYPE
 496         SYNTAX          DisplayString (SIZE(0..255))
 497         MAX-ACCESS      read-only
 498         STATUS          current
 499         DESCRIPTION
 500                 "FMRI of the Automated System Reconfiguration Unit (ASRU)
 501                 which the fault manager believes to be faulty."
 502         ::= { sunFmResourceEntry 2 }
 503 
 504 sunFmResourceStatus OBJECT-TYPE
 505         SYNTAX          SunFmResourceState
 506         MAX-ACCESS      read-only
 507         STATUS          current
 508         DESCRIPTION
 509                 "The current status of the resource.  See fmadm(1M) faulty."
 510         ::= { sunFmResourceEntry 3 }
 511 
 512 sunFmResourceDiagnosisUUID OBJECT-TYPE
 513         SYNTAX          SunFmUuidString
 514         MAX-ACCESS      read-only
 515         STATUS          current
 516         DESCRIPTION
 517                 "The Universal Unique Identifier (UUID) for the problem
 518                 associated with the fault in this resource, as recorded by
 519                 fmd(1M) and shown by fmadm(1M)."
 520         ::= { sunFmResourceEntry 4 }
 521 
 522 sunFmObjectGroups OBJECT IDENTIFIER ::= { sunFmMIB 6 }
 523 
 524 sunFmObjectGroup OBJECT-GROUP OBJECTS {
 525                 sunFmProblemUUID,
 526                 sunFmProblemHostname,
 527                 sunFmProblemCode,
 528                 sunFmProblemType,
 529                 sunFmProblemSeverity,
 530                 sunFmProblemURL,
 531                 sunFmProblemFMRI,
 532                 sunFmProblemDescription,
 533                 sunFmProblemDiagEngine,
 534                 sunFmProblemDiagTime,
 535                 sunFmProblemSuspectCount,
 536                 sunFmFaultEventProblemUUID,
 537                 sunFmFaultEventClass,
 538                 sunFmFaultEventCertainty,
 539                 sunFmFaultEventASRU,
 540                 sunFmFaultEventFRU,
 541                 sunFmFaultEventResource,
 542                 sunFmFaultEventStatus,
 543                 sunFmFaultEventLocation,
 544                 sunFmModuleName,
 545                 sunFmModuleVersion,
 546                 sunFmModuleStatus,
 547                 sunFmModuleDescription,
 548                 sunFmResourceCount,
 549                 sunFmResourceFMRI,
 550                 sunFmResourceStatus,
 551                 sunFmResourceDiagnosisUUID
 552         }
 553         STATUS  current
 554         DESCRIPTION
 555                 "A collection of objects providing access to Fault
 556                 Manager operational data."
 557         ::= { sunFmObjectGroups 1 }
 558 
 559 
 560 --
 561 -- RFC 3584 requires that the next-to-last sub-ID be zero to allow for
 562 -- mapping v2/v3 notifications to v1 traps.
 563 --
 564 
 565 sunFmTraps OBJECT IDENTIFIER ::= { sunFmMIB 7 0 }
 566 
 567 sunFmProblemTrap NOTIFICATION-TYPE
 568         OBJECTS {
 569                 sunFmProblemUUID,
 570                 sunFmProblemHostname,
 571                 sunFmProblemCode,
 572                 sunFmProblemType,
 573                 sunFmProblemSeverity,
 574                 sunFmProblemURL,
 575                 sunFmProblemDescription,
 576                 sunFmProblemFMRI
 577         }
 578         STATUS  current
 579         DESCRIPTION
 580                 "Trap notification that a diagnosis has been made or the
 581                 fault manager fmd(1M) has restarted and the corresponding
 582                 problem is still believed to be present in the managed entity."
 583         ::= { sunFmTraps 1 }
 584 
 585 sunFmNotificationGroup NOTIFICATION-GROUP NOTIFICATIONS {
 586                 sunFmProblemTrap
 587         }
 588         STATUS  current
 589         DESCRIPTION
 590                 "A collection of notifications provided by the Fault Manager."
 591         ::= { sunFmObjectGroups 2 }
 592 
 593 END