Логирование и отладка

Локальное логирование

В системе EcoRouter ведётся запись обо всех происходящих событиях (выполняемых операциях, изменениях конфигурации) — логирование. По умолчанию журнал событий (лог) ведётся на самом устройстве.

Сообщения о событиях пишутся в двух форматах, описанных ниже.

Формат системных сообщений — действий, производимых сервисами системы: <DATE> <TIME> [VERBOSE] [SERVICE] <MESSAGE>

Формат сообщений об операциях, производимых пользователями (аккаунтинга): <DATE> <TIME> [VERBOSE] [IMISH] AUDIT [USER] <MESSAGE>

Таблица — Параметры записи сообщений

ПараметрОписание
DATEдата события в формате ГГГГ-ММ-ДД
TIMEвремя события в формате ЧЧ:ММ:СС.СССССС
VERBOSEуровень события:
- FATAL — критические сообщения,
- ERROR — ошибки,
- WARN — предупреждения,
- INFO — информация
SERVICEсистемный сервис (демон)
MESSAGEсообщение о событии
USERпользователь EcoRouter, который выполнил операцию

Для просмотра и записи журнала в файл используется команда административного режима show log.

Общий синтаксис команды: show log (all |) (excessive |) (lines <NUM> |) (follow |reverse|). Как и для других команд группы show, здесь также доступны модификаторы.

Чтобы отправить вывод команды в указанный файл, необходимо добавить к команде show log модификатор | redirect <FILE> или его краткую форму:

ecorouter#show log > Text1.log

Команда show log без параметров выводит на консоль все сообщения из системного журнала с момента загрузки устройства.

ecorouter#show log
>2016-10-26 13:55:28.490128 [info] [ecolog] writer thread started
>2016-10-26 13:55:28.490128 [info] [ecolog] reader thread started
>2016-10-26 13:55:28.490128 [info] [ecolog] listener thread started
>2016-10-26 13:55:28.490128 [info] [ecolog] watchdog thread started
>2016-10-26 13:55:28.490128 [info] [ecolog] Ecolog v1.0 connection request[0]: 1
>2016-10-26 13:55:28.490128 [info] [ecolog] Ecolog v1.0 connection request[0]: OK
>2016-10-26 13:55:28.490128 [info] [ecolog] [0] reader thread started
>2016-10-26 13:55:28.490128 [info] [ecobus] reader thread started
>2016-10-26 13:55:28.490128 [info] [ecobus] listener thread started
>2016-10-26 13:55:28.490128 [info] [ecobus] watchdog thread started
...

Команда show log с параметром all выводит на консоль все сообщения из journalctl.

Команда show log с параметром excessive выводит на консоль сообщения из системного журнала с дополнительной информацией о файле, функции и строке исходного файла.

ecorouter#show log excessive
>2016-10-27 12:25:10.571110 [info] [ecolog] [src/writer.c:263,ecolog_writer_thread_proc] writer thread started
>2016-10-27 12:25:10.571110 [info] [ecolog] [src/reader.c:295,ecolog_reader_thread_proc] reader thread started
>2016-10-27 12:25:10.571110 [info] [ecolog] [src/listener.c:380,ecolog_listener_thread_proc] listener thread started
>2016-10-27 12:25:10.571110 [info] [ecolog] [src/watchdog.c:197,ecolog_watchdog_thread_proc] watchdog thread started
>2016-10-27 12:25:12.571112 [info] [ecolog] [src/listener.c:212,ecolog_listener_accept] Ecolog v1.0 connection request[2]: 1
>2016-10-27 12:25:12.571112 [info] [ecolog] [src/listener.c:225,ecolog_listener_accept] Ecolog v1.0 connection request[2]: OK
>2016-10-27 12:25:12.571112 [info] [ecolog] [src/reader.c:155,ecolog_reader_session_thread_proc] [2] reader thread started
>2016-10-27 12:25:12.571112 [info] [IMI] [log.c:311,openzlog] trace started
>2016-10-27 12:25:12.571112 [info] [IMI] [imi_ercp.c:488,imi_ercp_init] -> imi_ercp_init []
>2016-10-27 12:25:12.571112 [info] [IMI] [imi_ercp.c:750,imi_ercp_platform_init] -> imi_ercp_platform_init []
>2016-10-27 12:25:12.571112 [info] [IMI] [imi_ercp_snmp.c:318,imi_ercp_snmp_init] -> imi_ercp_snmp_init [snmp_config Ox00000000]
>2016-10-27 12:25:12.571112 [info] [IMI] [imi_ercp_snmp.c:382,imi_ercp_snmp_init] <- imi_ercp_snmp_init: 0x0
...

Команда show log с параметром lines <NUM> выводит на консоль несколько последних сообщений, где NUM — количество сообщений.

ecorouter#show log lines 10
>2016-10-27 12:25:29.571129 [info] [OSPF] OSPFd (3.2.1) starts
>2016-10-27 12:25:29.571129 [info] [IMI] imi_server_send_config called (PM 4)
>2016-10-27 12:25:29.571129 [info] [IMI] imi_server_send_config called (PM 44)
>2016-10-27 12:25:29.571129 [info] [BGP] BGPd 3.2.1 starting: vty@2605, bgp@179
>2016-10-27 12:25:29.571129 [info] [IMI] imi_server_send_config called (PM 44)
>2016-10-27 12:25:30.571130 [info] [ecolog] Ecolog v1.0 connection request[11]: 1
>2016-10-27 12:25:30.571130 [info] [ecolog] Ecolog v1.0 connection request[11]: OK
>2016-10-27 12:25:30.571130 [info] [ecolog] [11] reader thread started
>2016-10-27 12:25:30.571130 [info] [PIM] trace started
>2016-10-27 12:25:30.571130 [info] [IMI] imi_server_send_config called (PM 11)

Команда show log с параметром follow выводит на консоль непрерывный поток логов. Для непрерывного просмотра логов необходимо отключить pager: show log follow | nopager.

Команда show log с параметром reverse выводит на консоль поток логов в обратном порядке.

Можно задать несколько параметров и модификатор одновременно.

ecorouter#show log excessive lines 2
>2016-10-27 14:14:20.577660 [info] [ecobus] [src/listener.c:351,ecobus_listener_accept] Ecobus v1.0 connection request[7109]: 0/2/0
>2016-10-27 14:14:20.577660 [info] [ecobus] [src/listener.c:366,ecobus_listener_accept] Ecobus v1.0 connection request[7109]: OK

Например, для того чтобы вывести только те сообщения, которые относятся к действиям пользователя, необходимо ввести команду:

ecorouter#show log all | include IMISH
2016-10-27 12:25:43.571143 [info] [IMISH] AUDIT Logged in user
2016-10-27 12:25:43.571143 [info] [IMISH] AUDIT [admin] logged in
>2016-10-27 12:25:43.571143 [info] [IMISH-1648] trace started
2016-10-27 12:25:46.571146 [info] [IMISH] AUDIT ER user
2016-10-27 12:25:46.571146 [info] [IMISH] AUDIT [admin] logged in
2016-10-27 12:25:48.571148 [info] [IMISH] AUDIT [admin] en
2016-10-27 12:26:29.571189 [info] [IMISH] AUDIT [admin] terminal monitor
2016-10-27 12:26:47.571207 [info] [IMISH] AUDIT [admin] conf t
2016-10-27 12:26:58.571218 [info] [IMISH] AUDIT [admin]  port te0
2016-10-27 12:28:11.571291 [info] [IMISH] AUDIT [admin]
2016-10-27 12:28:42.571322 [info] [IMISH] AUDIT [admin]  service-instance 100
2016-10-27 12:29:02.571342 [info] [IMISH] AUDIT [admin] ex
2016-10-27 12:29:05.571345 [info] [IMISH] AUDIT [admin] ex

Для дополнительного контроля за производимыми действиями предусмотрена возможность вывода сообщений логов на консоль в режиме реального времени.

Для включения данной функции используется команда административного режима terminal monitor. Для отключения вывода сообщений на консоль используется команда административного режима no terminal monitor.