syslog (англ. system log — системный журнал) — стандарт отправки и регистрации сообщений о происходящих в системе событиях (то есть создания событийных журналов), использующийся в компьютерных сетях, работающих по протоколу TCP/IP. Термином «syslog» называют как ныне стандартизированный сетевой протокол syslog, так и программное обеспечение (приложение, библиотеку), которое занимается отправкой и получением системных сообщений.
Стандартом предусматривается, что источники формируют простые текстовые сообщения о происходящих в них событиях и передают их на обработку серверу Syslog (называемому «syslogd», «syslog daemon», либо же, «syslog server»), используя один из сетевых протоколов семейства IP (UDP или TCP). Формирование сообщений о событиях и их передача происходит по определённым правилам, называемым протоколом Syslog. Как правило сообщение имеет небольшой размер (до 1024 байт) и отсылается в открытом виде. Тем не менее, при использовании специальных средств (таких, как Stunnel, sslio или sslwrap), возможно шифрование сообщений и отправка их по SSL/TLS.
Поскольку источники сообщений и сервер Syslog могут располагаться на разных машинах, это позволяет организовать сбор и хранение сообщений от множества географически разнесённых разнородных источников в едином хранилище (репозитории), что чрезвычайно важно для администраторов сетей, которые могут и не иметь физического доступа одновременно ко всем устройствам, серверам и компьютерам в сети.
Также серверы Syslog, как правило, могут не только регистрировать сообщения, но и пересылать их другим серверам Syslog, основываясь на уровне важности сообщения (Severity) и категории сформировавшего сообщение субъекта (Facility), что позволяет организовать, например, иерархическую систему хранилищ. А это может помочь, например, снизить время реакции персонала на критические события. Допустим, что существует некая крупная сеть, состоящая из нескольких сегментов. В каждом сегменте есть свой сервер Syslog, получающий сообщения только от источников внутри своего сегмента. Если эти низовые серверы настроить так, чтобы они пересылали сообщения критического уровня важности и выше на один общий головной сервер, то администратору сети, контролирующему через него всю сеть, будет легче отследить возникновение критической ситуации, поскольку таких сообщений немного и они не утонут в потоке нужных, но менее важных сообщений.
Текущая версия протокола Syslog предлагает усовершенствованный формат сообщений, позволяющий использовать точную отметку времени создания сообщения и осуществлять надежную идентификацию источника сообщения, а также применять кодировку UTF-8 для текста сообщения, что позволяет решить проблему интернационализации. Необязательные дополнительные поля (структурированные данные) могут использоваться для передачи различной информации, например, о погрешности локальных часов источника сообщения и точности их синхронизации с внешними часами точного времени, о языке, на котором написано сообщение, и т. д. Ввиду отмены привязки к конкретному транспорту, протокол Syslog может использовать любой из описанных в отдельных RFC механизмов доставки сообщений, но предпочтение отдается транспортам TLS.
Коды уровней важности сообщений | |
---|---|
0 | (Emergency) система не работоспособна |
1 | (Alert) система требует немедленного вмешательства |
2 | (Critical) состояние системы критическое |
3 | (Error) сообщения об ошибках |
4 | (Warning) предупреждения о возможных проблемах |
5 | (Notice) сообщения о нормальных, но важных событиях |
6 | (Informational) информационные сообщения |
7 | (Debug) отладочные сообщения |
Коды категорий субъектов, формирующих сообщения | |
---|---|
0 | ядро операционной системы |
1 | программное обеспечение пользователя |
2 | почтовая система |
3 | системные службы (daemons) |
4 | сообщения безопасности (авторизации) |
5 | собственные сообщения syslogd |
6 | подсистема печати |
7 | подсистема новостных групп (телеконференций, NNTP) |
8 | подсистема UUCP |
9 | службы времени |
10 | сообщения безопасности (авторизации) |
11 | служба FTP |
12 | подсистема NTP |
13 | журнал аудита |
14 | аварийный журнал |
15 | службы времени |
16 | локальный 0 |
17 | локальный 1 |
18 | локальный 2 |
19 | локальный 3 |
20 | локальный 4 |
21 | локальный 5 |
22 | локальный 6 |
23 | локальный 7 |