idnits 2.17.1 draft-ietf-opsawg-syslog-snmp-02.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 (March 26, 2009) is 5508 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 ** Obsolete normative reference: RFC 4234 (Obsoleted by RFC 5234) Summary: 2 errors (**), 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: September 27, 2009 March 26, 2009 7 Mapping Simple Network Management Protocol (SNMP) Notifications to 8 SYSLOG Messages 9 draft-ietf-opsawg-syslog-snmp-02.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 September 27, 2009. 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 notifications. 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 Notifications . . . . . . 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 . . . . . . . . . . . . . . . . . . . . . . . . 10 63 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12 64 7. Security Considerations . . . . . . . . . . . . . . . . . . . 13 65 8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 13 66 9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 13 67 9.1. Normative References . . . . . . . . . . . . . . . . . . . 13 68 9.2. Informative References . . . . . . . . . . . . . . . . . . 14 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 receiver 97 is referred in this memo as an "snmp-to-syslog translator". By 98 definition, such a system should have an SNMP Notification Receiver 99 application and a SYSLOG sender application 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 [RFC4234] representation of a SYSLOG message is defined in RFC XXXX 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 Notifications 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 portion of the message which is used by the 219 SYSLOG sender on the snmp-to-syslog translator to generate a SYSLOG 220 notification and send it to a SYSLOG receiver. A common scenario is 221 the following: 223 +-------------------+ snmp +------------+ 224 | |notification |snmp | 225 +---------+ syslog | +-------------+ |<------------|notification| 226 |syslog |notification| |syslog sender| | |originator | 227 |collector|<-----------| +-------------+ | +------------+ 228 | | | +------------+ | snmp +------------+ 229 | | | |snmp | |notification |snmp | 230 +---------+ | |notification| |<------------|notification| 231 | |receiver | | |originator | 232 | +------------+ | +------------+ 233 | snmp-to-syslog |snmp +------------+ 234 | translator |notification |snmp | 235 | |<------------|notification| 236 +-------------------+ |originator | 238 There can be many SNMP notification originators which send SNMP event 239 notifications to a snmp-to-syslog translator. The snmp-to-syslog 240 translator extracts the data portion of the notification, generates a 241 SYSLOG message, and send the SYSLOG message to a SYSLOG collector, 242 which is responsible for collecting and storing all notification 243 messages. 245 The snmp-to-syslog translator is not transparent for a SYSLOG 246 receiver. The global header of the SYSLOG message generated by the 247 snmp-to-syslog translator is filled with parameters that are specific 248 for the system running the snmp-to-syslog translator such as its 249 hostname, time stamp, etc. The data portion (scopedPDU for SNMPv3 or 250 PDU for SNMPv1/SNMPv2c) of the SNMP notification message is contained 251 in the structured data of the SYSLOG message. 253 Implementations MUST drop invalid SNMP messages before they are 254 passed to the snmp-to-syslog translator. 256 3.1. SYSLOG Header 258 The snmp-to-syslog translator fills the HEADER field of a SYSLOG 259 message with parameters specific to the system on which it is 260 running. The default facility level for SYSLOG messages containing 261 SNMP notifications should be 3, which corresponds to messages 262 generated by system daemons. The default severity level should be 5, 263 which correponds to "Notice: normal but significant condition". If 264 the snmp-to-syslog translator has a notion of the type of 265 notification that has been received it might choose other values for 266 facility and severity level. 268 The VERSION, TIMESTAMP, HOSTNAME, APP-NAME, PROCID and MSGID fields 269 in the SYSLOG message header are filled with values that are specific 270 to the system on which the snmp-to-syslog translator is running. The 271 character set used in the HEADER MUST be seven-bit ASCII in an eight- 272 bit field as described in [RFC5424]. 274 3.2. Structured Data 276 The STRUCTURED-DATA field of a SYSLOG message will contain the 277 ScopedPDU (or PDU) portion of the SNMP notification message. For the 278 purpose of carrying SNMP notification data, a new SD-ID element is 279 defined. The ABNF [RFC4234] representation of the new structured 280 element is: 282 SNMP-SD-ELEMENT = "[" SNMP-SD-ID [CTX] *VARBIND "]" 283 SNMP-SD-ID = %x73.6E.6D.70 ; snmp 284 CTX = CTXENGINE CTXNAME 285 CTXENGINE = SP "ctxEngine=" %d34 HEXSTRING %d34 286 CTXNAME = SP "ctxName=" %d34 PARAM-VALUE %d34 287 VARBIND = SP VARNAME [SP VARLABEL] SP VARVALUE [SP VALSTRING] 288 VARNAME = %d118 NUM "=" %d34 OID %d34 ; "vN=" 289 VARLABEL = %d108 NUM "=" %d34 PARAM-VALUE %d34 ; "lN=" 290 VARVALUE = VALOID / VALHEXSTRING / VALCOUNTER32 / VALCOUNTER64 291 / VALUNSIGNED32 / VALINTEGER32 / VALIP / VALNULL 292 / VALOPAQUE / VALTIMETICKS / VALUTF8STRING 294 VALOID = %d111 NUM "=" %d34 OID %d34 ; "oN=" 295 VALHEXSTRING = %d120 NUM "=" %d34 HEXSTRING %d34 ; "xN=" 296 VALCOUNTER32 = %d99 NUM "=" %d34 UNSIGNED32 %d34 ; "cN=" 297 VALCOUNTER64 = %d67 NUM "=" %d34 UNSIGNED64 %d34 ; "CN=" 298 VALUNSIGNED32 = %d117 NUM "=" %d34 UNSIGNED32 %d34 ; "uN=" 299 VALINTEGER32 = %d100 NUM "=" %d34 INTEGER32 %d34 ; "dN=" 300 VALIP = %d105 NUM "=" %d34 IPV4ADDRESS %d34 ; "iN=" 301 VALNULL = %d110 NUM "=" %d34 NULL %d34 ; "nN=" 302 VALOPAQUE = %d112 NUM "=" %d34 HEXSTRING %d34 ; "pN=" 303 VALTIMETICKS = %d116 NUM "=" %d34 UNSIGNED32 %d34 ; "tN=" 304 VALSTRING = %d97 NUM "=" %d34 PARAM-VALUE %d34 ; "aN=" 306 NUM = NONZERODIGIT 0*DIGIT 308 OID = OIDSTART *("." OIDSUBID) 309 OIDSTART = (("0." / "1.")[%d49-51] DIGIT) / ("2." OIDSUBID) 310 OIDSUBID = ZERO / (NONZERODIGIT *DIGIT) 312 PARAM-VALUE = UTF-8-STRING ; characters '"', '\' and 313 ; ']' MUST be escaped. 314 UTF-8-STRING = *OCTET ; Any VALID UTF-8 String 315 ; "shortest form" MUST be used 316 HEXSTRING = *HEX 317 INTEGER32 = ["-"] NONZERODIGIT 0*DIGIT 318 UNSIGNED32 = NONZERODIGIT 0*DIGIT 319 UNSIGNED64 = NONZERODIGIT 0*DIGIT 320 NULL = "" 321 IPV4ADDRESS = d8 "." d8 "." d8 "." d8 323 d8 = DIGIT ; 0-9 324 / %d49-57 DIGIT ; 10-99 325 / "1" 2DIGIT ; 100-199 326 / "2" %d48-52 DIGIT ; 200-249 327 / "25" %d48-53 ; 250-255 329 HEX = DIGIT / %x41-46 / %x61-66 ; 0-9 / A-F / a-f 330 NONZERODIGIT = %d49-57 331 ZERO = %d48 332 DIGIT = ZERO / NONZERODIGIT 333 SP = %d32 335 Each SNMP-SD-ELEMENT starts with the SD-ID "snmp". The first two 336 SD-ID parameters are "ctxEngine" and "ctxName". They must be present 337 in an SNMPv3 notification and therefore they must be present in a 338 SYSLOG message generated by an snmp-to-syslog translator from an 339 SNMPv3 notification. The contexdEngineID is encoded as as 340 hexadecimal string while the contextName is encoded as a UTF8 string. 342 The remaining parameters in the "snmp" SD-ID correspond to the 343 varbind list elements contained in the SNMP PDU. The name of a 344 varbind is encoded as an OID in dotted notation. The rendered OID is 345 carried in a "vN" parameter, where N identifies the position of the 346 varbind in the varbind list of the SNMP message (the first varbind 347 having the position 1). A MIB aware implementation may in addition 348 generate a parameter "lN" carrying the descriptor of the associated 349 MIB object plus the instance identifier suffix (also called an OID 350 label). The number N again identifies the position of the varbind in 351 the varbind list of the SNMP message. 353 The value of a varbind is encoded depending on its type according to 354 the rules shown in Table 1 and type specific parameter names are used 355 to convey the type information. The number N again identifies the 356 position of the varbind in the varbind list of the SNMP message. A 357 MIB aware implementation may in addition generate a parameter "aN" 358 carrying a alternate textual representation of the value, which is 359 obtained by applying DISPLAY-HINTs and translating named numbers into 360 corresponding labels or OBJECT IDENTIFIER values to descriptors. For 361 SNMP object types that have a DISPLAY-HINT of the form 'Ma' or 'Mt' 362 where M is some number, a MIB aware implementation can choose to 363 include the "aN" parameter and to suppress the corresponding "xN" 364 parameter. This special case allows to save space for textual 365 objects. A receiver receiving a "aN" parameter without a matching 366 value at position N can unambiguously convert the value carried in 367 the "aN" parameter back to an OCTET STRING value. 369 While the inclusion of additional parameters carrying OID labels or 370 alternate value representations increases human readability, this 371 comes at the cost of increased message size which may cause 372 truncation of SYSLOG message. Therefore, implementations should 373 provide a configuration mechanism to enable/disable the generation of 374 parameters carrying OID labels or alternate value representations. 376 +--------------------+------------+--------------------------+ 377 | SNMP Type | PARAM-NAME | Value Encoding | 378 +--------------------+------------+--------------------------+ 379 | OBJECT IDENTIFIER | oN | dotted-decimal notation | 380 | OCTET STRING | xN | hexadecimal string | 381 | Counter32 | cN | unsigned decimal number | 382 | Counter64 | CN | unsigned decimal number | 383 | Unsigned32 | uN | unsigned decimal number | 384 | INTEGER, Integer32 | dN | signed decimal number | 385 | IpAddress | iN | dotted quad notation | 386 | Opaque | pN | hexadecimal (BER) string | 387 | TimeTicks | tN | unsigned decimal number | 388 | NULL | nN | zero-length string | 389 +--------------------+------------+--------------------------+ 391 Table 1: Mapping of SNMP Types to SD Params 393 The SYSLOG message generated by the snmp-to-syslog translator may 394 include other structured data elements in its structured part in 395 addition to the SNMP-SD-ELEMENT. These structured data elements are 396 included in the SYSLOG message by the SYSLOG sender at the snmp-to- 397 syslog translator and must be compliant to the specification in 398 [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. The character set used in MSG SHOULD be UNICODE, 411 encoded using UTF-8 as specified in [RFC3629]. If the sender can not 412 encode the MSG in Unicode, it MAY use any other encoding. 414 4. Relationship to the SYSLOG-MSG-MIB 416 A companion document defines an SNMP MIB module to represent SYSLOG 417 messages and to send SYSLOG messages as SNMP notifications to SNMP 418 notification receivers [I-D.ietf-opsawg-syslog-msg-mib]. This 419 section discusses the possibilities of using both specifications in 420 combination to create notification "tunnels". 422 A SYSLOG receiver supporting an SNMP notification originator 423 implementing this specification SHOULD translate received SYSLOG 424 messages containing SNMP notifications back into the SNMP 425 notifications. This allows operators to build a forwarding chain 426 where SNMP notifications are "tunneled" through SYSLOG messages. 428 Due to size restrictions of the SYSLOG transports and the more 429 verbose textual encoding used by SYSLOG, there is a possibility that 430 SNMP notification content gets truncated while tunneled through 431 SYSLOG and thus the resulting SNMP notification may be incomplete. 433 5. Usage Example 435 Here we provide an example how an SNMP linkUp trap message is mapped 436 into a SYSLOG message by using the mappings defined in Section 3.1 437 and Section 3.2. 439 The linkUp notification is defined in [RFC2863]: 441 linkUp NOTIFICATION-TYPE 442 OBJECTS { ifIndex, ifAdminStatus, ifOperStatus } 443 STATUS current 444 DESCRIPTION 445 "A linkUp trap signifies that the SNMP entity, acting in an 446 agent role, has detected that the ifOperStatus object for 447 one of its communication links left the down state and 448 transitioned into some other state (but not into the 449 notPresent state). This other state is indicated by the 450 included value of ifOperStatus." 451 ::= { snmpTraps 4 } 453 The scopedPDU portion of an SNMP linkUp trap sent using the SNMPv3 454 message format is show below (left columns shows the BER encoding 455 while the right column indicates the corresponding ASN.1 456 definitions): 458 30:7C SEQUENCE { 459 04:08:80:00:02:B8:04:61:62:63 800002b804616263 460 04:04:63:74:78:31 "ctx1" 461 A7:6A SNMPv2-Trap-PDU { 462 02:03:6D:08:67 INTEGER 7145575 463 02:01:00 INTEGER 0 464 02:01:00 INTEGER 0 465 30:5D SEQUENCE OF { 466 30:0F SEQUENCE { 467 06:08:2B:06:01:02:01:01:03:00 sysUpTime.0 468 43:03:01:72:8C 94860 } 469 30:17 SEQUENCE { 470 06:0A:2B:06:01:06:03:01:01:04:01:00 snmpTrapOID.0 471 06:09:2B:06:01:06:03:01:01:05:04 linkUp } 472 30:0F SEQUENCE { 473 06:0A:2B:06:01:02:01:02:02:01:01:03 ifIndex.3 474 02:01:03 3 } 475 30:0F SEQUENCE { 476 06:0A:2B:06:01:02:01:02:02:01:07:03 ifAdminStatus.3 477 02:01:01 up(1) } 478 30:0F SEQUENCE { 479 06:0A:2B:06:01:02:01:02:02:01:08:03 ifOperStatus.3 480 02:01:01 up(1) } } } } 482 The corresponding SYSLOG message generated by the snmp-to-syslog 483 translator is shown below. (SYSLOG examples should be considered to 484 be on one line. They are wrapped on multiple lines in this document 485 for readability purposes only.) 486 <29>1 2003-10-11T22:14:15.003Z mymachine.example.com snmptrapd - ID47 487 [snmp ctxEngine="800002b804616263" ctxName="ctx1" 488 v1="1.3.6.1.2.1.1.3.0" l1="sysUpTime.0" d1="94860" 489 v2="1.3.6.1.6.3.1.1.4.1.0" l2="snmpTrapOID.0" 490 o2="1.3.6.1.6.3.1.1.5.4" a2="linkUp" 491 v3="1.3.6.1.2.1.2.2.1.1.3" d3="3" 492 v4="1.3.6.1.2.1.2.2.1.7.3" d4="1" a4="up" 493 v5="1.3.6.1.2.1.2.2.1.8.3" d5="1" a5="up"] 495 The corresponding SYSLOG message has a priority value of 29 which 496 means a facility level of 3 (system daemons) and a severity level of 497 5 (Notice: Normal but significant condition) according to the 498 algorithm for calculation of priority value specified in Section 499 6.2.1 of [RFC5424]. The rest of the fields in the header of the 500 SYSLOG message are parameters that are specific to the system running 501 the snmp-to-syslog translator. The SYSLOG version is 1 and the 502 message was generated at 22:14:15.003Z on 2003-10-11T by the host 503 "mymachine.example.com". The application on the snmp-to-syslog 504 translator that generated the message was "snmptrapd", there is no 505 information about the process id and the message on the snmp-to- 506 syslog system is identified with the MSGID of ID47. 508 The SYSLOG message contains one structured data element with a SD-ID 509 of "snmp" which means that this is the scopedPDU portion of an SNMP 510 event notification message. The data which is contained in the 511 notification is associated with the ContextEngineID "123456" and 512 ContextName "ctx1". The request-id of the SNMP notification message 513 was "7145575". Then follows the data portion of the scopedPDU. The 514 first two variables contained in the data portion are always the 515 sysUpTime.0 and snmpTrapOID.0. An snmpTrapOID.0 with a value of 516 "1.3.6.1.6.3.1.1.5.4" means that this is a linkUp trap. The 517 parameters v3="1.3.6.1.2.1.2.2.1.1.3" d3="3" mean that the SNMP 518 notification message is carrying the ifIndex object which has a type 519 INTEGER and has a value of 3. The parameters 520 v4="1.3.6.1.2.1.2.2.1.7.3" d4="1" mean that the SNMP notification 521 message is carrying the object ifAdminStatus which has type INTEGER 522 and a value of 1. The parameters v5="1.3.6.1.2.1.2.2.1.8.3" d5="1" 523 mean that the SNMP notification message is carrying the object 524 ifOperStatus which has type INTEGER and a value of "1". 526 6. IANA Considerations 528 IANA is requested to register the SD-ID value "snmp" together with 529 the PARAM-NAME values specified in Section 3.2 in the registry for 530 SYSLOG structured data id values according to Section 9 in [RFC5424]. 531 The notation indicates a position number. 533 SD-ID PARAM-NAME 534 snmp OPTIONAL 535 ctxEngine OPTIONAL 536 ctxName OPTIONAL 537 v OPTIONAL 538 l OPTIONAL 539 o OPTIONAL 540 x OPTIONAL 541 c OPTIONAL 542 C OPTIONAL 543 u OPTIONAL 544 d OPTIONAL 545 i OPTIONAL 546 n OPTIONAL 547 p OPTIONAL 548 t OPTIONAL 549 a OPTIONAL 551 7. Security Considerations 553 The security considerations discussed in [RFC5424] apply to this 554 document. 556 The SNMP architecture supports an access control mechanism ensuring 557 that SNMP notifications are only sent to receivers who are authorized 558 to receive the notification. Users of this mapping of SNMP 559 notifications to SYSLOG messages should enforce a consistent policy 560 preventing people from accessing SNMP notifications via the SYSLOG 561 mapping that would otherwise not be accessible. 563 8. Acknowledgments 565 The authors wish to thank Martin Bjorklund, Washam Fan, Rainer 566 Gerhards and all other people who commented on various versions of 567 this proposal. 569 9. References 571 9.1. Normative References 573 [I-D.ietf-opsawg-syslog-msg-mib] 574 Schoenwaelder, J., Clemm, A., and A. Karmakar, 575 "Definitions of Managed Objects for Mapping SYSLOG 576 Messages to Simple Network Management Protocol (SNMP) 577 Notifications", Internet Draft (work in progress), 578 March 2009. 580 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 581 Requirement Levels", BCP 14, RFC 2119, March 1997. 583 [RFC3411] Harrington, D., Presuhn, R., and B. Wijnen, "An 584 Architecture for Describing Simple Network Management 585 Protocol (SNMP) Management Frameworks", STD 62, RFC 3411, 586 December 2002. 588 [RFC3412] Case, J., Harrington, D., Presuhn, R., and B. Wijnen, 589 "Message Processing and Dispatching for the Simple Network 590 Management Protocol (SNMP)", STD 62, RFC 3412, 591 December 2002. 593 [RFC3413] Levi, D., Meyer, P., and B. Stewart, "Simple Network 594 Management Protocol (SNMP) Applications", STD 62, 595 RFC 3413, December 2002. 597 [RFC3416] Presuhn, R., "Version 2 of the Protocol Operations for the 598 Simple Network Management Protocol (SNMP)", STD 62, 599 RFC 3416, December 2002. 601 [RFC3418] Presuhn, R., "Management Information Base (MIB) for the 602 Simple Network Management Protocol (SNMP)", STD 62, 603 RFC 3418, December 2002. 605 [RFC3584] Frye, R., Levi, D., Routhier, S., and B. Wijnen, 606 "Coexistence between Version 1, Version 2, and Version 3 607 of the Internet-standard Network Management Framework.", 608 BCP 74, RFC 3584, August 2003. 610 [RFC4234] Crocker, D. and P. Overell, "Augmented BNF for Syntax 611 Specifications: ABNF", RFC 4234, October 2005. 613 [RFC5424] Gerhards, R., "The Syslog Protocol", RFC 5424, March 2009. 615 9.2. Informative References 617 [RFC2578] McCloghrie, K., Perkins, D., and J. Schoenwaelder, 618 "Structure of Management Information Version 2 (SMIv2)", 619 RFC 2578, STD 58, April 1999. 621 [RFC2863] McCloghrie, K. and F. Kastenholz, "The Interfaces Group 622 MIB", RFC 2863, June 2000. 624 [RFC3410] Case, J., Mundy, R., Partain, D., and B. Stewart, 625 "Introduction and Applicability Statements for Internet- 626 Standard Management Framework", RFC 3410, December 2002. 628 [RFC3629] Yergeau, F., "UTF-8, a transformation format of ISO 629 10646", STD 63, RFC 3629, November 2003. 631 Authors' Addresses 633 Vladislav Marinov 634 Jacobs University Bremen 635 Campus Ring 1 636 28725 Bremen 637 Germany 639 Email: v.marinov@jacobs-university.de 641 Juergen Schoenwaelder 642 Jacobs University Bremen 643 Campus Ring 1 644 28725 Bremen 645 Germany 647 Email: j.schoenwaelder@jacobs-university.de