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/