4.1.1.2.5.11. Syslog Сервер

 
 
Модуль Syslog Server предназначен для диагностики сетевого оборудования путём сбора диагностических сообщений по протоколу Syslog.
 
Модуль выполняет следующие функции:
сбор Syslog сообщений от сетевых устройств;
запись полученных сообщений в сигналы.
 
Поддерживаемые форматы сообщений:
 

Протокол Syslog

 
Протокол Syslog – способ передачи информации о событиях, происходящих в устройстве. Информация передаётся в виде текстовых сообщений.
 
Сообщение содержит:
текст события;
информацию о событии: где и когда оно произошло, важность и пр.
 
Формат сообщения зависит от спецификации, согласно которой формируется сообщение.
 
Сообщения передаются по схеме клиент-сервер: при возникновении события устройство формирует сообщение и отправляет его серверу Syslog. Сервер Syslog принимает и обрабатывает сообщение. Правила обработки протоколом не регламентируются и зависят от реализации сервера.
 
Сообщения передаются в открытом виде (по транспортному протоколу UDP) или с использованием шифрования (по транспортному протоколу TLS).
 

Принципы работы

 
Модуль Syslog Server принимает Syslog сообщения от различных сетевых устройств и записывает полученные сообщения в подготовленные для них сигналы. Каждое сообщение записывается только в один сигнал сервера.
 
В сервере можно настроить генерацию OPC AE событий при записи Syslog сообщений в сигналы сервера. Настройка генерации событий описана в приложении.
 
Сообщения неизвестного формата могут быть записаны в сигнал только в исходном виде.
 
Сообщения известного формата могут быть записаны в сигнал в исходном виде либо в преобразованном для генерации динамических событий модулем OPC AE Server: это регулируется настройкой Генерировать события модуля Syslog Server.
 
Если включена настройка Генерировать события, то можно распределять сообщения по разным сигналам в соответствии с настроенными фильтрами в свойстве адреса сигналов.
 
Если сообщения записываются в сигнал в исходном виде, можно разбирать их с помощью модуля логики, формировать строку для генерации динамического события и записывать её в сигнал, который генерирует события.
 
VQT значение, записываемое в сигнал:
 
Value (значение) – строка
<Subcondition Type="Dynamic" Message="MSG" />
 
MSG – значение поля MSG в полученном сообщении.
 
Формат значения предназначен для автоматической генерации OPC AE события при его записи в сигнал
 
Quality (качество) – 192 (хорошее);
Timestamp (метка времени) – значение поля TIMESTAMP в полученном сообщении.
 

Работа в резерве

 
При работе в состоянии РЕЗЕРВ модуль не принимает сообщения от сетевых устройств.
 

Работа по TLS/UDP

 
При работе с транспортным протоколом TLS сетевое устройство и модуль устанавливают между собой безопасное соединение. Для этого они обмениваются сертификатами. Модуль принимает сообщения только от тех сетевых устройств, сертификат которых есть в папке доверенных сертификатов.
 
При работе с транспортным протоколом UDP модуль принимает сообщения от любых сетевых устройств.
 

RFC 5424

 
Syslog сообщение в формате RFC 5424 имеет следующую структуру:
<PRI>VERSION TIMESTAMP HOSTNAME APPNAME PROCID MSGID [STRUCTURED-DATA] MSG
 
 
При передаче Syslog сообщений по протоколу TLS в начале сообщения указывается его размер:
LENGTH <PRI>VERSION TIMESTAMP HOSTNAME APPNAME PROCID MSGID [STRUCTURED-DATA] MSG
 
Согласно спецификации RFC 5424 в сообщении могут быть не указаны значения следующих полей:
HOSTNAME (Идентификатор хоста)
APPNAME (Идентификатор приложения)
PROCID (Идентификатор процесса)
MSGID (Тип сообщения)
 
Вместо отсутствующего значения в поле должен быть указан символ -.
 

RFC 3164

 
Syslog сообщения в формате RFC 3164 передаются только по транспортному протоколу UDP.
 
Syslog сообщение в формате RFC 3164 имеет следующую структуру:
<PRI> TIMESTAMP HOSTNAME APPNAME [PROCID]:MSG
 
 
Согласно спецификации RFC 3164 в сообщении могут быть не указаны значения любых полей. В этом случае значения соответствующих полей будут отсутствовать в структуре сообщения (допускается передача пустого сообщения, не содержащего ни одного символа):
если в сообщении не указано значение TIMESTAMP, то в качестве значения поля используется момент получения сообщения;
если в сообщении не указано значение PRI, то в качестве значения поля PRI используется значение 41 (Facility – 5, Severity – 1);
при отсутствии значений прочих полей, в качестве значения этих полей используется пустая строка.
 
Формату RFC 3164 соответствуют любые сообщения, которые могут быть получены: если при попытке разобрать отдельные поля в полученном сообщении произойдёт ошибка, то вся строка сообщения будет использоваться в качестве значения поля MSG.
 

Поля сообщения Syslog

 
Поле
Описание
LENGTH
Количество символов в сообщении. Указывается только в сообщениях, передаваемых по протоколу TLS
PRI
Приоритет. Содержит два значения: Facility (субъект, сформировавший сообщение) и Severity (уровень важности сообщения). Severity принимает значения от 0 до 7, Facility - от 0 до 23. Значение PRI вычисляется как PRI = Facility*8+Severity.
Facility (Тип оборудования):
0 – Ядро операционной системы
1 – ПО пользователя
2 – Почтовая система
3 – Системные службы
4 – Сообщения безопасности/авторизации
5 – Собственные сообщения syslogd
6 – Подсистема печати
7 – Подсистема новостных групп
8 – Подсистема UUCP
9 – Службы времени
10 – Сообщения безопасности/авторизации
11 – Служба FTP
12 – Подсистема NTP
13 – Сообщения аудита
14 – Аварийные сообщения
15 – Службы времени 2
16-23 – локальное происхождение 0-7
Severity (Важность сообщения):
0 – Авария, система неработоспособна
1 – Тревога, система требует немедленного вмешательства
2 – Состояние системы критическое
3 – Сообщения об ошибках
4 – Предупреждения о возможных проблемах
5 – Сообщения о нормальных, но важных событиях
6 – Информационные сообщения
7 – Отладочные сообщения
VERSION
Версия протокола
TIMESTAMP
Метка времени сообщения
HOSTNAME
IP-адрес или сетевое имя устройства, сгенерировавшего сообщение
APP-NAME
Идентификатор устройства или приложения, сгенерировавшего сообщение
PROCID
Позволяет регистрировать перерывы в потоке данных и обычно используется в качестве идентификатора процесса
MSGID
Идентификатор типа сообщения
STRUCTURED-DATA
Структурированные данные. В работе модуля Syslog Server не используются
MSG
Текст сообщения
 
Поля Syslog сообщений используются следующим образом:
поля MSG и TIMESTAMP используются при формировании VQT значения, записываемого в сигнал.
поле HOSTNAME используется при поиске сигнала, предназначенного для записи сообщений от устройства, указанного в этом поле.
поля PRI, APP-NAME, PROCID, MSGID используются при поиске сигнала, имеющего соответствующие параметры фильтрации.
 

Генерация событий

 
Генерацию событий в сервере выполняет модуль OPC AE Server. События генерируются при записи Syslog сообщений в настроенные сигналы.
 
Для полученного Syslog сообщения в сервере не будет сгенерировано событие в следующих случаях:
если в сервере нет подходящего сигнала для записи сообщения
если для сигнала, в который сообщение было записано, не настроена генерация событий
 
Для каждого сигнала, в который записываются Syslog сообщения, необходимо:
настроить в свойствах родительской папки условие генерации события. Тип условия – Dynamic.
поставить сигнал на обслуживание модулю OPC AE Server с параметром Conditions=(CONDITION_NAME), где CONDITION_NAME – это название условия, указанное в свойствах папки.
 
Данный список содержит общее описание необходимых действий по настройке генерации событий. Подробное описание выполняемых настроек приведено в документации на модуль OPC AE Server.