479 lines
10 KiB
YANG
479 lines
10 KiB
YANG
module openconfig-system-logging {
|
|
|
|
yang-version "1";
|
|
|
|
// namespace
|
|
namespace "http://openconfig.net/yang/system/logging";
|
|
|
|
prefix "oc-log";
|
|
|
|
// import some basic types
|
|
import openconfig-extensions { prefix oc-ext; }
|
|
import ietf-inet-types { prefix inet; }
|
|
|
|
|
|
// meta
|
|
organization "OpenConfig working group";
|
|
|
|
contact
|
|
"OpenConfig working group
|
|
www.openconfig.net";
|
|
|
|
description
|
|
"This module defines configuration and operational state data
|
|
for common logging facilities on network systems.";
|
|
|
|
oc-ext:openconfig-version "0.1.0";
|
|
|
|
revision "2017-01-29" {
|
|
description
|
|
"Initial public release";
|
|
reference "0.1.0";
|
|
}
|
|
|
|
// extension statements
|
|
|
|
// feature statements
|
|
|
|
// identity statements
|
|
|
|
identity SYSLOG_FACILITY {
|
|
description
|
|
"Base identity for Syslog message facilities.";
|
|
reference
|
|
"IETF RFC 5424 - The Syslog Protocol";
|
|
}
|
|
|
|
identity ALL {
|
|
base SYSLOG_FACILITY;
|
|
description
|
|
"All supported facilities";
|
|
}
|
|
|
|
identity KERNEL {
|
|
base SYSLOG_FACILITY;
|
|
description
|
|
"The facility for kernel messages";
|
|
reference
|
|
"IETF RFC 5424 - The Syslog Protocol";
|
|
}
|
|
|
|
identity USER {
|
|
base SYSLOG_FACILITY;
|
|
description
|
|
"The facility for user-level messages.";
|
|
reference
|
|
"IETF RFC 5424 - The Syslog Protocol";
|
|
}
|
|
|
|
identity MAIL {
|
|
base SYSLOG_FACILITY;
|
|
description
|
|
"The facility for the mail system.";
|
|
reference
|
|
"IETF RFC 5424 - The Syslog Protocol";
|
|
}
|
|
|
|
identity SYSTEM_DAEMON {
|
|
base SYSLOG_FACILITY;
|
|
description
|
|
"The facility for the system daemons.";
|
|
reference
|
|
"IETF RFC 5424 - The Syslog Protocol";
|
|
}
|
|
|
|
identity AUTH {
|
|
base SYSLOG_FACILITY;
|
|
description
|
|
"The facility for security/authorization messages.";
|
|
reference
|
|
"IETF RFC 5424 - The Syslog Protocol";
|
|
}
|
|
|
|
identity SYSLOG {
|
|
base SYSLOG_FACILITY;
|
|
description
|
|
"The facility for messages generated internally by syslogd
|
|
facility.";
|
|
reference
|
|
"IETF RFC 5424 - The Syslog Protocol";
|
|
}
|
|
|
|
identity AUTHPRIV {
|
|
base SYSLOG_FACILITY;
|
|
description
|
|
"The facility for privileged security/authorization messages.";
|
|
reference
|
|
"IETF RFC 5424 - The Syslog Protocol";
|
|
}
|
|
|
|
|
|
identity NTP {
|
|
base SYSLOG_FACILITY;
|
|
description
|
|
"The facility for the NTP subsystem.";
|
|
reference
|
|
"IETF RFC 5424 - The Syslog Protocol";
|
|
}
|
|
|
|
identity AUDIT {
|
|
base SYSLOG_FACILITY;
|
|
description
|
|
"The facility for log audit messages.";
|
|
reference
|
|
"IETF RFC 5424 - The Syslog Protocol";
|
|
}
|
|
|
|
identity CONSOLE {
|
|
base SYSLOG_FACILITY;
|
|
description
|
|
"The facility for log alert messages.";
|
|
reference
|
|
"IETF RFC 5424 - The Syslog Protocol";
|
|
}
|
|
|
|
identity LOCAL0 {
|
|
base SYSLOG_FACILITY;
|
|
description
|
|
"The facility for local use 0 messages.";
|
|
reference
|
|
"IETF RFC 5424 - The Syslog Protocol";
|
|
}
|
|
|
|
identity LOCAL1 {
|
|
base SYSLOG_FACILITY;
|
|
description
|
|
"The facility for local use 1 messages.";
|
|
reference
|
|
"IETF RFC 5424 - The Syslog Protocol";
|
|
}
|
|
|
|
identity LOCAL2 {
|
|
base SYSLOG_FACILITY;
|
|
description
|
|
"The facility for local use 2 messages.";
|
|
reference
|
|
"IETF RFC 5424 - The Syslog Protocol";
|
|
}
|
|
|
|
identity LOCAL3 {
|
|
base SYSLOG_FACILITY;
|
|
description
|
|
"The facility for local use 3 messages.";
|
|
reference
|
|
"IETF RFC 5424 - The Syslog Protocol";
|
|
}
|
|
|
|
identity LOCAL4 {
|
|
base SYSLOG_FACILITY;
|
|
description
|
|
"The facility for local use 4 messages.";
|
|
reference
|
|
"IETF RFC 5424 - The Syslog Protocol";
|
|
}
|
|
|
|
identity LOCAL5 {
|
|
base SYSLOG_FACILITY;
|
|
description
|
|
"The facility for local use 5 messages.";
|
|
reference
|
|
"IETF RFC 5424 - The Syslog Protocol";
|
|
}
|
|
|
|
identity LOCAL6 {
|
|
base SYSLOG_FACILITY;
|
|
description
|
|
"The facility for local use 6 messages.";
|
|
reference
|
|
"IETF RFC 5424 - The Syslog Protocol";
|
|
}
|
|
|
|
identity LOCAL7 {
|
|
base SYSLOG_FACILITY;
|
|
description
|
|
"The facility for local use 7 messages.";
|
|
reference
|
|
"IETF RFC 5424 - The Syslog Protocol";
|
|
}
|
|
|
|
identity LOG_DESTINATION_TYPE {
|
|
description
|
|
"Base identity for destination for logging messages";
|
|
}
|
|
|
|
identity DEST_CONSOLE {
|
|
base LOG_DESTINATION_TYPE;
|
|
description
|
|
"Directs log messages to the console";
|
|
}
|
|
|
|
identity DEST_BUFFER {
|
|
base LOG_DESTINATION_TYPE;
|
|
description
|
|
"Directs log messages to and in-memory circular buffer";
|
|
}
|
|
|
|
identity DEST_FILE {
|
|
base LOG_DESTINATION_TYPE;
|
|
description
|
|
"Directs log messages to a local file";
|
|
}
|
|
|
|
identity DEST_REMOTE {
|
|
base LOG_DESTINATION_TYPE;
|
|
description
|
|
"Directs log messages to a remote syslog server";
|
|
}
|
|
|
|
// typedef statements
|
|
|
|
typedef syslog-severity {
|
|
type enumeration {
|
|
enum EMERGENCY {
|
|
description
|
|
"Emergency: system is unusable (0)";
|
|
}
|
|
enum ALERT {
|
|
description
|
|
"Alert: action must be taken immediately (1)";
|
|
}
|
|
enum CRITICAL {
|
|
description
|
|
"Critical: critical conditions (2)";
|
|
}
|
|
enum ERROR {
|
|
description
|
|
"Error: error conditions (3)";
|
|
}
|
|
enum WARNING {
|
|
description
|
|
"Warning: warning conditions (4)";
|
|
}
|
|
enum NOTICE {
|
|
description
|
|
"Notice: normal but significant condition(5)";
|
|
}
|
|
enum INFORMATIONAL {
|
|
description
|
|
"Informational: informational messages (6)";
|
|
}
|
|
enum DEBUG {
|
|
description
|
|
"Debug: debug-level messages (7)";
|
|
}
|
|
}
|
|
description
|
|
"Syslog message severities";
|
|
reference
|
|
"IETF RFC 5424 - The Syslog Protocol";
|
|
}
|
|
|
|
// grouping statements
|
|
|
|
grouping logging-selectors-config {
|
|
description
|
|
"Configuration data for logging selectors";
|
|
|
|
leaf facility {
|
|
type identityref {
|
|
base SYSLOG_FACILITY;
|
|
}
|
|
description
|
|
"Specifies the facility, or class of messages to log";
|
|
}
|
|
|
|
leaf severity {
|
|
type syslog-severity;
|
|
description
|
|
"Specifies that only messages of the given severity (or
|
|
greater severity) for the corresonding facility are logged";
|
|
}
|
|
}
|
|
|
|
grouping logging-selectors-state {
|
|
description
|
|
"Operational state data for logging selectors";
|
|
}
|
|
|
|
grouping logging-selectors-top {
|
|
description
|
|
"Top-level grouping for the logging selector list";
|
|
|
|
container selectors {
|
|
description
|
|
"Enclosing container ";
|
|
|
|
list selector {
|
|
key "facility severity";
|
|
description
|
|
"List of selectors for log messages";
|
|
|
|
leaf facility {
|
|
type leafref {
|
|
path "../config/facility";
|
|
}
|
|
description
|
|
"Reference to facility list key";
|
|
}
|
|
|
|
leaf severity {
|
|
type leafref {
|
|
path "../config/severity";
|
|
}
|
|
description
|
|
"Reference to severity list key";
|
|
}
|
|
|
|
container config {
|
|
description
|
|
"Configuration data ";
|
|
|
|
uses logging-selectors-config;
|
|
}
|
|
|
|
container state {
|
|
|
|
config false;
|
|
|
|
description
|
|
"Operational state data ";
|
|
|
|
uses logging-selectors-config;
|
|
uses logging-selectors-state;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
grouping logging-console-config {
|
|
description
|
|
"Configuration data for console logging";
|
|
}
|
|
|
|
grouping logging-console-state {
|
|
description
|
|
"Operational state data for console logging";
|
|
}
|
|
|
|
grouping logging-console-top {
|
|
description
|
|
"Top-level grouping for console logging data";
|
|
|
|
container console {
|
|
description
|
|
"Top-level container for data related to console-based
|
|
logging";
|
|
|
|
container config {
|
|
description
|
|
"Configuration data for console logging";
|
|
|
|
uses logging-console-config;
|
|
}
|
|
|
|
container state {
|
|
|
|
config false;
|
|
|
|
description
|
|
"Operational state data for console logging";
|
|
|
|
uses logging-console-config;
|
|
uses logging-console-state;
|
|
}
|
|
|
|
uses logging-selectors-top;
|
|
}
|
|
}
|
|
|
|
grouping logging-remote-config {
|
|
description
|
|
"Configuration data for remote log servers";
|
|
|
|
leaf host {
|
|
type inet:host;
|
|
description
|
|
"IP address or hostname of the remote log server";
|
|
}
|
|
|
|
leaf source-address {
|
|
type inet:ip-address;
|
|
description
|
|
"Source IP address for packets to the log server";
|
|
}
|
|
|
|
leaf remote-port {
|
|
type inet:port-number;
|
|
default 514;
|
|
description
|
|
"Sets the destination port number for syslog UDP messages to
|
|
the server. The default for syslog is 514.";
|
|
}
|
|
}
|
|
|
|
grouping logging-remote-state {
|
|
description
|
|
"Operational state data for remote log servers";
|
|
}
|
|
|
|
grouping logging-remote-top {
|
|
description
|
|
"Top-level grouping for remote log servers";
|
|
|
|
container remote-servers {
|
|
description
|
|
"Enclosing container for the list of remote log servers";
|
|
|
|
list remote-server {
|
|
key "host";
|
|
description
|
|
"List of remote log servers";
|
|
|
|
leaf host {
|
|
type leafref {
|
|
path "../config/host";
|
|
}
|
|
description
|
|
"Reference to the host list key";
|
|
}
|
|
|
|
container config {
|
|
description
|
|
"Configuration data for remote log servers";
|
|
|
|
uses logging-remote-config;
|
|
}
|
|
|
|
container state {
|
|
|
|
config false;
|
|
|
|
description
|
|
"Operational state data for remote log servers";
|
|
|
|
uses logging-remote-config;
|
|
uses logging-remote-state;
|
|
}
|
|
uses logging-selectors-top;
|
|
}
|
|
}
|
|
}
|
|
|
|
grouping logging-top {
|
|
description
|
|
"Top-level grouping for logging data";
|
|
|
|
container logging {
|
|
description
|
|
"Top-level container for data related to logging / syslog";
|
|
|
|
uses logging-console-top;
|
|
uses logging-remote-top;
|
|
}
|
|
}
|
|
// data definition statements
|
|
|
|
// augment statements
|
|
|
|
|
|
} |