Устройство LiLaLo
Материал из Xgu.ru
< LiLaLo
Анализ терминального скрипта, преобразование его в XML-форму и визуализация через web-интерфейса выполняется с помощью следующих модулей:
- l3-скрипт - запись хода работы;
- l3-agent — анализ терминального скрипта, преобразование его в XML-форму;
- l3-backend — приём и размещение в хранилище;
- l3-frontend — представление через Web-интерфейс.
В качестве l3-скрипта используется стандартная программа script из Unix. Модифицируется приглашение командного интерпретатора - в нём скрывается различная информация о команде, которая затем показывается в журнале. Время выполнения команды, код завершения предыдущей команды, текущий каталог и другая.
Файлы журналов, записываемые l3-скриптом, анализируются l3-agent'ом; данные, полученные в результате анализа, передаются на l3-backend. Там они записываются в файловое хранилище, доступное для просмотра через web-интерфейс с помощью l3-frontend'а.
[править] Поля
АТРИБУТЫ cline СПИСОК ПОЛЕЙ, ХАРАКТЕРИЗУЮЩИХ КОМАНДНУЮ СТРОКУ
uid [agent]
Идентификатор пользователя
euid
Идентификатор пользователя от имени которого будет
выполняться команда.
Может отличаться от реального uid в том случае,
если вызывается с помощью sudo
tty [agent]
Идентификатор терминала, на котором была вызвана команда
pid [agent]
PID-процесса командного интерпретатора,
в котором была вызвана команда
pwd (!) [agent]
текущий каталог, из которого была вызвана команда
time (!) [agent]
время вызова команды в Unix-формате.
Предпочтительнее использовать этот формат чем hour:min:sec,
использовавшийся в Labmaker
fullprompt [agent]
Приглашение командной строки
ЗАКОММЕНТИРОВАНО. МОЖЕТ БЫТЬ БУДЕТ УДАЛЕНО
prompt [agent]
Сокращённое приглашение командной строки
cline [agent]
Командная строка
output [agent]
Результат выполнения команды
diff [agent]
Указатель на ассоциированный с командой diff
note (!)
Текстовый комментарий к команде.
Может генерироваться из самого лога с помощью команд
#^ Комментарий
#= Комментарий
#v Комментарий
в том случае, если для комментирования достаточно одной строки,
или с помощью команд
cat > /dev/null #^ Заголовок
Текст
^D
в том случае, если комментарий развёрнутый.
В последнем случае комментарий может содержать
заголовок, абзацы и несложное форматирование.
Символы ^, v или = после знака комментария # обозначает,
к какой команде относится комментарий:
к предыдущей (^), последующей (v)
или это общий комментарий по тексту, не относящийся непосредственно
ни к одной из них (=)
note_title Заголовок к пометке, если он используется
err [agent]
Код завершения командной строки
histnum (!) [agent]
Номер команды в истории командного интерпретатора
histline [agent]
Строка истории, соответствующая команде.
status (!)
Является ли данная команда вызванной (r), запомненной (s)
или это подсказка completion (c).
Команды, которые были вызваны и обработаны интерпретатором
имеют состояние "r". К таким командам относится большинство
команд вводимых в интерпретатор.
Если команда набрана, но вызывать её по какой-либо причине
не хочется (например, команда может быть не полной, вредоносной
или просто бессмысленной в текущих условиях),
её можно сбросить с помощью комбинации клавиш Ctrl-C
(не путайте с прерыванием работающей команды! здесь она даже
не запускается!).
В таком случае она не выполняется, но попадает в журнал
со статусом "s".
Если команда появилась в журнале благодаря автопродолжению
-- когда было показано несколько вариантов --
она имеет статус "c".
version (!) [agent]
Версия lilalo-prompt использовавшаяся при записи
команды.
0 - версия использовавшая в labmaker.
Отсутствует информация о текущем каталоге и номере в истории.
Информация о версии также не указана в приглашении.
1 - версия использующаяся в lilalo
raw_file [agent]
Имя файла, в котором находится бинарное представление журнала.
Может содержать ключевое слово HERE,
обозначающее что бинарное представление хранится
непосредственно в базе данных в атрибуте raw_data
raw_start [agent]
Начало блока командной строки в файле бинарного представления
raw_output_start [agent]
Начало блока вывода
raw_end [agent]
Конец блока командной строки в файле бинарного представления
raw_cline [agent]
Необработанная командная строка (без приглашения) в бинарном виде
raw_data (*)
Бинарное представление команды и результатов её выполнения
Исторические
day
время вызова, день
В действительности здесь хранится не время вызова команды,
а с момента появления приглашения командного интерпретатора
для ввода команды
hour
время вызова, час
min
время вызова, минута
sec
время вызова, секунда
lab
лабораторная работа, к которой относится команда.
Идентификатор текущей лабораторной работы
хранится в файле ~/.labmaker/lab
ТАБЛИЦА SESSION
Информация о сеансах
(см. lm-install)
local_session_id
id сессии в пределах хоста
hostname
Имя хоста
user
Имя пользователя открывшего сессию
login_from
Откуда была открыта сессия; доменное имя или IP-адрес
tty
Терминал, который привязан к сессии
system
Имя и релиз операционной системы `uname -rs`
parent
Имя процесса-родителя
ppid
PID процесса-родителя
pid
PID текущего процесса
start_time
Время, когда была открыта сессия
[править] LiLaLo на Xgu.ru
- LiLaLo
- Инсталляция LiLaLo
- Использование LiLaLo
- Устройство LiLaLo
- LiLaLo TODO
- Компоненты: l3-agent | l3-frontend | l3-backend | l3script | l3text