Устройство 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