draft-ietf-netmod-syslog-model-03.txt | draft-ietf-netmod-syslog-model-04.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: Sep 09, 2015 Brocade Communication Systems | Expires: Jan 06, 2016 Brocade Communication Systems | |||
Mar 09, 2015 | Jul 06, 2015 | |||
SYSLOG YANG model | SYSLOG YANG model | |||
draft-ietf-netmod-syslog-model-03 | draft-ietf-netmod-syslog-model-04 | |||
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 31 | |||
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 Sep 05, 2015. | This Internet-Draft will expire on Jan 06, 2016. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2015 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 | |||
skipping to change at page 4, line 20 | skipping to change at page 4, line 20 | |||
+-------------+ +-------------+ +-------------+ +-------------+ | +-------------+ +-------------+ +-------------+ +-------------+ | |||
| SNMP | | Interface | | Standby | | Syslog | | | SNMP | | Interface | | Standby | | Syslog | | |||
| Events | | Events | | Supervisor | | Itself | | | Events | | Events | | Supervisor | | Itself | | |||
+-------------+ +-------------+ +-------------+ +-------------+ | +-------------+ +-------------+ +-------------+ +-------------+ | |||
| | | | | | |||
+----------------------------------------------------------------+ | +----------------------------------------------------------------+ | |||
| | | | |||
| | | | |||
v | ||||
Group Level Suppression | ||||
+------------------------------+ | ||||
| Filter by message facility | | ||||
| and message severity | | ||||
+------------------------------+ | ||||
| | ||||
| | | | |||
| | | | |||
+------------+------------+------------+-----------+ | +------------+------------+------------+-----------+ | |||
| | | | | | | | | | | | |||
v v v v v | v v v v v | |||
Message Distributors | Message Distributors | |||
+----------+ +----------+ +----------+ +----------+ +----------+ | +----------+ +----------+ +----------+ +----------+ +----------+ | |||
| | | Log | | Log | | User | | Remote | | | | | Log | | Log | | User | | Remote | | |||
| Console | | Buffer | | File(s) | | Terminals| | Servers| | | Console | | Buffer | | File(s) | | Terminals| | Servers| | |||
+----------+ +----------+ +----------+ +----------+ +----------+ | +----------+ +----------+ +----------+ +----------+ +----------+ | |||
skipping to change at page 5, line 8 | skipping to change at page 5, line 8 | |||
- log file(s) | - log file(s) | |||
- user terminals | - user terminals | |||
- remote server(s). | - 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 log-actions | |||
| +--rw (logging-level-scope)? | +--rw console | |||
| | +--:(logging-facility-all) | | +--rw log-selector | |||
| | | +--rw severity? syslogtypes:severity | | +--rw (logging-level-scope)? | |||
| | +--:(logging-facility-none) | | | +--:(logging-facility-all) | |||
| | | +--rw none? empty | | | | +--rw all-facilities? empty | |||
| | +--:(logging-facility) | | | | +--rw severity? union | |||
| | +--rw logging-facilities* [facility] | | | +--:(logging-facility-none) | |||
| | +--rw facility identityref | | | | +--rw no-facilities? empty | |||
| | +--rw severity? syslogtypes:severity | | | +--:(logging-facility) | |||
| +--rw logging-advanced-level-processing {selector-advanced-level-processing-config}? | | | +--rw facilities* [facility] | |||
| | +--rw select-message-severity? enumeration | | | +--rw facility identityref | |||
| +--rw logging-match-processing {selector-match-processing-config}? | | | +--rw severity? union | |||
| +--rw pattern-match? string | | +--rw severity-operator? enumeration {selector-severity-operator-config}? | |||
+--rw console-logging-action | | +--rw pattern-match? string {selector-match-processing-config}? | |||
| +--rw (logging-level-scope)? | +--rw buffer | |||
| | +--:(logging-facility-all) | | +--rw log-buffer* [name] | |||
| | | +--rw severity? syslogtypes:severity | | +--rw name string | |||
| | +--:(logging-facility-none) | | +--rw log-selector | |||
| | | +--rw none? empty | | | +--rw (logging-level-scope)? | |||
| | +--:(logging-facility) | | | | +--:(logging-facility-all) | |||
| | +--rw logging-facilities* [facility] | | | | | +--rw all-facilities? empty | |||
| | +--rw facility identityref | | | | | +--rw severity? union | |||
| | +--rw severity? syslogtypes:severity | | | | +--:(logging-facility-none) | |||
| +--rw logging-advanced-level-processing {selector-advanced-level-processing-config}? | | | | | +--rw no-facilities? empty | |||
| | +--rw select-message-severity? enumeration | | | | +--:(logging-facility) | |||
| +--rw logging-match-processing {selector-match-processing-config}? | | | | +--rw facilities* [facility] | |||
| +--rw pattern-match? string | | | | +--rw facility identityref | |||
+--rw buffered-logging-action | | | | +--rw severity? union | |||
| +--rw (logging-level-scope)? | | | +--rw severity-operator? enumeration {selector-severity-operator-config}? | |||
| | +--:(logging-facility-all) | | | +--rw pattern-match? string {selector-match-processing-config}? | |||
| | | +--rw severity? syslogtypes:severity | | +--rw buffer-size-bytes? uint64 {buffer-limit-bytes}? | |||
| | +--:(logging-facility-none) | | +--rw buffer-size-messages? uint64 {buffer-limit-messages}? | |||
| | | +--rw none? empty | +--rw file | |||
| | +--:(logging-facility) | | +--rw log-file* [name] | |||
| | +--rw logging-facilities* [facility] | | +--rw name inet:uri | |||
| | +--rw facility identityref | | +--rw log-selector | |||
| | +--rw severity? syslogtypes:severity | | | +--rw (logging-level-scope)? | |||
| +--rw logging-advanced-level-processing {selector-advanced-level-processing-config}? | | | | +--:(logging-facility-all) | |||
| | +--rw select-message-severity? enumeration | | | | | +--rw all-facilities? empty | |||
| +--rw logging-match-processing {selector-match-processing-config}? | | | | | +--rw severity? union | |||
| | +--rw pattern-match? string | | | | +--:(logging-facility-none) | |||
| +--rw buffer-size? uint64 | | | | | +--rw no-facilities? empty | |||
+--rw file-logging-action | | | | +--:(logging-facility) | |||
| +--rw logging-files* [file-name] | | | | +--rw facilities* [facility] | |||
| +--rw file-name inet:uri | | | | +--rw facility identityref | |||
| +--rw (logging-level-scope)? | | | | +--rw severity? union | |||
| | +--:(logging-facility-all) | | | +--rw severity-operator? enumeration {selector-severity-operator-config}? | |||
| | | +--rw severity? syslogtypes:severity | | | +--rw pattern-match? string {selector-match-processing-config}? | |||
| | +--:(logging-facility-none) | | +--rw structured-data? boolean {structured-data-config}? | |||
| | | +--rw none? empty | | +--rw file-archive | |||
| | +--:(logging-facility) | | +--rw number-of-files? uint32 {file-limit-size}? | |||
| | +--rw logging-facilities* [facility] | | +--rw max-file-size? uint64 {file-limit-size}? | |||
| | +--rw facility identityref | | +--rw rollover? uint32 {file-limit-duration}? | |||
| | +--rw severity? syslogtypes:severity | | +--rw retention? uint16 {file-limit-duration}? | |||
| +--rw logging-advanced-level-processing {selector-advanced-level-processing-config}? | +--rw remote | |||
| | +--rw select-message-severity? enumeration | | +--rw remote-logging-destination* [name] | |||
| +--rw logging-match-processing {selector-match-processing-config}? | | +--rw name string | |||
| | +--rw pattern-match? string | | +--rw (transport) | |||
| +--rw file-logging-structured-data? boolean {file-logging-structured-data}? | | | +--:(tcp) | |||
| +--rw file-logging-archive {file-logging-archive-config}? | | | | +--rw tcp | |||
| +--rw file-number? uint32 | | | | +--rw address? inet:host | |||
| +--rw file-size? uint64 | | | | +--rw port? inet:port-number | |||
| +--rw file-permission? enumeration | | | +--:(udp) | |||
+--rw remote-logging-action | | | +--rw udp | |||
| +--rw remote-logging-destination* [destination] | | | +--rw address? inet:host | |||
| +--rw destination inet:host | | | +--rw port? inet:port-number | |||
| +--rw (logging-level-scope)? | | +--rw log-selector | |||
| | +--:(logging-facility-all) | | | +--rw (logging-level-scope)? | |||
| | | +--rw severity? syslogtypes:severity | | | | +--:(logging-facility-all) | |||
| | +--:(logging-facility-none) | | | | | +--rw all-facilities? empty | |||
| | | +--rw none? empty | | | | | +--rw severity? union | |||
| | +--:(logging-facility) | | | | +--:(logging-facility-none) | |||
| | +--rw logging-facilities* [facility] | | | | | +--rw no-facilities? empty | |||
| | +--rw facility identityref | | | | +--:(logging-facility) | |||
| | +--rw severity? syslogtypes:severity | | | | +--rw facilities* [facility] | |||
| +--rw logging-advanced-level-processing {selector-advanced-level-processing-config}? | | | | +--rw facility identityref | |||
| | +--rw select-message-severity? enumeration | | | | +--rw severity? union | |||
| +--rw logging-match-processing {selector-match-processing-config}? | | | +--rw severity-operator? enumeration {selector-severity-operator-config}? | |||
| | +--rw pattern-match? string | | | +--rw pattern-match? string {selector-match-processing-config}? | |||
| +--rw remote-logging-structured-data? boolean {remote-logging-structured-data}? | | +--rw destination-facility? identityref | |||
| +--rw destination-port? inet:port-number | | +--rw source-interface? if:interface-ref | |||
| +--rw destination-facility? identityref | | +--rw syslog-sign! {signed-messages-config}? | |||
| +--rw source-interface? if:interface-ref | | +--rw cert-initial-repeat uint16 | |||
| +--rw vrf-name? string {remote-logging-use-vrf}? | | +--rw cert-resend-delay uint16 | |||
| +--rw syslog-sign! {signed-messages-config}? | | +--rw cert-resend-count uint16 | |||
| +--rw cert-initial-repeat uint16 | | +--rw sig-max-delay uint16 | |||
| +--rw cert-resend-delay uint16 | | +--rw sig-number-resends uint16 | |||
| +--rw cert-resend-count uint16 | | +--rw sig-resend-delay uint16 | |||
| +--rw sig-max-delay uint16 | | +--rw sig-resend-count uint16 | |||
| +--rw sig-number-resends uint16 | +--rw terminal | |||
| +--rw sig-resend-delay uint16 | +--rw (user-scope)? | |||
| +--rw sig-resend-count uint16 | +--:(all-users) | |||
+--rw terminal-logging-action | | +--rw all-users | |||
+--rw (user-scope)? | | +--rw log-selector | |||
+--:(all-users) | | +--rw (logging-level-scope)? | |||
| +--rw all-users | | | +--:(logging-facility-all) | |||
| +--rw (logging-level-scope)? | | | | +--rw all-facilities? empty | |||
| | +--:(logging-facility-all) | | | | +--rw severity? union | |||
| | | +--rw severity? syslogtypes:severity | | | +--:(logging-facility-none) | |||
| | +--:(logging-facility-none) | | | | +--rw no-facilities? empty | |||
| | | +--rw none? empty | | | +--:(logging-facility) | |||
| | +--:(logging-facility) | | | +--rw facilities* [facility] | |||
| | +--rw logging-facilities* [facility] | | | +--rw facility identityref | |||
| | +--rw facility identityref | | | +--rw severity? union | |||
| | +--rw severity? syslogtypes:severity | | +--rw severity-operator? enumeration {selector-severity-operator-config}? | |||
| +--rw logging-advanced-level-processing {selector-advanced-level-processing-config}? | | +--rw pattern-match? string {selector-match-processing-config}? | |||
| | +--rw select-message-severity? enumeration | +--:(per-user) {terminal-facility-user-logging-config}? | |||
| +--rw logging-match-processing {selector-match-processing-config}? | +--rw user-name* [uname] | |||
| +--rw pattern-match? string | +--rw uname string | |||
+--:(per-user) {terminal-facility-user-logging-config}? | +--rw log-selector | |||
+--rw user-name* [uname] | +--rw (logging-level-scope)? | |||
+--rw uname string | | +--:(logging-facility-all) | |||
+--rw (logging-level-scope)? | | | +--rw all-facilities? empty | |||
| +--:(logging-facility-all) | | | +--rw severity? union | |||
| | +--rw severity? syslogtypes:severity | | +--:(logging-facility-none) | |||
| +--:(logging-facility-none) | | | +--rw no-facilities? empty | |||
| | +--rw none? empty | | +--:(logging-facility) | |||
| +--:(logging-facility) | | +--rw facilities* [facility] | |||
| +--rw logging-facilities* [facility] | | +--rw facility identityref | |||
| +--rw facility identityref | | +--rw severity? union | |||
| +--rw severity? syslogtypes:severity | +--rw severity-operator? enumeration {selector-severity-operator-config}? | |||
+--rw logging-advanced-level-processing {selector-advanced-level-processing-config}? | +--rw pattern-match? string {selector-match-processing-config}? | |||
| +--rw select-message-severity? enumeration | ||||
+--rw logging-match-processing {selector-match-processing-config}? | ||||
+--rw pattern-match? string | ||||
4. SYSLOG YANG Models | 4. SYSLOG YANG Models | |||
4.1. SYSLOG-TYPES module | 4.1. SYSLOG-TYPES module | |||
<CODE BEGINS> file "ietf-syslog-types.yang" | <CODE BEGINS> file "ietf-syslog-types.yang" | |||
module ietf-syslog-types { | module ietf-syslog-types { | |||
namespace "urn:ietf:params:xml:ns:yang:ietf-syslog-types"; | namespace "urn:ietf:params:xml:ns:yang:ietf-syslog-types"; | |||
prefix syslogtypes; | prefix syslogtypes; | |||
organization "IETF NETMOD (NETCONF Data Modeling Language) Working | organization "IETF NETMOD (NETCONF Data Modeling Language) Working | |||
Group"; | 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: Juergen Schoenwaelder | ||||
<mailto:j.schoenwaelder@jacobs-university.de> | ||||
WG Chair: Tom Nadeau | WG Chair: Tom Nadeau | |||
<mailto:tnadeau@brocade.com> | <mailto:tnadeau@lucidvision.com> | |||
Editor: Clyde Wildes | WG Chair: Juergen Schoenwaelder | |||
<mailto:cwildes@cisco.com> | <mailto:j.schoenwaelder@jacobs-university.de> | |||
Editor: Agrahara Kiran Koushik | Editor: Ladislav Lhotka | |||
<mailto:kkoushik@brocade.com>"; | <mailto:lhotka@nic.cz>"; | |||
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 2015-03-05 { | revision 2015-07-06 { | |||
description | description | |||
"Initial 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 36 | skipping to change at page 7, line 36 | |||
description | description | |||
"Informational Level Msg"; | "Informational Level Msg"; | |||
} | } | |||
enum "debug" { | enum "debug" { | |||
value 7; | value 7; | |||
description | description | |||
"Debugging Level Msg"; | "Debugging Level Msg"; | |||
} | } | |||
} | } | |||
description | description | |||
"The definitions for Syslog message severity."; | "The definitions for Syslog message severity as per RFC 5424."; | |||
} | } | |||
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 { | identity ntp { | |||
base syslog-facility; | 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 { | identity local5 { | |||
base syslog-facility; | 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."; | |||
} | } | |||
} | } | |||
<CODE ENDS> | <CODE ENDS> | |||
4.2. SYSLOG module | 4.2. SYSLOG module | |||
<CODE BEGINS> file "ietf-syslog.yang" | <CODE BEGINS> file "ietf-syslog.yang" | |||
skipping to change at page 10, line 30 | skipping to change at page 10, line 30 | |||
import ietf-syslog-types { | import ietf-syslog-types { | |||
prefix syslogtypes; | prefix syslogtypes; | |||
} | } | |||
organization "IETF NETMOD (NETCONF Data Modeling Language) | organization "IETF NETMOD (NETCONF Data Modeling Language) | |||
Working 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 | WG Chair: Tom Nadeau | |||
<mailto:david.kessens@nsn.com> | <mailto:tnadeau@lucidvision.com> | |||
WG Chair: Juergen Schoenwaelder | WG Chair: Juergen Schoenwaelder | |||
<mailto:j.schoenwaelder@jacobs-university.de> | <mailto:j.schoenwaelder@jacobs-university.de> | |||
Editor: Clyde Wildes | Editor: Ladislav Lhotka | |||
<mailto:cwildes@cisco.com> | <mailto:lhotka@nic.cz>"; | |||
Editor: Agrahara Kiran Koushik | ||||
<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 2015-03-05 { | revision 2015-07-06 { | |||
description | description | |||
"Initial Revision"; | "Initial Revision"; | |||
reference | reference | |||
"This model references RFC 5424 - The Syslog Protocol, | "RFC 5424: The Syslog Protocol | |||
and RFC 5848 - Signed Syslog Messages."; | RFC 5848: Signed Syslog Messages"; | |||
} | } | |||
feature global-logging-action { | feature buffer-limit-bytes { | |||
description | description | |||
"This feature represents the ability to suppress log | "This feature indicates that local memory logging buffers | |||
messages on the global level."; | are limited in size using a limit expressed in bytes."; | |||
} | } | |||
feature file-logging-structured-data { | feature buffer-limit-messages { | |||
description | description | |||
"This feature represents the ability to log messages | "This feature indicates that local memory logging buffers | |||
to a file in structured-data format as per RFC 5424."; | are limited in size using a limit expressed in number | |||
of messages."; | ||||
} | } | |||
feature remote-logging-structured-data { | feature structured-data-config { | |||
description | description | |||
"This feature represents the ability to deliver log | "This feature represents the ability to log messages | |||
messages to a remote server in structured-data format | in structured-data format as per RFC 5424."; | |||
as per RFC 5424."; | ||||
} | } | |||
feature file-logging-archive-config { | feature file-limit-size { | |||
description | description | |||
"This feature represents the ability to archive log files."; | "This feature indicates that file logging resources | |||
are managed using size and number limits."; | ||||
} | } | |||
feature remote-logging-use-vrf { | feature file-limit-duration { | |||
description | description | |||
"This feature allows remote logging of messages to a | "This feature indicates that file logging resources | |||
particular VRF."; | are managed using time based limits."; | |||
} | } | |||
feature terminal-facility-user-logging-config { | feature terminal-facility-user-logging-config { | |||
description | description | |||
"This feature represents the ability to adjust | "This feature represents the ability to adjust | |||
log message settings for individual terminal users."; | log message settings for individual terminal users."; | |||
} | } | |||
feature selector-advanced-level-processing-config { | feature selector-severity-operator-config { | |||
description | description | |||
"This feature represents the ability to select messages | "This feature represents the ability to select messages | |||
using the additional operators equal to, or not equal to | using the additional operators equal to, or not equal to | |||
when comparing the Syslog message severity."; | when comparing the Syslog message severity."; | |||
} | } | |||
feature selector-match-processing-config { | feature selector-match-processing-config { | |||
description | description | |||
"This feature represents the ability to select messages based | "This feature represents the ability to select messages based | |||
on a Posix 1003.2 regular expression pattern match."; | on a Posix 1003.2 regular expression pattern match."; | |||
skipping to change at page 11, line 58 | skipping to change at page 11, line 59 | |||
description | description | |||
"This feature represents the ability to configure signed | "This feature represents the ability to configure signed | |||
syslog messages according to RFC 5848."; | syslog messages according to RFC 5848."; | |||
} | } | |||
grouping syslog-severity { | grouping syslog-severity { | |||
description | description | |||
"This grouping defines the Syslog severity which is used to | "This grouping defines the Syslog severity which is used to | |||
filter log messages."; | filter log messages."; | |||
leaf severity { | leaf severity { | |||
type syslogtypes:severity; | type union { | |||
type syslogtypes:severity; | ||||
type enumeration { | ||||
enum all { | ||||
value -1; | ||||
description | ||||
"This enum describes the case where all severities | ||||
are requested."; | ||||
} | ||||
} | ||||
} | ||||
description | description | |||
"This leaf specifies the Syslog message severity. | "This leaf specifies the Syslog message severity. When | |||
No value implies all severities."; | severity is specified the default severity comparison | |||
is all messages of the specified severity and greater are | ||||
logged unless all is specified which means all severities | ||||
are requested. No value implies no severity is requested."; | ||||
} | } | |||
} | } | |||
grouping syslog-selector { | grouping syslog-selector { | |||
description | description | |||
"This grouping defines a Syslog selector which is used to | "This grouping defines a Syslog selector which is used to | |||
filter log messages for the given action in which the | filter log messages for the given action in which the | |||
selector appears. Choose one of the following: | selector appears. Choose one of the following: | |||
logging-facility-all <severity> | logging-facility-all <severity> | |||
logging-facility-none | logging-facility-none | |||
logging-facility [<facility> <severity>...] | logging-facility [<facility> <severity>...] | |||
Additional severity comparison operations are available | Additional severity comparison operations are available | |||
using the logging-advanced-level-processing container. If | using the severity-operator leaf. If the severity-operator | |||
the logging-advanced-level-processing container is not | leaf is not present all messages of the specified severity | |||
present all messages of the specified severity and higher | and higher are logged according to the given action."; | |||
are logged according to the given action."; | container log-selector { | |||
choice logging-level-scope { | ||||
default logging-facility-all; | ||||
description | description | |||
"This choice describes the option to specify all | "This container describes the log selector parameters | |||
facilities, no facilities, or a specific facility."; | for Syslog."; | |||
case logging-facility-all { | choice logging-level-scope { | |||
description | default logging-facility-all; | |||
"This case specifies all facilities will match when | ||||
comparing the Syslog message facility."; | ||||
uses syslog-severity; | ||||
} | ||||
case logging-facility-none { | ||||
description | description | |||
"This case specifies no facilities will match when | "This choice describes the option to specify all | |||
comparing the Syslog message facility. This is a method | facilities, no facilities, or a specific facility."; | |||
that can be used to turn an action off."; | case logging-facility-all { | |||
leaf none { | ||||
type empty; | ||||
description | description | |||
"This leaf specifies that no facilities participate in the | "This case specifies all facilities will match when | |||
filtering of Syslog messages for this action."; | comparing the Syslog message facility."; | |||
leaf all-facilities { | ||||
type empty; | ||||
description | ||||
"This leaf specifies that all facilities participate in | ||||
the filtering of Syslog messages for this action."; | ||||
} | ||||
uses syslog-severity; | ||||
} | } | |||
} | case logging-facility-none { | |||
case logging-facility { | ||||
description | ||||
"This case specifies one or more specified facilities | ||||
will match when comparing the Syslog message facility."; | ||||
list logging-facilities { | ||||
key "facility"; | ||||
description | description | |||
"This list describes a collection of Syslog facilities | "This case specifies no facilities will match when | |||
and severities."; | comparing the Syslog message facility. This is a method | |||
leaf facility { | that can be used to turn an action off."; | |||
type identityref { | leaf no-facilities { | |||
base syslogtypes:syslog-facility; | type empty; | |||
} | ||||
description | description | |||
"The leaf uniquely identifies a Syslog facility."; | "This leaf specifies that no facilities participate in | |||
the filtering of Syslog messages for this action."; | ||||
} | ||||
} | ||||
case logging-facility { | ||||
description | ||||
"This case specifies one or more specified facilities | ||||
will match when comparing the Syslog message facility."; | ||||
list facilities { | ||||
key "facility"; | ||||
description | ||||
"This list describes a collection of Syslog facilities | ||||
and severities."; | ||||
leaf facility { | ||||
type identityref { | ||||
base syslogtypes:syslog-facility; | ||||
} | ||||
description | ||||
"The leaf uniquely identifies a Syslog facility."; | ||||
} | ||||
uses syslog-severity; | ||||
} | } | |||
uses syslog-severity; | ||||
} | } | |||
} | } | |||
} | leaf severity-operator { | |||
container logging-advanced-level-processing { | if-feature selector-severity-operator-config; | |||
if-feature selector-advanced-level-processing-config; | ||||
description | ||||
"This container describes the configuration parameters for | ||||
advanced Syslog selector severity comparison."; | ||||
leaf select-message-severity { | ||||
type enumeration { | type enumeration { | |||
enum equals-or-higher { | enum equals-or-higher { | |||
description | description | |||
"All messages of the specified severity and higher are | "This enum specifies all messages of the specified | |||
logged according to the given action"; | severity and higher are logged according to the | |||
given action"; | ||||
} | } | |||
enum equals { | enum equals { | |||
description | description | |||
"This leaf specifies all messages for the specified | "This enum specifies all messages that are for | |||
severity."; | the specified severity are logged according to the | |||
given action"; | ||||
} | } | |||
enum not-equals { | enum not-equals { | |||
description | description | |||
"This leaf specifies all messages that are not for the | "This enum specifies all messages that are not for | |||
specified severity."; | the specified severity are logged according to the | |||
given action"; | ||||
} | } | |||
} | } | |||
default equals-or-higher; | default equals-or-higher; | |||
description | description | |||
"This leaf describes the option to specify how the | "This leaf describes the option to specify how the | |||
severity comparison is performed."; | severity comparison is performed."; | |||
} | } | |||
} | ||||
container logging-match-processing { | ||||
if-feature selector-match-processing-config; | ||||
description | ||||
"This container describes the configuration parameters for | ||||
matching Syslog messages using a regular expression pattern | ||||
match."; | ||||
leaf pattern-match { | leaf pattern-match { | |||
if-feature selector-match-processing-config; | ||||
type string; | type string; | |||
description | description | |||
"This leaf desribes 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. The match is performed on the RFC 5424 | logging. The match is performed on the RFC 5424 | |||
SYSLOG-MSG field."; | SYSLOG-MSG field."; | |||
} | } | |||
} | } | |||
} | } | |||
container syslog { | container syslog { | |||
description | description | |||
"This container describes the configuration parameters for | "This container describes the configuration parameters for | |||
Syslog."; | Syslog."; | |||
container global-logging-action { | container log-actions { | |||
if-feature global-logging-action; | ||||
description | ||||
"This container describes the configuration parameters for | ||||
global logging. Global logging represents the ability to | ||||
perform global log message suppression."; | ||||
uses syslog-selector; | ||||
} | ||||
container console-logging-action { | ||||
description | ||||
"This container describes the configuration parameters for | ||||
console logging."; | ||||
uses syslog-selector; | ||||
} | ||||
container buffered-logging-action { | ||||
description | description | |||
"This container describes the configuration parameters for | "This container describes the log action parameters | |||
local memory buffer logging."; | for Syslog."; | |||
uses syslog-selector; | container console { | |||
leaf buffer-size { | ||||
type uint64; | ||||
description | description | |||
"This leaf describes the amount of memory that will be | "This container describes the configuration parameters for | |||
dedicated to local memory buffer logging. The default | console logging."; | |||
value varies by implementation."; | uses syslog-selector; | |||
} | } | |||
} | container buffer { | |||
container file-logging-action { | ||||
description | ||||
"This container describes the configuration parameters for | ||||
file logging."; | ||||
list logging-files { | ||||
key "file-name"; | ||||
description | description | |||
"This list describes a collection of local logging | "This container describes the configuration parameters for | |||
files."; | local memory buffer logging. The buffer is circular in | |||
leaf file-name { | nature, so newer messages overwrite older messages after | |||
type inet:uri; | the buffer is filled."; | |||
description | list log-buffer { | |||
"This leaf specifies the name of the log file."; | key name; | |||
} | ||||
uses syslog-selector; | ||||
leaf file-logging-structured-data { | ||||
if-feature file-logging-structured-data; | ||||
type boolean; | ||||
default false; | ||||
description | ||||
"This leaf describes how log messages are written to the | ||||
log file. If true, messages will be written in | ||||
structured-data format; if false, messages will be | ||||
written in standard message format."; | ||||
} | ||||
container file-logging-archive { | ||||
if-feature file-logging-archive-config; | ||||
description | description | |||
"This container describes the configuration parameters | "This list describes a collection of local logging | |||
for log file archiving."; | memory buffers."; | |||
leaf file-number { | leaf name { | |||
type uint32; | type string; | |||
default 1; | ||||
description | description | |||
"This leaf specifies the maximum number of log files | "This leaf specifies the name of the log buffer."; | |||
retained."; | ||||
} | } | |||
leaf file-size { | uses syslog-selector; | |||
leaf buffer-size-bytes { | ||||
if-feature buffer-limit-bytes; | ||||
type uint64; | type uint64; | |||
default 262144; | units "bytes"; | |||
description | description | |||
"This leaf specifies the maximum log file size."; | "This leaf configures the amount of memory (in bytes) | |||
that will be dedicated to the local memory logging | ||||
buffer. The default value varies by implementation."; | ||||
} | } | |||
leaf file-permission { | leaf buffer-size-messages { | |||
type enumeration { | if-feature buffer-limit-messages; | |||
enum world-readable { | type uint64; | |||
value 1; | units "log messages"; | |||
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."; | ||||
} | ||||
} | ||||
default no-world-readable; | ||||
description | description | |||
"This leaf describes who can read log files"; | "This leaf configures the amount number of log | |||
messages that can be stored in the local memory | ||||
logging buffer. The default value varies by | ||||
implementation."; | ||||
} | } | |||
} | } | |||
} | } | |||
} | ||||
container remote-logging-action { | container file { | |||
description | ||||
"This container describes the configuration parameters for | ||||
remote logging."; | ||||
list remote-logging-destination { | ||||
key "destination"; | ||||
description | description | |||
"This list describes a collection of remote logging | "This container describes the configuration parameters for | |||
destinations."; | file logging."; | |||
leaf destination { | list log-file { | |||
type inet:host; | key "name"; | |||
description | ||||
"The leaf uniquely specifies the address of the | ||||
remote host. One of the following must be specified: | ||||
an ipv4 address, an ipv6 address, or a host name."; | ||||
} | ||||
uses syslog-selector; | ||||
leaf remote-logging-structured-data { | ||||
if-feature remote-logging-structured-data; | ||||
type boolean; | ||||
default false; | ||||
description | ||||
"This leaf describes how log messages are sent to the | ||||
remote server. If true, messages will be sent in | ||||
structured-data format; if false, messages will be | ||||
sent in standard message format."; | ||||
} | ||||
leaf destination-port { | ||||
type inet:port-number; | ||||
default 514; | ||||
description | description | |||
"This leaf specifies the port number used to deliver | "This list describes a collection of local logging | |||
messages to the remote server."; | files."; | |||
} | leaf name { | |||
leaf destination-facility { | type inet:uri; | |||
type identityref { | description | |||
base syslogtypes:syslog-facility; | "This leaf specifies the name of the log file which | |||
MUST use the uri scheme file:."; | ||||
} | } | |||
default syslogtypes:local7; | uses syslog-selector; | |||
description | leaf structured-data { | |||
"This leaf specifies the facility used in messages | if-feature structured-data-config; | |||
delivered to the remote server."; | type boolean; | |||
} | default false; | |||
leaf source-interface { | ||||
type if:interface-ref; | ||||
description | ||||
"This leaf sets the source interface for the remote | ||||
Syslog server. Either the interface name or the | ||||
interface IP address can be specified. If not set, | ||||
messages sent to a remote syslog server will contain | ||||
the IP address of the interface the syslog message | ||||
uses to exit the network element"; | ||||
} | ||||
leaf vrf-name { | ||||
if-feature remote-logging-use-vrf; | ||||
type string; | ||||
description | ||||
"This leaf specifies the name of the virtual routing | ||||
facility (VRF) that connects to the syslog server | ||||
host. If not set, the default VRF will be used."; | ||||
} | ||||
container syslog-sign { | ||||
if-feature signed-messages-config; | ||||
presence | ||||
"If present, syslog-sign is activated."; | ||||
description | ||||
"This container describes the configuration parameters | ||||
for signed syslog messages as described by RFC 5848."; | ||||
leaf cert-initial-repeat { | ||||
type uint16; | ||||
mandatory true; | ||||
description | description | |||
"This leaf specifies the number of times each | "This leaf describes how log messages are written to | |||
Certificate Block should be sent before the first | the log file. If true, messages will be written with | |||
message is sent."; | one or more STRUCTURED-DATA elements as per RFC5424; | |||
if false, messages will be written with | ||||
STRUCTURED-DATA = NILVALUE."; | ||||
} | } | |||
leaf cert-resend-delay { | container file-archive { | |||
type uint16; | ||||
mandatory true; | ||||
description | description | |||
"This leaf specifies the maximum time delay in seconds | "This container describes the configuration parameters | |||
until resending the Certificate Block."; | for log file archiving."; | |||
leaf number-of-files { | ||||
if-feature file-limit-size; | ||||
type uint32; | ||||
description | ||||
"This leaf specifies the maximum number of log files | ||||
retained. Specify 1 for implementations that only | ||||
support one log file."; | ||||
} | ||||
leaf max-file-size { | ||||
if-feature file-limit-size; | ||||
type uint64; | ||||
units "megabytes"; | ||||
description | ||||
"This leaf specifies the maximum log file size."; | ||||
} | ||||
leaf rollover { | ||||
if-feature file-limit-duration; | ||||
type uint32; | ||||
units "minutes"; | ||||
description | ||||
"This leaf specifies the length of time that log | ||||
events should be written to a specific log file. | ||||
Log events that arrive after the rollover period | ||||
cause the current log file to be closed and a new | ||||
log file to be opened."; | ||||
} | ||||
leaf retention { | ||||
if-feature file-limit-duration; | ||||
type uint16; | ||||
units "hours"; | ||||
description | ||||
"This leaf specifies the length of time that | ||||
completed/closed log event files should be stored | ||||
in the file system before they are deleted."; | ||||
} | ||||
} | } | |||
leaf cert-resend-count { | } | |||
type uint16; | } | |||
mandatory true; | container remote { | |||
description | ||||
"This container describes the configuration parameters for | ||||
remote logging."; | ||||
list remote-logging-destination { | ||||
key "name"; | ||||
description | ||||
"This list describes a collection of remote logging | ||||
destinations."; | ||||
leaf name { | ||||
type string; | ||||
description | description | |||
"This leaf specifies the maximum number of other | "An arbitrary name for the endpoint to connect to."; | |||
syslog messages to send until resending the | ||||
Certificate Block."; | ||||
} | } | |||
leaf sig-max-delay { | choice transport { | |||
type uint16; | ||||
mandatory true; | mandatory true; | |||
description | description | |||
"This leaf specifies when to generate a new Signature | "This choice describes the transport option."; | |||
Block. If this many seconds have elapsed since the | case tcp { | |||
message with the first message number of the | container tcp { | |||
Signature Block was sent, a new Signature Block | description | |||
should be generated."; | "This container describes the TCP transport | |||
options."; | ||||
leaf address { | ||||
type inet:host; | ||||
description | ||||
"The leaf uniquely specifies the address of the | ||||
remote host. One of the following must be | ||||
specified: an ipv4 address, an ipv6 address, | ||||
or a host name."; | ||||
} | ||||
leaf port { | ||||
type inet:port-number; | ||||
default 514; | ||||
description | ||||
"This leaf specifies the port number used to | ||||
deliver messages to the remote server."; | ||||
} | ||||
} | ||||
} | ||||
case udp { | ||||
container udp { | ||||
description | ||||
"This container describes the UDP transport | ||||
options."; | ||||
leaf address { | ||||
type inet:host; | ||||
description | ||||
"The leaf uniquely specifies the address of the | ||||
remote host. One of the following must be | ||||
specified: an ipv4 address, an ipv6 address, | ||||
or a host name."; | ||||
} | ||||
leaf port { | ||||
type inet:port-number; | ||||
default 514; | ||||
description | ||||
"This leaf specifies the port number used to | ||||
deliver messages to the remote server."; | ||||
} | ||||
} | ||||
} | ||||
} | } | |||
leaf sig-number-resends { | uses syslog-selector; | |||
type uint16; | leaf destination-facility { | |||
mandatory true; | type identityref { | |||
base syslogtypes:syslog-facility; | ||||
} | ||||
default syslogtypes:local7; | ||||
description | description | |||
"This leaf specifies the number of times a Signature | "This leaf specifies the facility used in messages | |||
Block is resent. (It is recommended to select a value | delivered to the remote server."; | |||
of greater than 0 in particular when the UDP | ||||
transport [RFC5426] is used.)."; | ||||
} | } | |||
leaf sig-resend-delay { | leaf source-interface { | |||
type uint16; | type if:interface-ref; | |||
mandatory true; | ||||
description | description | |||
"This leaf specifies when to send the next Signature | "This leaf sets the source interface for the remote | |||
Block transmission based on time. If this many | Syslog server. Either the interface name or the | |||
seconds have elapsed since the previous sending of | interface IP address can be specified. If not set, | |||
this Signature Block, resend it."; | messages sent to a remote syslog server will contain | |||
the IP address of the interface the syslog message | ||||
uses to exit the network element"; | ||||
} | } | |||
leaf sig-resend-count { | container syslog-sign { | |||
type uint16; | if-feature signed-messages-config; | |||
mandatory true; | presence | |||
"If present, syslog-sign is activated."; | ||||
description | description | |||
"This leaf specifies when to send the next Signature | "This container describes the configuration parameters | |||
Block transmission based on a count. If this many | for signed syslog messages as described by RFC 5848."; | |||
other syslog messages have been sent since the | reference | |||
previous sending of this Signature Block, resend it."; | "RFC 5848: Signed Syslog Messages"; | |||
leaf cert-initial-repeat { | ||||
type uint16; | ||||
mandatory true; | ||||
description | ||||
"This leaf specifies the number of times each | ||||
Certificate Block should be sent before the first | ||||
message is sent."; | ||||
} | ||||
leaf cert-resend-delay { | ||||
type uint16; | ||||
mandatory true; | ||||
description | ||||
"This leaf specifies the maximum time delay in | ||||
seconds until resending the Certificate Block."; | ||||
} | ||||
leaf cert-resend-count { | ||||
type uint16; | ||||
mandatory true; | ||||
description | ||||
"This leaf specifies the maximum number of other | ||||
syslog messages to send until resending the | ||||
Certificate Block."; | ||||
} | ||||
leaf sig-max-delay { | ||||
type uint16; | ||||
mandatory true; | ||||
description | ||||
"This leaf specifies when to generate a new | ||||
Signature Block. If this many seconds have elapsed | ||||
since the message with the first message number of | ||||
the Signature Block was sent, a new Signature Block | ||||
should be generated."; | ||||
} | ||||
leaf sig-number-resends { | ||||
type uint16; | ||||
mandatory true; | ||||
description | ||||
"This leaf specifies the number of times a Signature | ||||
Block is resent. (It is recommended to select a | ||||
value of greater than 0 in particular when the UDP | ||||
transport [RFC5426] is used.)."; | ||||
} | ||||
leaf sig-resend-delay { | ||||
type uint16; | ||||
mandatory true; | ||||
description | ||||
"This leaf specifies when to send the next Signature | ||||
Block transmission based on time. If this many | ||||
seconds have elapsed since the previous sending of | ||||
this Signature Block, resend it."; | ||||
} | ||||
leaf sig-resend-count { | ||||
type uint16; | ||||
mandatory true; | ||||
description | ||||
"This leaf specifies when to send the next Signature | ||||
Block transmission based on a count. If this many | ||||
other syslog messages have been sent since the | ||||
previous sending of this Signature Block, resend | ||||
it."; | ||||
} | ||||
} | } | |||
} | } | |||
} | } | |||
} | container terminal { | |||
container terminal-logging-action { | ||||
description | ||||
"This container describes the configuration parameters for | ||||
the terminal logging configuration."; | ||||
choice user-scope { | ||||
default all-users; | ||||
description | description | |||
"This choice describes the option to specify all users | "This container describes the configuration parameters for | |||
or a specific user. The all users case implies that | the terminal logging configuration."; | |||
messages will be sent to all terminals"; | choice user-scope { | |||
case all-users { | default all-users; | |||
description | description | |||
"This case specifies all users."; | "This choice describes the option to specify all users | |||
container all-users { | or a specific user. The all users case implies that | |||
messages will be sent to all terminals"; | ||||
case all-users { | ||||
description | description | |||
"This container describes the configuration parameters | "This case specifies all users."; | |||
for all users."; | container all-users { | |||
uses syslog-selector; | description | |||
"This container describes the configuration | ||||
parameters for all users."; | ||||
uses syslog-selector; | ||||
} | ||||
} | } | |||
} | case per-user { | |||
case per-user { | if-feature terminal-facility-user-logging-config; | |||
if-feature terminal-facility-user-logging-config; | ||||
description | ||||
"This case specifies a specific user."; | ||||
list user-name { | ||||
key "uname"; | ||||
description | description | |||
"This list describes a collection of user names."; | "This case specifies a specific user."; | |||
list user-name { | ||||
leaf uname { | key "uname"; | |||
type string; | ||||
description | description | |||
"This leaf uniquely describes a user name which is | "This list describes a collection of user names."; | |||
the login name of the user whose terminal session | leaf uname { | |||
is to receive log messages."; | type string; | |||
description | ||||
"This leaf uniquely describes a user name which is | ||||
the login name of the user whose terminal session | ||||
is to receive log messages."; | ||||
} | ||||
uses syslog-selector; | ||||
} | } | |||
uses syslog-selector; | ||||
} | } | |||
} | } | |||
} | } | |||
} | } | |||
} | } | |||
} | } | |||
<CODE ENDS> | <CODE ENDS> | |||
4.3. A SYSLOG Example | 4.3. A SYSLOG Example | |||
Requirement: | Requirement: | |||
Enable global logging of two facilities: | ||||
kern - severity critical(1) | ||||
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> | <log-actions> | |||
<logging-facilities> | <console> | |||
<facility>syslogtypes:kern</facility><severity>syslogtypes:critical</severity> | <log-selector> | |||
</logging-facilities> | <severity>syslogtypes:critical</severity> | |||
<logging-facilities> | </log-selector> | |||
<facility>syslogtypes:auth</facility><severity>syslogtypes:error</severity> | </console> | |||
</logging-facilities> | </log-actions> | |||
</global-logging-action> | ||||
<console-logging-action> | ||||
<severity>syslogtypes:critical</severity> | ||||
</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 22 | skipping to change at page 19, line 22 | |||
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 Cisco specific augmentation model as follows: | were implemented in the Cisco 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:log-actions/console logging console 1 | |||
syslog:console-logging-action logging console 1 | syslog:log-actions/file logging logfile mylog.log 2 4096 | |||
syslog:file-logging-action logging logfile mylog.log 2 4096 | syslog:log-actions/terminal logging monitor 2 | |||
syslog:terminal-logging-action logging monitor 2 | syslog:log-actions/remote *logging server server.cisco.com 2 | |||
syslog:remote-logging-action *logging server server.cisco.com 2 | ||||
facility user | 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 commented on version 00 of this proposal: | The authors wish to thank the following who commented on versions 01 through 03 | |||
of this proposal: | ||||
Martin Bjorklund <mbjorklu@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> | |||
Jan Lindblad <jlindbla@cisco.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> | |||
Jason Sterne <jason.sterne@alcatel-lucent.com> | ||||
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. | |||
skipping to change at page 21, line 17 | skipping to change at page 21, line 17 | |||
2012. | 2012. | |||
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 | Cisco Systems, Inc. | |||
Email: kkoushik@brocade.com | Email: kkoushik@cisco.com | |||
End of changes. 129 change blocks. | ||||
538 lines changed or deleted | 579 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/ |