idnits 2.17.1 draft-ietf-opsawg-syslog-snmp-05.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** The document seems to lack a License Notice according IETF Trust Provisions of 28 Dec 2009, Section 6.b.i or Provisions of 12 Sep 2009 Section 6.b -- however, there's a paragraph with a matching beginning. Boilerplate error? (You're using the IETF Trust Provisions' Section 6.b License Notice from 12 Feb 2009 rather than one of the newer Notices. See https://trustee.ietf.org/license-info/.) Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (August 13, 2009) is 5363 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) -- Looks like a reference, but probably isn't: '7' on line 140 -- Looks like a reference, but probably isn't: '0' on line 156 -- Looks like a reference, but probably isn't: '1' on line 157 -- Looks like a reference, but probably isn't: '2' on line 158 Summary: 1 error (**), 0 flaws (~~), 1 warning (==), 5 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group V. Marinov 3 Internet-Draft J. Schoenwaelder 4 Intended status: Standards Track Jacobs University Bremen 5 Expires: February 14, 2010 August 13, 2009 7 Mapping Simple Network Management Protocol (SNMP) Notifications to 8 SYSLOG Messages 9 draft-ietf-opsawg-syslog-snmp-05.txt 11 Status of this Memo 13 This Internet-Draft is submitted to IETF in full conformance with the 14 provisions of BCP 78 and BCP 79. 16 Internet-Drafts are working documents of the Internet Engineering 17 Task Force (IETF), its areas, and its working groups. Note that 18 other groups may also distribute working documents as Internet- 19 Drafts. 21 Internet-Drafts are draft documents valid for a maximum of six months 22 and may be updated, replaced, or obsoleted by other documents at any 23 time. It is inappropriate to use Internet-Drafts as reference 24 material or to cite them other than as "work in progress." 26 The list of current Internet-Drafts can be accessed at 27 http://www.ietf.org/ietf/1id-abstracts.txt. 29 The list of Internet-Draft Shadow Directories can be accessed at 30 http://www.ietf.org/shadow.html. 32 This Internet-Draft will expire on February 14, 2010. 34 Copyright Notice 36 Copyright (c) 2009 IETF Trust and the persons identified as the 37 document authors. All rights reserved. 39 This document is subject to BCP 78 and the IETF Trust's Legal 40 Provisions Relating to IETF Documents in effect on the date of 41 publication of this document (http://trustee.ietf.org/license-info). 42 Please review these documents carefully, as they describe your rights 43 and restrictions with respect to this document. 45 Abstract 47 This memo defines a mapping from Simple Network Management Protocol 48 (SNMP) notifications to SYSLOG messages. 50 Table of Contents 52 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 53 1.1. Conventions . . . . . . . . . . . . . . . . . . . . . . . 3 54 2. Background . . . . . . . . . . . . . . . . . . . . . . . . . . 3 55 2.1. SNMP Notifications . . . . . . . . . . . . . . . . . . . . 3 56 2.2. SYSLOG Notifications . . . . . . . . . . . . . . . . . . . 5 57 3. Mapping SNMP Notifications to SYSLOG Messages . . . . . . . . 6 58 3.1. SYSLOG Header . . . . . . . . . . . . . . . . . . . . . . 7 59 3.2. Structured Data . . . . . . . . . . . . . . . . . . . . . 7 60 3.3. MSG Data . . . . . . . . . . . . . . . . . . . . . . . . . 10 61 4. Relationship to the SYSLOG-MSG-MIB . . . . . . . . . . . . . . 10 62 5. Usage Example . . . . . . . . . . . . . . . . . . . . . . . . 11 63 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13 64 7. Security Considerations . . . . . . . . . . . . . . . . . . . 13 65 8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 13 66 9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 14 67 9.1. Normative References . . . . . . . . . . . . . . . . . . . 14 68 9.2. Informative References . . . . . . . . . . . . . . . . . . 15 69 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 15 71 1. Introduction 73 SNMP and SYSLOG are two widely used protocols to communicate event 74 notifications. Although co-existence of several management protocols 75 in one operational environment is possible, certain environments 76 require that all event notifications are collected by a single system 77 daemon such as a SYSLOG collector or an SNMP notification receiver 78 via a single management protocol. In such environments, it is 79 necessary to translate event notifications between management 80 protocols. 82 The latest version of SYSLOG, specified in [RFC5424], supports a 83 structured data element format. Structured data elements allow us to 84 map between SNMP notifications and SYSLOG messages without losing 85 information. In this memo we specify a concrete mapping from SNMP 86 event notifications [RFC3416] into SYSLOG messages [RFC5424]. We 87 specify how the SYSLOG message format should be utilized to carry the 88 information contained in an SNMP notification message. A new SYSLOG 89 structured data element is defined which carries the PDU portion of 90 an SNMP notification message. 92 1.1. Conventions 94 A system which has the capability of receiving SNMP notification 95 messages from an SNMP Notification Originator and sending the SNMP 96 data contained inside in a SYSLOG message format to a SYSLOG 97 collector is referred in this memo as an "SNMP-to-SYSLOG translator". 98 By definition, such a system should have an SNMP Notification 99 Receiver application and a SYSLOG originator running in order to be 100 able to perform the functions of an "SNMP-to-SYSLOG translator". 102 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 103 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 104 document are to be interpreted as described in [RFC2119]. 106 2. Background 108 2.1. SNMP Notifications 110 A detailed introduction to the SNMP Management Framework can be found 111 in [RFC3410]. The SNMP Management Architecture is described in 112 [RFC3411]. Managed objects are accessed via a virtual information 113 store, termed the Management Information Base or MIB [RFC3418]. 114 Objects in the MIB are defined using the mechanisms defined in the 115 SMI [RFC2578]. 117 An SNMP notification message is generated and transmitted by an SNMP 118 entity on behalf of a Notification Originator application [RFC3413]. 119 SNMP notifications are often used to notify a Notification Receiver 120 application at a logically remote SNMP entity that an event has 121 occurred or that a certain condition is present. There are two types 122 of SNMP protocol operations that are associated with SNMP 123 notification messages [RFC3416]: 125 o SNMPv2-Trap-PDU, an unconfirmed notification delivery mechanisms 126 o InformRequest-PDU, a confirmed notification delivery mechanism 128 The scopedPDU portion of an SNMPv3 trap or inform message has the 129 following format [RFC3412]: 131 ScopedPDU ::= SEQUENCE { 132 contextEngineID OCTET STRING, 133 contextName OCTET STRING, 134 data ANY -- e.g., PDUs as defined in [RFC3416] 135 } 137 The data member of the SEQUENCE ScopedPDU carries a SNMPv2-Trap-PDU 138 or an InformRequest-PDU. They both have the same structure: 140 PDUs ::= [7] IMPLICIT SEQUENCE { 141 request-id INTEGER, 142 error-status INTEGER, -- ignored in notifications 143 error-index INTEGER, -- ignored in notifications 144 variable-bindings VarBindList 145 } 147 -- variable binding 149 VarBind ::= SEQUENCE { 150 name ObjectName, 152 CHOICE { 153 value ObjectSyntax, 154 unSpecified NULL, -- in retrieval requests 155 -- exceptions in responses 156 noSuchObject [0] IMPLICIT NULL, 157 noSuchInstance [1] IMPLICIT NULL, 158 endOfMibView [2] IMPLICIT NULL 159 } 160 } 162 -- variable-binding list 164 VarBindList ::= SEQUENCE (SIZE (0..max-bindings)) OF VarBind 166 The first two variable bindings in the variable binding list of an 167 SNMPv2-Trap-PDU or InformRequest-PDU are sysUpTime.0 [RFC3418] and 168 snmpTrapOID.0 [RFC3418] respectively. If the OBJECTS clause is 169 present in the invocation of the corresponding NOTIFICATION-TYPE 170 macro, then each corresponding variable, as instantiated by this 171 notification, is copied, in order, to the variable-bindings field. 172 If any additional variables are being included (at the option of the 173 generating SNMP entity), then each is copied to the variable-bindings 174 field. 176 In the case of SNMPv1 or SNMPv2c notifications, the contextEngineID 177 and the contextName parameters are not present in notification 178 messages. 180 This document assumes that notifications are in the format defined in 181 RFC 3416 [RFC3416]. Notifications in the SNMPv1 notification format 182 MUST be translated as described in Section 3.1 of RFC 3584 [RFC3584]. 184 2.2. SYSLOG Notifications 186 The SYSLOG protocol is defined in [RFC5424]. The message contains a 187 global header and a number of structured data elements. The ABNF 188 [RFC5234] representation of a SYSLOG message is defined in RFC 5424 189 [RFC5424]. The relevant productions for structured data elements 190 are: 192 STRUCTURED-DATA = NILVALUE / 1*SD-ELEMENT 193 SD-ELEMENT = "[" SD-ID *(SP SD-PARAM) "]" 194 SD-PARAM = PARAM-NAME "=" %d34 PARAM-VALUE %d34 195 SD-ID = SD-NAME 196 PARAM-NAME = SD-NAME 197 PARAM-VALUE = UTF-8-STRING ; characters '"', '\' and 198 ; ']' MUST be escaped. 199 SD-NAME = 1*32PRINTUSASCII 200 ; except '=', SP, ']', %d34 (") 202 UTF-8-STRING = *OCTET ; Any VALID UTF-8 String 203 ; "shortest form" MUST be used 205 OCTET = %d00-255 206 SP = %d32 207 PRINTUSASCII = %d33-126 208 NILVALUE = "-" 210 3. Mapping SNMP Notifications to SYSLOG Messages 212 In this section, we define how the scopedPDU portion from a SNMP 213 notification message is used to generate a message in the SYSLOG 214 format. The notification receiver application at the SNMP-to-SYSLOG 215 translator is listening for incoming notifications. After a 216 notification is received by the SNMP engine the data portion is 217 forwarded to the notification receiver application. The data portion 218 contains the scopedPDU of the message which is used by the SYSLOG 219 originator on the SNMP-to-SYSLOG translator to generate a SYSLOG 220 message and send it to a SYSLOG collector (or proxy). Note that 221 every SNMP notification maps to exactly one SYSLOG message. 223 +------------+ +------------------+ 224 |snmp | snmp | | syslog +---------+ 225 |notification| notification | +------------+ | message |syslog | 226 |originator |------------->| |syslog | |-------->|collector| 227 +------------+ | |originator | | +---------+ 228 +------------+ | +------------+ | 229 |snmp | snmp | +------------+ | syslog +---------+ 230 |notification| notification | |snmp | | message |syslog | 231 |originator |------------->| |notification| |-------->|collector| 232 +------------+ | |receiver | | +---------+ 233 +------------+ | +------------+ | 234 |snmp | snmp | | 235 |notification| notification | SNMP-to-SYSLOG | 236 |originator |------------->| translator | 237 +------------+ +------------------+ 239 Figure 1: SNMP-to-SYSLOG translator deployment 241 A common deployment scenario is shown in Figure 1. There can be many 242 SNMP notification originators which send SNMP event notifications to 243 a SNMP-to-SYSLOG translator. The SNMP-to-SYSLOG translator extracts 244 the data portion of the notification, generates a SYSLOG message, and 245 send the SYSLOG message to a SYSLOG collector, which is responsible 246 for collecting and storing all notification messages. The arrows in 247 Figure 1 indicate message flows, not individual messages. 249 The SNMP-to-SYSLOG translator is not transparent for a SYSLOG 250 collector. The global header of the SYSLOG message generated by the 251 SNMP-to-SYSLOG translator is filled with parameters that are specific 252 for the system running the SNMP-to-SYSLOG translator such as its 253 hostname, time stamp, etc. The data portion (scopedPDU for SNMPv3 or 254 PDU for SNMPv1/SNMPv2c) of the SNMP notification message is contained 255 in the structured data of the SYSLOG message. 257 Implementations MUST drop invalid SNMP messages before they are 258 passed to the SNMP-to-SYSLOG translator. 260 3.1. SYSLOG Header 262 The SNMP-to-SYSLOG translator fills the HEADER field of a SYSLOG 263 message with parameters specific to the system on which it is 264 running. The default facility level for SYSLOG messages containing 265 SNMP notifications SHOULD be 3, which corresponds to messages 266 generated by system daemons. The default severity level SHOULD be 5, 267 which corresponds to "Notice: normal but significant condition". If 268 the SNMP-to-SYSLOG translator has a notion of the type of 269 notification that has been received it might choose other values for 270 facility and severity level. 272 The VERSION, TIMESTAMP, HOSTNAME, APP-NAME, PROCID and MSGID fields 273 in the SYSLOG message header are filled with values that are specific 274 to the system on which the SNMP-to-SYSLOG translator is running. The 275 character set used in the HEADER MUST be seven-bit ASCII in an eight- 276 bit field as described in [RFC5424]. 278 3.2. Structured Data 280 The STRUCTURED-DATA field of a SYSLOG message carries the ScopedPDU 281 (or PDU) portion of an SNMP notification message. For the purpose of 282 carrying SNMP notification data, a new SD-ID element is defined. The 283 ABNF [RFC5234] representation of the new structured element is: 285 SNMP-SD-ELEMENT = "[" SNMP-SD-ID [CTX] *VARBIND "]" 286 SNMP-SD-ID = %x73.6E.6D.70 ; snmp 287 CTX = CTXENGINE CTXNAME 288 CTXENGINE = SP "ctxEngine=" %d34 HEXSTRING %d34 289 CTXNAME = SP "ctxName=" %d34 PARAM-VALUE %d34 290 VARBIND = SP VARNAME [SP VARLABEL] SP VARVALUE [SP VALSTRING] 291 VARNAME = %d118 NUM "=" %d34 OID %d34 ; "vN=" 292 VARLABEL = %d108 NUM "=" %d34 PARAM-VALUE %d34 ; "lN=" 293 VARVALUE = VALOID / VALHEXSTRING / VALCOUNTER32 / VALCOUNTER64 294 / VALUNSIGNED32 / VALINTEGER32 / VALIP / VALNULL 295 / VALOPAQUE / VALTIMETICKS / VALSTRING 297 VALOID = %d111 NUM "=" %d34 OID %d34 ; "oN=" 298 VALHEXSTRING = %d120 NUM "=" %d34 HEXSTRING %d34 ; "xN=" 299 VALCOUNTER32 = %d99 NUM "=" %d34 UNSIGNED32 %d34 ; "cN=" 300 VALCOUNTER64 = %d67 NUM "=" %d34 UNSIGNED64 %d34 ; "CN=" 301 VALUNSIGNED32 = %d117 NUM "=" %d34 UNSIGNED32 %d34 ; "uN=" 302 VALINTEGER32 = %d100 NUM "=" %d34 INTEGER32 %d34 ; "dN=" 303 VALIP = %d105 NUM "=" %d34 IPV4ADDRESS %d34 ; "iN=" 304 VALNULL = %d110 NUM "=" %d34 %d34 ; "nN=" 305 VALOPAQUE = %d112 NUM "=" %d34 HEXSTRING %d34 ; "pN=" 306 VALTIMETICKS = %d116 NUM "=" %d34 UNSIGNED32 %d34 ; "tN=" 307 VALSTRING = %d97 NUM "=" %d34 PARAM-VALUE %d34 ; "aN=" 309 NUM = NONZERODIGIT 0*DIGIT 311 OID = OIDSTART *("." OIDSUBID) 312 OIDSTART = (("0." / "1.") [%d49-51] DIGIT) / ("2." OIDSUBID) 313 OIDSUBID = ZERO / (NONZERODIGIT *DIGIT) 315 PARAM-VALUE = UTF-8-STRING ; characters '"', '\' and 316 ; ']' MUST be escaped. 317 UTF-8-STRING = *OCTET ; Any VALID UTF-8 String 318 ; "shortest form" MUST be used 319 HEXSTRING = *HEX 320 INTEGER32 = ["-"] NONZERODIGIT 0*DIGIT 321 UNSIGNED32 = NONZERODIGIT 0*DIGIT 322 UNSIGNED64 = NONZERODIGIT 0*DIGIT 323 IPV4ADDRESS = d8 "." d8 "." d8 "." d8 325 d8 = DIGIT ; 0-9 326 / %d49-57 DIGIT ; 10-99 327 / "1" 2DIGIT ; 100-199 328 / "2" %d48-52 DIGIT ; 200-249 329 / "25" %d48-53 ; 250-255 331 HEX = DIGIT / %x41-46 / %x61-66 ; 0-9 / A-F / a-f 332 NONZERODIGIT = %d49-57 333 ZERO = %d48 334 DIGIT = ZERO / NONZERODIGIT 335 SP = %d32 337 Each SNMP-SD-ELEMENT starts with the SD-ID "snmp". The first two 338 SD-ID parameters are "ctxEngine" and "ctxName". The context MUST be 339 present in an SNMPv3 notification and therefore they MUST be present 340 in a SYSLOG message generated by an SNMP-to-SYSLOG translator from an 341 SNMPv3 notification. The contexdEngineID is encoded as an 342 hexadecimal string while the contextName is encoded as a UTF8 string. 344 The remaining parameters in the "snmp" SD-ID correspond to the 345 varbind list elements contained in the SNMP PDU. The name of a 346 varbind is encoded as an OID in dotted notation. The rendered OID is 347 carried in a "vN" parameter, where N identifies the position of the 348 varbind in the varbind list of the SNMP message (the first varbind 349 having the position 1). A MIB aware implementation may in addition 350 generate a parameter "lN" carrying the descriptor of the associated 351 MIB object plus the instance identifier suffix (also called an OID 352 label). The number N again identifies the position of the varbind in 353 the varbind list of the SNMP message. 355 The value of a varbind is encoded depending on its type according to 356 the rules shown in Table 1 and type specific parameter names are used 357 to convey the type information. The number N again identifies the 358 position of the varbind in the varbind list of the SNMP message. A 359 MIB aware implementation may in addition generate a parameter "aN" 360 carrying a alternate textual representation of the value, which is 361 obtained by applying DISPLAY-HINTs and translating named numbers into 362 corresponding labels or OBJECT IDENTIFIER values to descriptors. For 363 SNMP object types that have a DISPLAY-HINT of the form 'Ma' or 'Mt' 364 where M is some number, a MIB aware implementation can choose to 365 include the "aN" parameter and to suppress the corresponding "xN" 366 parameter. This special case allows to save space for textual 367 objects. A receiver receiving a "aN" parameter without a matching 368 value at position N can unambiguously convert the value carried in 369 the "aN" parameter back to an OCTET STRING value. 371 While the inclusion of additional parameters carrying OID labels or 372 alternate value representations increases human readability, this 373 comes at the cost of increased message size which may cause 374 truncation of SYSLOG message. Therefore, implementations SHOULD 375 provide a configuration mechanism to enable/disable the generation of 376 parameters carrying OID labels or alternate value representations. 378 +--------------------+------------+--------------------------+ 379 | SNMP Type | PARAM-NAME | Value Encoding | 380 +--------------------+------------+--------------------------+ 381 | OBJECT IDENTIFIER | oN | dotted-decimal notation | 382 | OCTET STRING | xN | hexadecimal string | 383 | Counter32 | cN | unsigned decimal number | 384 | Counter64 | CN | unsigned decimal number | 385 | Unsigned32 | uN | unsigned decimal number | 386 | INTEGER, Integer32 | dN | signed decimal number | 387 | IpAddress | iN | dotted quad notation | 388 | Opaque | pN | hexadecimal (BER) string | 389 | TimeTicks | tN | unsigned decimal number | 390 | NULL | nN | zero-length string | 391 +--------------------+------------+--------------------------+ 393 Table 1: Mapping of SNMP Types to SD Params 395 The SYSLOG message generated by the SNMP-to-SYSLOG translator may, in 396 addition to the SNMP-SD-ELEMENT, include other structured data 397 elements in its structured data part. These additional structured 398 data elements MUST comply with the specification in [RFC5424]. 400 In particular, the parameters in the "origin" SD-ID SHOULD identify 401 the originator of the SNMP notification. A suitable value for the 402 "ip" parameter MAY be taken from the snmpTrapAddress varbind if 403 present and a suitable value for the "enterpriseId" parameter MAY be 404 extracted from snmpTrapOID varbind. 406 3.3. MSG Data 408 The MSG part of the SYSLOG message is optional and may contain a 409 free-form message that provides a textual description of the SNMP 410 event notification. According to [RFC5424], the character set used 411 in MSG SHOULD be UNICODE, encoded using UTF-8 as specified in 412 [RFC3629]. If the originator can not encode the MSG in Unicode, it 413 MAY use any other encoding. The originator MAY use the "language" 414 parameters defined in [RFC5424] to convey information about the 415 natural language used inside MSG. 417 4. Relationship to the SYSLOG-MSG-MIB 419 A companion document defines an SNMP MIB module to represent SYSLOG 420 messages and to send SYSLOG messages as SNMP notifications to SNMP 421 notification receivers [I-D.ietf-opsawg-syslog-msg-mib]. This 422 section discusses the possibilities of using both specifications in 423 combination. 425 A SYSLOG collector implementing the SYSLOG-MSG-MIB module and the 426 mapping of SNMP notifications to SYSLOG messages may be configured to 427 translate received SYSLOG messages containing SNMP notifications back 428 into the original SNMP notification. In this case, the relevant 429 tables of the SYSLOG-MSG-MIB will not be populated for SYSLOG 430 messages carrying SNMP notifications. This configuration allows 431 operators to build a forwarding chain where SNMP notifications are 432 "tunneled" through SYSLOG messages. Due to size restrictions of the 433 SYSLOG transports and the more verbose textual encoding used by 434 SYSLOG, there is a possibility that SNMP notification content gets 435 truncated while tunneled through SYSLOG and thus the resulting SNMP 436 notification may be incomplete. 438 An SNMP management application supporting the SYSLOG-MSG-MIB and the 439 mapping of SNMP notifications to SYSLOG messages may process 440 information from the SYSLOG-MSG-MIB in order to emit a SYSLOG message 441 representing the SYSLOG message recorded in the SYSLOG-MSG-MIB 442 module. This configuration allows operators to build a forwarding 443 chain where SYSLOG messages are "tunneled" through SNMP messages. A 444 notification receiver can determine whether a syslogMsgNotification 445 contained all structured data element parameters of a SYSLOG message. 446 In case parameters are missing, a forwarding application MUST 447 retrieve the missing parameters from the SYSLOG-MSG-MIB. Regular 448 polling of the SYSLOG-MSG-MIB can be used to take care of any lost 449 SNMP notifications. 451 5. Usage Example 453 Here we provide an example how an SNMP linkUp trap message is mapped 454 into a SYSLOG message by using the mappings defined in Section 3.1 455 and Section 3.2. 457 The linkUp notification is defined in [RFC2863] as follows: 459 linkUp NOTIFICATION-TYPE 460 OBJECTS { ifIndex, ifAdminStatus, ifOperStatus } 461 STATUS current 462 DESCRIPTION 463 "A linkUp trap signifies that the SNMP entity, acting in an 464 agent role, has detected that the ifOperStatus object for 465 one of its communication links left the down state and 466 transitioned into some other state (but not into the 467 notPresent state). This other state is indicated by the 468 included value of ifOperStatus." 469 ::= { snmpTraps 4 } 471 The scopedPDU portion of an SNMP linkUp trap sent using the SNMPv3 472 message format is shown below (left columns shows the BER encoding 473 while the right column indicates the corresponding ASN.1 474 definitions): 476 30:7C SEQUENCE { 477 04:08:80:00:02:B8:04:61:62:63 800002b804616263 478 04:04:63:74:78:31 "ctx1" 479 A7:6A SNMPv2-Trap-PDU { 480 02:03:6D:08:67 INTEGER 7145575 481 02:01:00 INTEGER 0 482 02:01:00 INTEGER 0 483 30:5D SEQUENCE OF { 484 30:0F SEQUENCE { 485 06:08:2B:06:01:02:01:01:03:00 sysUpTime.0 486 43:03:01:72:8C 94860 } 487 30:17 SEQUENCE { 488 06:0A:2B:06:01:06:03:01:01:04:01:00 snmpTrapOID.0 489 06:09:2B:06:01:06:03:01:01:05:04 linkUp } 490 30:0F SEQUENCE { 491 06:0A:2B:06:01:02:01:02:02:01:01:03 ifIndex.3 492 02:01:03 3 } 493 30:0F SEQUENCE { 494 06:0A:2B:06:01:02:01:02:02:01:07:03 ifAdminStatus.3 495 02:01:01 up(1) } 496 30:0F SEQUENCE { 497 06:0A:2B:06:01:02:01:02:02:01:08:03 ifOperStatus.3 498 02:01:01 up(1) } } } } 500 The corresponding SYSLOG message generated by the SNMP-to-SYSLOG 501 translator is shown below. (SYSLOG examples should be considered to 502 be on one line. They are wrapped on multiple lines in this document 503 for readability purposes only.) 505 <29>1 2003-10-11T22:14:15.003Z mymachine.example.com snmptrapd - ID47 506 [snmp ctxEngine="800002b804616263" ctxName="ctx1" 507 v1="1.3.6.1.2.1.1.3.0" l1="sysUpTime.0" d1="94860" 508 v2="1.3.6.1.6.3.1.1.4.1.0" l2="snmpTrapOID.0" 509 o2="1.3.6.1.6.3.1.1.5.4" a2="linkUp" 510 v3="1.3.6.1.2.1.2.2.1.1.3" d3="3" 511 v4="1.3.6.1.2.1.2.2.1.7.3" d4="1" a4="up" 512 v5="1.3.6.1.2.1.2.2.1.8.3" d5="1" a5="up"] 514 The corresponding SYSLOG message has a priority value of 29 which 515 means a facility level of 3 (system daemons) and a severity level of 516 5 (Notice: Normal but significant condition) according to the 517 algorithm for calculation of priority value specified in Section 518 6.2.1 of [RFC5424]. The rest of the fields in the header of the 519 SYSLOG message are parameters that are specific to the system running 520 the SNMP-to-SYSLOG translator. The SYSLOG version is 1 and the 521 message was generated at 22:14:15.003Z on 2003-10-11T by the host 522 "mymachine.example.com". The application on the SNMP-to-SYSLOG 523 translator that generated the message was "snmptrapd", there is no 524 information about the process id and the message on the SNMP-to- 525 SYSLOG system is identified with the MSGID of ID47. 527 The SYSLOG message contains one structured data element with a SD-ID 528 of "snmp" which means that this is the scopedPDU portion of an SNMP 529 event notification message. The data which is contained in the 530 notification is associated with the ContextEngineID "123456" and 531 ContextName "ctx1". The request-id of the SNMP notification message 532 was "7145575". Then follows the data portion of the scopedPDU. The 533 first two variables contained in the data portion are always the 534 sysUpTime.0 and snmpTrapOID.0. An snmpTrapOID.0 with a value of 535 "1.3.6.1.6.3.1.1.5.4" means that this is a linkUp trap. The 536 parameters v3="1.3.6.1.2.1.2.2.1.1.3" d3="3" mean that the SNMP 537 notification message is carrying the ifIndex object which has a type 538 INTEGER and has a value of 3. The parameters 539 v4="1.3.6.1.2.1.2.2.1.7.3" d4="1" mean that the SNMP notification 540 message is carrying the object ifAdminStatus which has type INTEGER 541 and a value of 1. The parameters v5="1.3.6.1.2.1.2.2.1.8.3" d5="1" 542 mean that the SNMP notification message is carrying the object 543 ifOperStatus which has type INTEGER and a value of "1". 545 6. IANA Considerations 547 IANA is requested to register the SD-ID value "snmp" together with 548 the PARAM-NAME values specified in Section 3.2 in the registry for 549 SYSLOG structured data id values according to Section 9 in [RFC5424]. 550 The notation indicates a position number. 552 SD-ID PARAM-NAME 553 snmp OPTIONAL 554 ctxEngine OPTIONAL 555 ctxName OPTIONAL 556 v OPTIONAL 557 l OPTIONAL 558 o OPTIONAL 559 x OPTIONAL 560 c OPTIONAL 561 C OPTIONAL 562 u OPTIONAL 563 d OPTIONAL 564 i OPTIONAL 565 n OPTIONAL 566 p OPTIONAL 567 t OPTIONAL 568 a OPTIONAL 570 7. Security Considerations 572 The security considerations discussed in [RFC5424] apply to this 573 document. 575 The SNMP architecture supports an access control mechanism ensuring 576 that SNMP notifications are only sent to receivers who are authorized 577 to receive the notification. Network operators using this mapping of 578 SNMP notifications to SYSLOG messages should enforce a consistent 579 policy preventing people from accessing SNMP notifications via the 580 SYSLOG mapping that would otherwise not be accessible. 582 8. Acknowledgments 584 The editors wish to thank the following individuals for providing 585 helpful comments on various versions of this document: Martin 586 Bjorklund, Washam Fan, Rainer Gerhards, Tom Petch, and Dan Romascanu. 588 9. References 589 9.1. Normative References 591 [I-D.ietf-opsawg-syslog-msg-mib] 592 Schoenwaelder, J., Clemm, A., and A. Karmakar, 593 "Definitions of Managed Objects for Mapping SYSLOG 594 Messages to Simple Network Management Protocol (SNMP) 595 Notifications", Internet Draft (work in progress), 596 March 2009. 598 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 599 Requirement Levels", BCP 14, RFC 2119, March 1997. 601 [RFC3411] Harrington, D., Presuhn, R., and B. Wijnen, "An 602 Architecture for Describing Simple Network Management 603 Protocol (SNMP) Management Frameworks", STD 62, RFC 3411, 604 December 2002. 606 [RFC3412] Case, J., Harrington, D., Presuhn, R., and B. Wijnen, 607 "Message Processing and Dispatching for the Simple Network 608 Management Protocol (SNMP)", STD 62, RFC 3412, 609 December 2002. 611 [RFC3413] Levi, D., Meyer, P., and B. Stewart, "Simple Network 612 Management Protocol (SNMP) Applications", STD 62, 613 RFC 3413, December 2002. 615 [RFC3416] Presuhn, R., "Version 2 of the Protocol Operations for the 616 Simple Network Management Protocol (SNMP)", STD 62, 617 RFC 3416, December 2002. 619 [RFC3418] Presuhn, R., "Management Information Base (MIB) for the 620 Simple Network Management Protocol (SNMP)", STD 62, 621 RFC 3418, December 2002. 623 [RFC3584] Frye, R., Levi, D., Routhier, S., and B. Wijnen, 624 "Coexistence between Version 1, Version 2, and Version 3 625 of the Internet-standard Network Management Framework.", 626 BCP 74, RFC 3584, August 2003. 628 [RFC3629] Yergeau, F., "UTF-8, a transformation format of ISO 629 10646", STD 63, RFC 3629, November 2003. 631 [RFC5234] Crocker, D. and P. Overell, "Augmented BNF for Syntax 632 Specifications: ABNF", RFC 5234, January 2008. 634 [RFC5424] Gerhards, R., "The Syslog Protocol", RFC 5424, March 2009. 636 9.2. Informative References 638 [RFC2578] McCloghrie, K., Perkins, D., and J. Schoenwaelder, 639 "Structure of Management Information Version 2 (SMIv2)", 640 RFC 2578, STD 58, April 1999. 642 [RFC2863] McCloghrie, K. and F. Kastenholz, "The Interfaces Group 643 MIB", RFC 2863, June 2000. 645 [RFC3410] Case, J., Mundy, R., Partain, D., and B. Stewart, 646 "Introduction and Applicability Statements for Internet- 647 Standard Management Framework", RFC 3410, December 2002. 649 Authors' Addresses 651 Vladislav Marinov 652 Jacobs University Bremen 653 Campus Ring 1 654 28725 Bremen 655 Germany 657 Email: v.marinov@jacobs-university.de 659 Juergen Schoenwaelder 660 Jacobs University Bremen 661 Campus Ring 1 662 28725 Bremen 663 Germany 665 Email: j.schoenwaelder@jacobs-university.de