Логирование и отладка
Локальное логирование
В системе 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
.