draft-ietf-netmod-syslog-model-00.txt | draft-ietf-netmod-syslog-model-01.txt | |||
---|---|---|---|---|
NETMOD WG Clyde Wildes | NETMOD WG Clyde Wildes | |||
Internet-Draft Cisco Systems | Internet-Draft Cisco Systems | |||
Intended status: Informational Agrahara Kiran Koushik | Intended status: Informational Agrahara Kiran Koushik | |||
Expires: May 10, 2015 Brocade Communication Systems | Expires: Aug 22, 2015 Brocade Communication Systems | |||
Nov 10, 2014 | Feb 22, 2015 | |||
SYSLOG YANG model | SYSLOG YANG model | |||
draft-ietf-netmod-syslog-model-00 | draft-ietf-netmod-syslog-model-01 | |||
Abstract | Abstract | |||
This document describes a data model for Syslog | This document describes a data model for Syslog | |||
protocol which is used to convey event notification messages. | protocol which is used to convey event notification messages. | |||
Status of This Memo | Status of This Memo | |||
This Internet-Draft is submitted in full conformance with the | This Internet-Draft is submitted in full conformance with the | |||
provisions of BCP 78 and BCP 79. | provisions of BCP 78 and BCP 79. | |||
skipping to change at page 1, line 32 | skipping to change at page 1, line 32 | |||
Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
Drafts is at http://datatracker.ietf.org/drafts/current/. | Drafts is at http://datatracker.ietf.org/drafts/current/. | |||
Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
This Internet-Draft will expire on May 10, 2015. | This Internet-Draft will expire on Aug 22, 2015. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2014 IETF Trust and the persons identified as the | Copyright (c) 2015 IETF Trust and the persons identified as the | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
(http://trustee.ietf.org/license-info) in effect on the date of | (http://trustee.ietf.org/license-info) in effect on the date of | |||
publication of this document. Please review these documents | publication of this document. Please review these documents | |||
carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
skipping to change at page 2, line 27 | skipping to change at page 2, line 27 | |||
6. Security Considerations . . . . . . . . . . . . . . . . . . . 19 | 6. Security Considerations . . . . . . . . . . . . . . . . . . . 19 | |||
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 20 | 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 20 | |||
8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 20 | 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 20 | |||
9. Change log [RFC Editor: Please remove] . . . . . . . . . . . 20 | 9. Change log [RFC Editor: Please remove] . . . . . . . . . . . 20 | |||
10. References . . . . . . . . . . . . . . . . . . . . . . . . . 20 | 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 20 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 21 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 21 | |||
1. Introduction | 1. Introduction | |||
Operating systems, processes and applications generate messages | Operating systems, processes and applications generate messages | |||
indicating their own status or the occurence of events. These | indicating their own status or the occurrence of events. These | |||
messages are useful for managing and/or debugging the network and its | messages are useful for managing and/or debugging the network and its | |||
services. The BSD Syslog protocol is a widely adopted protocol that | services. The BSD Syslog protocol is a widely adopted protocol that | |||
is used for transmission and processing of the messages. | is used for transmission and processing of the messages. | |||
Since each process, application and operating system was | Since each process, application and operating system was | |||
written somewhat independently, there is little uniformity to the | written somewhat independently, there is little uniformity to the | |||
content of Syslog messages. For this reason, no assumption is made | content of Syslog messages. For this reason, no assumption is made | |||
upon the formatting or contents of the messages. The protocol is | upon the formatting or contents of the messages. The protocol is | |||
simply designed to transport these event messages. No | simply designed to transport these event messages. No | |||
acknowledgement of the receipt is made. | acknowledgement of the receipt is made. | |||
skipping to change at page 4, line 30 | skipping to change at page 4, line 30 | |||
v | v | |||
Group Level Suppression | Group Level Suppression | |||
+------------------------------+ | +------------------------------+ | |||
| Filter by message facility | | | Filter by message facility | | |||
| and message severity | | | and message severity | | |||
+------------------------------+ | +------------------------------+ | |||
| | | | |||
| | | | |||
| | | | |||
+-----+---------+----------------+-----------------+ | +------------+------------+------------+-----------+ | |||
| | | | | | | | | | | |||
v v v v | v v v v v | |||
Message Distributors | Message Distributors | |||
+-------------+ +-------------+ +-------------+ +-------------+ | +----------+ +----------+ +----------+ +----------+ +----------+ | |||
| | | | | User | | Remote | | | | | Log | | Log | | User | | Remote | | |||
| Console | | Log File(s) | | Terminals | | Servers | | | Console | | Buffer | | File(s) | | Terminals| | Servers| | |||
+-------------+ +-------------+ +-------------+ +-------------+ | +----------+ +----------+ +----------+ +----------+ +----------+ | |||
The leaves in the base syslog model correspond to the group level | The leaves in the base syslog model correspond to the group level | |||
suppression filter and each message distributor: | suppression filter and each message distributor: | |||
- console | ||||
- log file(s) | - console | |||
- user terminals | - log buffer | |||
- remote server(s). | - log file(s) | |||
- user terminals | ||||
- remote server(s). | ||||
Optional features are used to specified fields that are not present in | Optional features are used to specified fields that are not present in | |||
all vendor configurations. | all vendor configurations. | |||
3.1. SYSLOG Module | 3.1. SYSLOG Module | |||
module: ietf-syslog | module: ietf-syslog | |||
+--rw syslog | +--rw syslog | |||
+--rw global-logging-action {global-logging-action}? | +--rw global-logging-action {global-logging-action}? | |||
| +--rw (logging-level-scope)? | | +--rw (logging-level-scope)? | |||
| | +--:(logging-facility-all) | | | +--:(logging-facility-all) | |||
| | | +--rw (logging-severity-scope)? | | | | +--rw (logging-severity-scope)? | |||
| | | +--:(logging-severity-all) | | | | +--:(logging-severity-all) | |||
| | | | +--rw all? empty | | | | | +--rw all? empty | |||
| | | +--:(logging-severity) | | | | +--:(logging-severity) | |||
| | | +--rw severity? syslogtypes:Severity | | | | +--rw severity? syslogtypes:Severity | |||
skipping to change at page 5, line 64 | skipping to change at page 5, line 65 | |||
| +--rw logging-advanced-level-processing {selector-advanced-level-processing-config}? | | +--rw logging-advanced-level-processing {selector-advanced-level-processing-config}? | |||
| | +--rw (logging-severity-operator)? | | | +--rw (logging-severity-operator)? | |||
| | +--:(default) | | | +--:(default) | |||
| | | +--rw default? empty | | | | +--rw default? empty | |||
| | +--:(equals) | | | +--:(equals) | |||
| | | +--rw equals? empty | | | | +--rw equals? empty | |||
| | +--:(not-equals) | | | +--:(not-equals) | |||
| | +--rw not-equals? empty | | | +--rw not-equals? empty | |||
| +--rw logging-match-processing {selector-match-processing-config}? | | +--rw logging-match-processing {selector-match-processing-config}? | |||
| +--rw pattern-match? string | | +--rw pattern-match? string | |||
+--rw file-logging-action | +--rw buffered-logging-action | |||
| +--rw file-name inet:uri | ||||
| +--rw (logging-level-scope)? | | +--rw (logging-level-scope)? | |||
| | +--:(logging-facility-all) | | | +--:(logging-facility-all) | |||
| | | +--rw (logging-severity-scope)? | | | | +--rw (logging-severity-scope)? | |||
| | | +--:(logging-severity-all) | | | | +--:(logging-severity-all) | |||
| | | | +--rw all? empty | | | | | +--rw all? empty | |||
| | | +--:(logging-severity) | | | | +--:(logging-severity) | |||
| | | +--rw severity? syslogtypes:Severity | | | | +--rw severity? syslogtypes:Severity | |||
| | +--:(logging-facility-none) | | | +--:(logging-facility-none) | |||
| | | +--rw none? empty | | | | +--rw none? empty | |||
| | +--:(logging-facility) | | | +--:(logging-facility) | |||
skipping to change at page 5, line 93 | skipping to change at page 5, line 93 | |||
| +--rw logging-advanced-level-processing {selector-advanced-level-processing-config}? | | +--rw logging-advanced-level-processing {selector-advanced-level-processing-config}? | |||
| | +--rw (logging-severity-operator)? | | | +--rw (logging-severity-operator)? | |||
| | +--:(default) | | | +--:(default) | |||
| | | +--rw default? empty | | | | +--rw default? empty | |||
| | +--:(equals) | | | +--:(equals) | |||
| | | +--rw equals? empty | | | | +--rw equals? empty | |||
| | +--:(not-equals) | | | +--:(not-equals) | |||
| | +--rw not-equals? empty | | | +--rw not-equals? empty | |||
| +--rw logging-match-processing {selector-match-processing-config}? | | +--rw logging-match-processing {selector-match-processing-config}? | |||
| | +--rw pattern-match? string | | | +--rw pattern-match? string | |||
| +--rw file-logging-structured-data? boolean {file-logging-structured-data}? | | +--rw buffer-size? uint32 | |||
| +--rw file-logging-archive {file-logging-archive-config}? | +--rw file-logging-action | |||
| +--rw file-number? uint32 | | +--rw logging-files* [file-name] | |||
| +--rw file-size? uint32 | | +--rw file-name inet:uri | |||
| +--rw file-permission? enumeration | | +--rw (logging-level-scope)? | |||
| | +--:(logging-facility-all) | ||||
| | | +--rw (logging-severity-scope)? | ||||
| | | +--:(logging-severity-all) | ||||
| | | | +--rw all? empty | ||||
| | | +--:(logging-severity) | ||||
| | | +--rw severity? syslogtypes:Severity | ||||
| | +--:(logging-facility-none) | ||||
| | | +--rw none? empty | ||||
| | +--:(logging-facility) | ||||
| | +--rw logging-facilities* [facility] | ||||
| | +--rw facility identityref | ||||
| | +--rw (logging-severity-scope)? | ||||
| | +--:(logging-severity-all) | ||||
| | | +--rw all? empty | ||||
| | +--:(logging-severity) | ||||
| | +--rw severity? syslogtypes:Severity | ||||
| +--rw logging-advanced-level-processing {selector-advanced-level-processing-config}? | ||||
| | +--rw (logging-severity-operator)? | ||||
| | +--:(default) | ||||
| | | +--rw default? empty | ||||
| | +--:(equals) | ||||
| | | +--rw equals? empty | ||||
| | +--:(not-equals) | ||||
| | +--rw not-equals? empty | ||||
| +--rw logging-match-processing {selector-match-processing-config}? | ||||
| | +--rw pattern-match? string | ||||
| +--rw file-logging-structured-data? boolean {file-logging-structured-data}? | ||||
| +--rw file-logging-archive {file-logging-archive-config}? | ||||
| +--rw file-number? uint32 | ||||
| +--rw file-size? uint32 | ||||
| +--rw file-permission? enumeration | ||||
+--rw remote-logging-action | +--rw remote-logging-action | |||
| +--rw remote-logging-destination* [destination] | | +--rw remote-logging-destination* [destination] | |||
| +--rw destination inet:host | | +--rw destination inet:host | |||
| +--rw (logging-level-scope)? | | +--rw (logging-level-scope)? | |||
| | +--:(logging-facility-all) | | | +--:(logging-facility-all) | |||
| | | +--rw (logging-severity-scope)? | | | | +--rw (logging-severity-scope)? | |||
| | | +--:(logging-severity-all) | | | | +--:(logging-severity-all) | |||
| | | | +--rw all? empty | | | | | +--rw all? empty | |||
| | | +--:(logging-severity) | | | | +--:(logging-severity) | |||
| | | +--rw severity? syslogtypes:Severity | | | | +--rw severity? syslogtypes:Severity | |||
skipping to change at page 5, line 128 | skipping to change at page 5, line 159 | |||
| +--rw logging-advanced-level-processing {selector-advanced-level-processing-config}? | | +--rw logging-advanced-level-processing {selector-advanced-level-processing-config}? | |||
| | +--rw (logging-severity-operator)? | | | +--rw (logging-severity-operator)? | |||
| | +--:(default) | | | +--:(default) | |||
| | | +--rw default? empty | | | | +--rw default? empty | |||
| | +--:(equals) | | | +--:(equals) | |||
| | | +--rw equals? empty | | | | +--rw equals? empty | |||
| | +--:(not-equals) | | | +--:(not-equals) | |||
| | +--rw not-equals? empty | | | +--rw not-equals? empty | |||
| +--rw logging-match-processing {selector-match-processing-config}? | | +--rw logging-match-processing {selector-match-processing-config}? | |||
| | +--rw pattern-match? string | | | +--rw pattern-match? string | |||
| +--rw remote-logging-structured-data? boolean {remote-logging-structured-data}? | ||||
| +--rw destination-port? inet:port-number | ||||
| +--rw destination-facility? identityref | | +--rw destination-facility? identityref | |||
| +--rw source-interface? if:interface-ref | | +--rw source-interface? if:interface-ref | |||
| +--rw vrf-name? string {remote-logging-use-vrf}? | | +--rw vrf-name? string {remote-logging-use-vrf}? | |||
| +--rw syslog-sign! {signed-messages-config}? | | +--rw syslog-sign! {signed-messages-config}? | |||
| +--rw certInitialRepeat? uint16 | | +--rw certInitialRepeat? uint16 | |||
| +--rw certResendDelay? uint16 | | +--rw certResendDelay? uint16 | |||
| +--rw certResendCount? uint16 | | +--rw certResendCount? uint16 | |||
| +--rw sigMaxDelay? uint16 | | +--rw sigMaxDelay? uint16 | |||
| +--rw sigNumberResends? uint16 | | +--rw sigNumberResends? uint16 | |||
| +--rw sigResendDelay? uint16 | | +--rw sigResendDelay? uint16 | |||
skipping to change at page 6, line 34 | skipping to change at page 6, line 34 | |||
Editor: Clyde Wildes | Editor: Clyde Wildes | |||
<mailto:cwildes@cisco.com> | <mailto:cwildes@cisco.com> | |||
Editor: Agrahara Kiran Koushik | Editor: Agrahara Kiran Koushik | |||
<mailto:kkoushik@brocade.com>"; | <mailto:kkoushik@brocade.com>"; | |||
description | description | |||
"This module contains a collection of YANG type definitions for | "This module contains a collection of YANG type definitions for | |||
SYSLOG."; | SYSLOG."; | |||
revision 2014-10-24 { | revision 2014-09-15 { | |||
description | description | |||
"syslog-model-04 Revision"; | "Initial Revision"; | |||
reference | reference | |||
"This model references RFC 5424 - The Syslog Protocol, | "This model references RFC 5424 - The Syslog Protocol."; | |||
and RFC 5848 - Signed Syslog Messages."; | ||||
} | } | |||
typedef Severity { | typedef Severity { | |||
type enumeration { | type enumeration { | |||
enum "emergency" { | enum "emergency" { | |||
value 0; | value 0; | |||
description | description | |||
"Emergency Level Msg"; | "Emergency Level Msg"; | |||
} | } | |||
enum "alert" { | enum "alert" { | |||
skipping to change at page 7, line 44 | skipping to change at page 8, line 4 | |||
identity syslog-facility { | identity syslog-facility { | |||
description | description | |||
"The base identity to represent syslog facilities"; | "The base identity to represent syslog facilities"; | |||
} | } | |||
identity kern { | identity kern { | |||
base syslog-facility; | base syslog-facility; | |||
description | description | |||
"The facility for kernel messages as defined in RFC 5424."; | "The facility for kernel messages as defined in RFC 5424."; | |||
} | } | |||
identity user { | identity user { | |||
base syslog-facility; | base syslog-facility; | |||
description | description | |||
"The facility for user-level messages as defined in RFC 5424."; | "The facility for user-level messages as defined in RFC 5424."; | |||
} | } | |||
identity mail { | identity mail { | |||
base syslog-facility; | base syslog-facility; | |||
description | description | |||
"The facility for the mail system as defined in RFC 5424."; | "The facility for the mail system as defined in RFC 5424."; | |||
} | } | |||
identity daemon { | identity daemon { | |||
base syslog-facility; | base syslog-facility; | |||
} | ||||
description | description | |||
"The facility for the system daemons as defined in RFC 5424."; | "The facility for the system daemons as defined in RFC 5424."; | |||
} | } | |||
identity auth { | identity auth { | |||
base syslog-facility; | base syslog-facility; | |||
description | description | |||
"The facility for security/authorization messages as defined | "The facility for security/authorization messages as defined | |||
in RFC 5424."; | in RFC 5424."; | |||
} | } | |||
identity syslog { | identity syslog { | |||
base syslog-facility; | base syslog-facility; | |||
description | description | |||
"The facility for messages generated internally by syslogd | "The facility for messages generated internally by syslogd | |||
facility as defined in RFC 5424."; | facility as defined in RFC 5424."; | |||
} | } | |||
identity lpr { | identity lpr { | |||
base syslog-facility; | base syslog-facility; | |||
description | description | |||
"The facility for the line printer subsystem as defined in | "The facility for the line printer subsystem as defined in | |||
RFC 5424."; | RFC 5424."; | |||
} | } | |||
identity news { | identity news { | |||
base syslog-facility; | base syslog-facility; | |||
description | description | |||
"The facility for the network news subsystem as defined in | "The facility for the network news subsystem as defined in | |||
RFC 5424."; | RFC 5424."; | |||
} | } | |||
identity uucp { | identity uucp { | |||
base syslog-facility; | base syslog-facility; | |||
description | description | |||
"The facility for the UUCP subsystem as defined in RFC 5424."; | "The facility for the UUCP subsystem as defined in RFC 5424."; | |||
} | } | |||
identity cron { | identity cron { | |||
base syslog-facility; | base syslog-facility; | |||
description | description | |||
"The facility for the clock daemon as defined in RFC 5424."; | "The facility for the clock daemon as defined in RFC 5424."; | |||
} | } | |||
identity authpriv { | identity authpriv { | |||
base syslog-facility; | base syslog-facility; | |||
description | description | |||
"The facility for privileged security/authorization messages | "The facility for privileged security/authorization messages | |||
as defined in RFC 5424."; | as defined in RFC 5424."; | |||
} | } | |||
identity ftp { | identity ftp { | |||
base syslog-facility; | base syslog-facility; | |||
description | description | |||
"The facility for the FTP daemon as defined in RFC 5424."; | "The facility for the FTP daemon as defined in RFC 5424."; | |||
} | } | |||
identity ntp { | ||||
base syslog-facility; | identity ntp { | |||
base syslog-facility; | ||||
description | description | |||
"The facility for the NTP subsystem as defined in RFC 5424."; | "The facility for the NTP subsystem as defined in RFC 5424."; | |||
} | } | |||
identity audit { | identity audit { | |||
base syslog-facility; | base syslog-facility; | |||
description | description | |||
"The facility for log audit messages as defined in RFC 5424."; | "The facility for log audit messages as defined in RFC 5424."; | |||
} | } | |||
identity console { | identity console { | |||
base syslog-facility; | base syslog-facility; | |||
description | description | |||
"The facility for log alert messages as defined in RFC 5424."; | "The facility for log alert messages as defined in RFC 5424."; | |||
} | } | |||
identity cron2 { | identity cron2 { | |||
base syslog-facility; | base syslog-facility; | |||
description | description | |||
"The facility for the second clock daemon as defined in | "The facility for the second clock daemon as defined in | |||
RFC 5424."; | RFC 5424."; | |||
} | } | |||
identity local0 { | identity local0 { | |||
base syslog-facility; | base syslog-facility; | |||
description | description | |||
"The facility for local use 0 messages as defined in | "The facility for local use 0 messages as defined in | |||
RFC 5424."; | RFC 5424."; | |||
} | } | |||
identity local1 { | identity local1 { | |||
base syslog-facility; | base syslog-facility; | |||
description | description | |||
"The facility for local use 1 messages as defined in | "The facility for local use 1 messages as defined in | |||
RFC 5424."; | RFC 5424."; | |||
} | } | |||
identity local2 { | identity local2 { | |||
base syslog-facility; | base syslog-facility; | |||
description | description | |||
"The facility for local use 2 messages as defined in | "The facility for local use 2 messages as defined in | |||
RFC 5424."; | RFC 5424."; | |||
} | } | |||
identity local3 { | identity local3 { | |||
base syslog-facility; | base syslog-facility; | |||
description | description | |||
"The facility for local use 3 messages as defined in | "The facility for local use 3 messages as defined in | |||
RFC 5424."; | RFC 5424."; | |||
} | } | |||
identity local4 { | identity local4 { | |||
base syslog-facility; | base syslog-facility; | |||
description | description | |||
"The facility for local use 4 messages as defined in | "The facility for local use 4 messages as defined in | |||
RFC 5424."; | RFC 5424."; | |||
} | } | |||
identity local5 { | ||||
base syslog-facility; | identity local5 { | |||
base syslog-facility; | ||||
description | description | |||
"The facility for local use 5 messages as defined in | "The facility for local use 5 messages as defined in | |||
RFC 5424."; | RFC 5424."; | |||
} | } | |||
identity local6 { | identity local6 { | |||
base syslog-facility; | base syslog-facility; | |||
description | description | |||
"The facility for local use 6 messages as defined in | "The facility for local use 6 messages as defined in | |||
RFC 5424."; | RFC 5424."; | |||
} | } | |||
identity local7 { | identity local7 { | |||
base syslog-facility; | base syslog-facility; | |||
description | description | |||
"The facility for local use 7 messages as defined in | "The facility for local use 7 messages as defined in | |||
RFC 5424."; | RFC 5424."; | |||
} | } | |||
} | } | |||
4.2. SYSLOG module | 4.2. SYSLOG module | |||
module ietf-syslog { | module ietf-syslog { | |||
namespace "urn:ietf:params:xml:ns:yang:ietf-syslog"; | namespace "urn:ietf:params:xml:ns:yang:ietf-syslog"; | |||
prefix syslog; | prefix syslog; | |||
import ietf-inet-types { | import ietf-inet-types { | |||
prefix inet; | prefix inet; | |||
} | } | |||
skipping to change at page 10, line 44 | skipping to change at page 10, line 22 | |||
} | } | |||
import ietf-interfaces { | import ietf-interfaces { | |||
prefix if; | prefix if; | |||
} | } | |||
import ietf-syslog-types { | import ietf-syslog-types { | |||
prefix syslogtypes; | prefix syslogtypes; | |||
} | } | |||
organization "IETF NETMOD (NETCONF Data Modeling Language) Working | organization "IETF NETMOD (NETCONF Data Modeling Language) | |||
Group"; | Working Group"; | |||
contact | contact | |||
"WG Web: <http://tools.ietf.org/wg/netmod/> | "WG Web: <http://tools.ietf.org/wg/netmod/> | |||
WG List: <mailto:netmod@ietf.org> | WG List: <mailto:netmod@ietf.org> | |||
WG Chair: David Kessens | ||||
<mailto:david.kessens@nsn.com> | ||||
WG Chair: Juergen Schoenwaelder | WG Chair: Juergen Schoenwaelder | |||
<mailto:j.schoenwaelder@jacobs-university.de> | <mailto:j.schoenwaelder@jacobs-university.de> | |||
WG Chair: Tom Nadeau | ||||
<mailto:tnadeau@brocade.com> | ||||
Editor: Clyde Wildes | Editor: Clyde Wildes | |||
<mailto:cwildes@cisco.com> | <mailto:cwildes@cisco.com> | |||
Editor: Agrahara Kiran Koushik | Editor: Agrahara Kiran Koushik | |||
<mailto:kkoushik@brocade.com>"; | <mailto:kkoushik@brocade.com>"; | |||
description | description | |||
"This module contains a collection of YANG definitions | "This module contains a collection of YANG definitions | |||
for Syslog configuration."; | for Syslog configuration."; | |||
revision 2014-10-24 { | revision 2015-02-23 { | |||
description | description | |||
"syslog-model-04 Revision"; | "Initial Revision"; | |||
reference | reference | |||
"This model references RFC 5424 - The Syslog Protocol, | "This model references RFC 5424 - The Syslog Protocol, | |||
and RFC 5848 - Signed Syslog Messages."; | and RFC 5848 - Signed Syslog Messages."; | |||
} | } | |||
feature global-logging-action { | feature global-logging-action { | |||
description | description | |||
"This feature represents the ability to suppress log | "This feature represents the ability to suppress log | |||
messages on the global level."; | messages on the global level."; | |||
} | } | |||
feature file-logging-structured-data { | feature file-logging-structured-data { | |||
description | description | |||
"This feature represents the ability to log messages | "This feature represents the ability to log messages | |||
to a file in structured-data format as per RFC 5424."; | to a file in structured-data format as per RFC 5424."; | |||
} | } | |||
feature remote-logging-structured-data { | ||||
description | ||||
"This feature represents the ability to deliver log | ||||
messages to a remote server in structured-data format | ||||
as per RFC 5424."; | ||||
} | ||||
feature file-logging-archive-config { | feature file-logging-archive-config { | |||
description | description | |||
"This feature represents the ability to archive log files."; | "This feature represents the ability to archive log files."; | |||
} | } | |||
feature remote-logging-use-vrf { | feature remote-logging-use-vrf { | |||
description | description | |||
"This feature allows remote logging of messages to a | "This feature allows remote logging of messages to a | |||
particular VRF."; | particular VRF."; | |||
skipping to change at page 14, line 11 | skipping to change at page 13, line 62 | |||
"This leaf specifies the default behavior."; | "This leaf specifies the default behavior."; | |||
} | } | |||
} | } | |||
case equals { | case equals { | |||
description | description | |||
"All messages of the specified severity are logged | "All messages of the specified severity are logged | |||
according to the given action"; | according to the given action"; | |||
leaf equals { | leaf equals { | |||
type empty; | type empty; | |||
description | description | |||
"This leaf specifies all messages for the speicified | "This leaf specifies all messages for the specified | |||
severity."; | severity."; | |||
} | } | |||
} | } | |||
case not-equals { | case not-equals { | |||
description | description | |||
"All messages that are not of the specified severity are | "All messages that are not of the specified severity are | |||
logged according to the given action"; | logged according to the given action"; | |||
leaf not-equals { | leaf not-equals { | |||
type empty; | type empty; | |||
description | description | |||
"This leaf specifies all messages that are not for the | "This leaf specifies all messages that are not for the | |||
speicified severity."; | specified severity."; | |||
} | } | |||
} | } | |||
} | } | |||
} | } | |||
container logging-match-processing { | container logging-match-processing { | |||
if-feature selector-match-processing-config; | if-feature selector-match-processing-config; | |||
description | description | |||
"This container describes the configuration parameters for | "This container describes the configuration parameters for | |||
matching Syslog messages using a regular expression pattern | matching Syslog messages using a regular expression pattern | |||
match."; | match."; | |||
leaf pattern-match { | leaf pattern-match { | |||
type string; | type string; | |||
description | description | |||
"This leaf describes a Posix 1003.2 regular expression | "This leaf desribes a Posix 1003.2 regular expression | |||
string that can be used to select a Syslog message for | string that can be used to select a Syslog message for | |||
logging."; | logging. The match is performed on the RFC 5424 | |||
SYSLOG-MSG field."; | ||||
} | } | |||
} | } | |||
} | } | |||
container syslog { | container syslog { | |||
config true; | config true; | |||
description | description | |||
"This container describes the configuration parameters for | "This container describes the configuration parameters for | |||
Syslog."; | Syslog."; | |||
container global-logging-action { | container global-logging-action { | |||
skipping to change at page 15, line 4 | skipping to change at page 14, line 53 | |||
global logging. Global logging represents the ability to | global logging. Global logging represents the ability to | |||
perform global log message suppression."; | perform global log message suppression."; | |||
uses syslog-selector; | uses syslog-selector; | |||
} | } | |||
container console-logging-action { | container console-logging-action { | |||
description | description | |||
"This container describes the configuration parameters for | "This container describes the configuration parameters for | |||
console logging."; | console logging."; | |||
uses syslog-selector; | uses syslog-selector; | |||
} | } | |||
container file-logging-action { | container buffered-logging-action { | |||
description | description | |||
"This container describes the configuration parameters for | "This container describes the configuration parameters for | |||
file logging."; | buffered logging."; | |||
leaf file-name { | ||||
type inet:uri; | ||||
mandatory true; | ||||
description | ||||
"This leaf specifies the name of the log file."; | ||||
} | ||||
uses syslog-selector; | uses syslog-selector; | |||
leaf file-logging-structured-data { | leaf buffer-size { | |||
if-feature file-logging-structured-data; | type uint32; | |||
type boolean; | ||||
description | description | |||
"This leaf describes how log messages are written to the | "This leaf describes the amount of memory that will be | |||
log file. If set messages will be written in structured- | dedicated to buffered logging."; | |||
data format; if not set messages will be written in | ||||
standard message format."; | ||||
} | } | |||
container file-logging-archive { | } | |||
if-feature file-logging-archive-config; | container file-logging-action { | |||
description | ||||
"This container describes the configuration parameters for | ||||
file logging."; | ||||
list logging-files { | ||||
key "file-name"; | ||||
description | description | |||
"This container describes the configuration parameters for | "This list describes a collection of local logging | |||
log file archiving."; | files."; | |||
leaf file-number { | leaf file-name { | |||
type uint32; | type inet:uri; | |||
mandatory true; | ||||
description | description | |||
"This leaf specifies the maximum number of log files | "This leaf specifies the name of the log file."; | |||
retained."; | ||||
} | } | |||
leaf file-size { | uses syslog-selector; | |||
type uint32; | leaf file-logging-structured-data { | |||
if-feature file-logging-structured-data; | ||||
type boolean; | ||||
description | description | |||
"This leaf specifies the maximum log file size."; | "This leaf describes how log messages are written to the | |||
log file. If set messages will be written in structured- | ||||
data format; if not set messages will be written in | ||||
standard message format."; | ||||
} | } | |||
leaf file-permission { | container file-logging-archive { | |||
type enumeration { | if-feature file-logging-archive-config; | |||
enum world-readable { | ||||
value 1; | ||||
description | ||||
"This enum specifies that the log files | ||||
are readable by world."; | ||||
} | ||||
enum no-world-readable { | ||||
value 2; | ||||
description | ||||
"This enum specifies that the log files | ||||
are not readable by world."; | ||||
} | ||||
} | ||||
description | description | |||
"This leaf describes who can read log files"; | "This container describes the configuration parameters | |||
for log file archiving."; | ||||
leaf file-number { | ||||
type uint32; | ||||
description | ||||
"This leaf specifies the maximum number of log files | ||||
retained."; | ||||
} | ||||
leaf file-size { | ||||
type uint32; | ||||
description | ||||
"This leaf specifies the maximum log file size."; | ||||
} | ||||
leaf file-permission { | ||||
type enumeration { | ||||
enum world-readable { | ||||
value 1; | ||||
description | ||||
"This enum specifies that the log files | ||||
are readable by world."; | ||||
} | ||||
enum no-world-readable { | ||||
value 2; | ||||
description | ||||
"This enum specifies that the log files | ||||
are not readable by world."; | ||||
} | ||||
} | ||||
description | ||||
"This leaf describes who can read log files"; | ||||
} | ||||
} | } | |||
} | } | |||
} | } | |||
container remote-logging-action { | container remote-logging-action { | |||
description | description | |||
"This container describes the configuration parameters for | "This container describes the configuration parameters for | |||
remote logging."; | remote logging."; | |||
list remote-logging-destination { | list remote-logging-destination { | |||
key "destination"; | key "destination"; | |||
description | description | |||
skipping to change at page 16, line 22 | skipping to change at page 16, line 22 | |||
destinations."; | destinations."; | |||
leaf destination { | leaf destination { | |||
type inet:host; | type inet:host; | |||
mandatory true; | mandatory true; | |||
description | description | |||
"The leaf uniquely specifies the address of the | "The leaf uniquely specifies the address of the | |||
remote host. One of the following must be specified: | remote host. One of the following must be specified: | |||
an ipv4 address, an ipv6 address, or a host name."; | an ipv4 address, an ipv6 address, or a host name."; | |||
} | } | |||
uses syslog-selector; | uses syslog-selector; | |||
leaf remote-logging-structured-data { | ||||
if-feature remote-logging-structured-data; | ||||
type boolean; | ||||
description | ||||
"This leaf describes how log messages are sent to the | ||||
remote server. If set messages will be sent in | ||||
structured-data format; if not set messages will be | ||||
sent in standard message format."; | ||||
} | ||||
leaf destination-port { | ||||
type inet:port-number; | ||||
default 514; | ||||
description | ||||
"This leaf specifies the port number used to deliver | ||||
messages to the remote server."; | ||||
} | ||||
leaf destination-facility { | leaf destination-facility { | |||
type identityref { | type identityref { | |||
base syslogtypes:syslog-facility; | base syslogtypes:syslog-facility; | |||
} | } | |||
description | description | |||
"This leaf specifies the facility used in messages | "This leaf specifies the facility used in messages | |||
delivered to the remote server."; | delivered to the remote server."; | |||
} | } | |||
leaf source-interface { | leaf source-interface { | |||
type if:interface-ref; | type if:interface-ref; | |||
skipping to change at page 18, line 15 | skipping to change at page 18, line 55 | |||
Requirement: | Requirement: | |||
Enable global logging of two facilities: | Enable global logging of two facilities: | |||
kern - severity critical(1) | kern - severity critical(1) | |||
auth - severity error(3) | auth - severity error(3) | |||
Enable console logging of syslogs of severity | Enable console logging of syslogs of severity | |||
critical(1) | critical(1) | |||
Here is the example syslog configuration xml: | Here is the example syslog configuration xml: | |||
<rpc message-id="101" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"> | <rpc message-id="101" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"> | |||
<edit-config> | <edit-config> | |||
<target> | <target> | |||
<running/> | <running/> | |||
</target> | </target> | |||
<config> | <config> | |||
<syslog xmlns="urn:ietf:params:xml:ns:yang:ietf-syslog"> | <syslog xmlns="urn:ietf:params:xml:ns:yang:ietf-syslog"> | |||
<global-logging-action> | <global-logging-action> | |||
<logging-facilities> | <logging-facilities> | |||
<facility>kern</facility><logging-severity>critical</logging-severity> | <facility>syslogtypes:kern</facility><logging-severity>syslogtypes:critical</logging-severity> | |||
</logging-facilities> | </logging-facilities> | |||
<logging-facilities> | <logging-facilities> | |||
<facility>auth</facility><logging-severity>error</logging-severity> | <facility>syslogtypes:auth</facility><logging-severity>syslogtypes:error</logging-severity> | |||
</logging-facilities> | </logging-facilities> | |||
</global-logging-action> | </global-logging-action> | |||
<console-logging-action> | <console-logging-action> | |||
<severity>critical</severity> | <severity>syslogtypes:critical</severity> | |||
</console-logging-action> | </console-logging-action> | |||
</syslog> | </syslog> | |||
</config> | </config> | |||
</edit-config> | </edit-config> | |||
</rpc> | </rpc> | |||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | |||
<rpc-reply message-id="101" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"> | <rpc-reply message-id="101" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"> | |||
<ok/> | <ok/> | |||
</rpc-reply> | </rpc-reply> | |||
skipping to change at page 19, line 20 | skipping to change at page 19, line 20 | |||
YANG model at the time of posting of this Internet-Draft. | YANG model at the time of posting of this Internet-Draft. | |||
Cisco Systems, Inc. has implemented the proposed IETF Syslog model | Cisco Systems, Inc. has implemented the proposed IETF Syslog model | |||
for the Nexus 7000 NXOS OS as a prototype, together with an | for the Nexus 7000 NXOS OS as a prototype, together with an | |||
augmentation model for operating system specific Syslog configuration | augmentation model for operating system specific Syslog configuration | |||
features. | features. | |||
Five leaves were implemented in the base IETF model and three leaves | Five leaves were implemented in the base IETF model and three leaves | |||
were implemented in the NXOS specific augmentation model as follows: | were implemented in the NXOS specific augmentation model as follows: | |||
Leaf XPATH Sample NXOS CLI Command(s) | Leaf XPATH Sample NXOS CLI Command(s) | |||
syslog:global-logging-action logging level cron 2 | syslog:global-logging logging level cron 2 | |||
syslog:console-logging-action logging console 1 | syslog:console-logging logging console 1 | |||
syslog:file-logging-action logging logfile mylog.log 2 4096 | syslog:file-logging logging logfile mylog.log 2 4096 | |||
syslog:terminal-logging-action logging monitor 2 | syslog:terminal-logging logging monitor 2 | |||
syslog:remote-logging-action *logging server server.cisco.com 2 | syslog:remote-logging *logging server server.cisco.com 2 | |||
facility user use-vrf management | facility user use-vrf management | |||
*logging source-interface loopback 0 | *logging source-interface loopback 0 | |||
cisco-syslog:logging-timestamp-config logging timestamp milli-seconds | cisco-syslog:logging-timestamp-config logging timestamp milli-seconds | |||
cisco-syslog:origin-id-cfg logging origin-id string abcdef | cisco-syslog:origin-id-cfg logging origin-id string abcdef | |||
cisco-syslog:module-logging logging module 1 | cisco-syslog:module-logging logging module 1 | |||
*The "logging server" and "logging source-interface" commands were | *The "logging server" and "logging source-interface" commands were | |||
combined into one base model leaf. | combined into one base model leaf. | |||
The description of implementations in this section is intended to assist | The description of implementations in this section is intended to assist | |||
the IETF in its decision processes in progressing drafts to RFCs. | the IETF in its decision processes in progressing drafts to RFCs. | |||
skipping to change at page 20, line 25 | skipping to change at page 20, line 25 | |||
XML: N/A, the requested URI is an XML namespace. | XML: N/A, the requested URI is an XML namespace. | |||
This document registers a YANG module in the YANG Module Names | This document registers a YANG module in the YANG Module Names | |||
registry [RFC6020]. | registry [RFC6020]. | |||
name: syslog namespace: urn:ietf:params:xml:ns:yang:syslog | name: syslog namespace: urn:ietf:params:xml:ns:yang:syslog | |||
prefix: syslog reference: RFC XXXX | prefix: syslog reference: RFC XXXX | |||
8. Acknowledgements | 8. Acknowledgements | |||
The authors wish to thank the following who provided feedback during the | The authors wish to thank the following who commented on version 00 of this proposal: | |||
writing of this document: | ||||
Alexander Clemm <alex@cisco.com> | ||||
Jim Gibson <gibson@cisco.com> | Jim Gibson <gibson@cisco.com> | |||
Jeffrey Haas <jhaas@pfrc.org> | Jeffrey Haas <jhaas@pfrc.org> | |||
John Heasley <heas@shrubbery.net> | John Heasley <heas@shrubbery.net> | |||
Giles Heron <giheron@cisco.com> | Giles Heron <giheron@cisco.com> | |||
Lisa Huang <yihuan@cisco.com> | Lisa Huang <yihuan@cisco.com> | |||
Jeffrey K Lange <jeffrey.K.lange@ge.com> | Jeffrey K Lange <jeffrey.K.lange@ge.com> | |||
Chris Lonvick <lonvick@gmail.com> | Chris Lonvick <lonvick@gmail.com> | |||
Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de> | Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de> | |||
Peter Van Horne <petervh@cisco.com> | Peter Van Horne <petervh@cisco.com> | |||
Bert Wijnen <bertietf@bwijnen.net> | Bert Wijnen <bertietf@bwijnen.net> | |||
Aleksandr Zhdankin <azhdanki@cisco.com> | Aleksandr Zhdankin <azhdanki@cisco.com> | |||
9. Change log [RFC Editor: Please remove] | 9. Change log [RFC Editor: Please remove] | |||
10. References | 10. References | |||
[RFC3164] Lonvick, C., "The BSD syslog Protocol", BCP 81, RFC 3164, | [RFC3164] Lonvick, C., "The BSD syslog Protocol", BCP 81, RFC 3164, | |||
August 2001. | August 2001. | |||
[RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, | [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, | |||
April 2704. | March 2204. | |||
[RFC5424] Gerhards, R., "The Syslog Protocol", RFC 5424, March 2009 | ||||
[RFC5426] Okmianski, A., "Transmission of Syslog Messages over UDP", | ||||
RFC 5426, March 2009 | ||||
[RFC5848] Kelsey, J., Callas, J., Clemm, A., "Signed Syslog Messages", | ||||
RFC 5848, May 2010. | ||||
[RFC6020] Bjorklund, M., "YANG - A Data Modeling Language for the | [RFC6020] Bjorklund, M., "YANG - A Data Modeling Language for the | |||
Network Configuration Protocol (NETCONF)", RFC 6020, | Network Configuration Protocol (NETCONF)", RFC 6020, | |||
November 2010. | October 2010. | |||
[RFC6241] Enns, R., Bjorklund, M., Schoenwaelder, J., and A. | [RFC6241] Enns, R., Bjorklund, M., Schoenwaelder, J., and A. | |||
Bierman, "Network Configuration Protocol (NETCONF)", RFC | Bierman, "Network Configuration Protocol (NETCONF)", RFC | |||
6241, June 2011. | 6241, June 2011. | |||
[RFC6242] Wasserman, M., "Using the NETCONF Protocol over Secure | [RFC6242] Wasserman, M., "Using the NETCONF Protocol over Secure | |||
Shell (SSH)", RFC 6242, June 2011. | Shell (SSH)", RFC 6242, June 2011. | |||
[RFC6536] Bierman, A., Bjorklund, M., "Network Configuration Protocol | ||||
(NETCONF) Access Control Model", RFC 6536, March 2012. | ||||
[RFC6536] Bierman, A. and M. Bjorklund, "Network Configuration | [RFC6536] Bierman, A. and M. Bjorklund, "Network Configuration | |||
Protocol (NETCONF) Access Control Model", RFC 6536, March | Protocol (NETCONF) Access Control Model", RFC 6536, March | |||
2012. | 2012. | |||
[Posix 1003.2] IEEE, "1003.2-1992 - IEEE Standard for Information | ||||
Technology--Portable Operating System Interfaces | ||||
(POSIX(R))--Part 2: Shell and Utilities", Posix 1003.2, 1992 | ||||
Authors' Addresses | Authors' Addresses | |||
Clyde Wildes | Clyde Wildes | |||
Cisco Systems Inc. | Cisco Systems Inc. | |||
Email: cwildes@cisco.com | Email: cwildes@cisco.com | |||
Kiran Agrahara Sreenivasa | Kiran Agrahara Sreenivasa | |||
Brocade Communications Systems | Brocade Communications Systems | |||
End of changes. 86 change blocks. | ||||
173 lines changed or deleted | 231 lines changed or added | |||
This html diff was produced by rfcdiff 1.42. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |