The PRI part of the syslog message (known as Priority value) represents the facility and severity of the message. Facility represents the part of the system sending the message, while severity marks its importance. The Priority value is calculated by first multiplying the facility number by 8 and then adding the numerical value of the severity. The possible facility and severity values are presented below.
Facility codes may slightly vary between different platforms.
The following table lists the facility values.
|5||messages generated internally by syslogd|
|6||line printer subsystem|
|7||network news subsystem|
|16-23||locally used facilities (local0-local7)|
The following table lists the severity values.
|0||Emergency: system is unusable|
|1||Alert: action must be taken immediately|
|2||Critical: critical conditions|
|3||Error: error conditions|
|4||Warning: warning conditions|
|5||Notice: normal but significant condition|
|6||Informational: informational messages|
|7||Debug: debug-level messages|
The HEADER part contains the following elements:
VERSION: The version number of the syslog protocol standard. Currently this can only be 1.
ISOTIMESTAMP: The time when the message was generated in the ISO 8601 compatible standard timestamp format (yyyy-mm-ddThh:mm:ss+-ZONE), for example: 2006-06-13T15:58:00.123+01:00.
HOSTNAME: The machine that originally sent the message.
APPLICATION: The device or application that generated the message.
PID: The process name or process ID of the syslog application that sent the message. It is not necessarily the process ID of the application that generated the message.
MESSAGEID: The ID number of the message.
The syslog-ng application supports other timestamp formats as well, like ISO, or the PIX extended format. The timestamp used in the IETF-syslog protocol is derived from RFC 3339, which is based on ISO 8601. For details, see the ts_format() option in The syslog-ng Premium Edition 7.0.14 Administrator Guide.
The STRUCTURED-DATA message part may contain meta-information about the syslog message, or application-specific information such as traffic counters or IP addresses. STRUCTURED-DATA consists of data elements enclosed in brackets ().
In the following example, you can see two STRUCTURED-DATA elements:
[exampleSDID@0 iut="3" eventSource="Application" eventID="1011"][examplePriority@0 class="high"]
An element consists of an SD-ID (its identifier), and one or more parameters. Each parameter consists of a name and a value (for example, eventID="1011").
On SSB, the parameters (name-value pairs) parsed from these elements can be searched. From the example above, the following name-value pairs are parsed:
.sdata.exampleSDID@0.iut=3 .sdata.exampleSDID@0.eventSource=Application .sdata.exampleSDID@0.eventID=1011 .sdata.examplePriority@0.class=high
The syslog-ng application automatically parses the STRUCTURED-DATA part of syslog messages, which can be referenced in macros (see The syslog-ng Premium Edition 7.0.14 Administrator Guide for details).
The MSG part contains the text of the message itself. The encoding of the text must be UTF-8 if the BOM character is present in the message. If the message does not contain the BOM character, the encoding is treated as unknown. Usually messages arriving from legacy sources do not include the BOM character.