(Назад к списку заданий eCo Labs)

Название: System log
Заказчик: eCo Software


Срок: -
Вознаграждение: -

Назначение Системного лога

  • Для ремонта сломанного eCS компутера
  • Для совпровождения компьютера eCS специалистом.

Новое задание - 2011/12

e-co:

  • Главная идея - системные программы могут писать в лог о важных событиях, изменениях. "Установлен драйвер ACPI", "Заменено ядро ОС", "Произошел сбой"
  • Как обойти проблемы мультизадачности? одновременной записи в один файл? создавать имена каталогов с именем: YYYYMMDD-HHMMSS, назовем это LOG-DETAILS
  • Блок A = это это несколько полей: кто пишет, дата, .. комментарий 512 длина, комментарий 2-ой тоже 512 байт.
  • Каждая запись в лог - это: подкаталог, в котором или 1 файл с блоком A, или файл с блоком A + N файлов всяких разных (обрывки логов, дампы, ..).
  • Делать GUI для просмотра логов не обязательно в первый момент
  • .dll кладем в тулкит eCo Software, dll содержит функцию WriteLog() и т.п.
  • Как передать в WriteLog() блок A, который состоит например из 10 строк? Через структуру. Как передать в WriteLog() блок А + N обрывков логов? Через структуру. Плюс конечная программа может получить путь к каталогу LOG-DETAILS, пусть сама пишет туда все что хочет.
  • Дальше будет сказано про Guard - наверное его запускать при старте, чтобы он осмотрел ОС и сделал 1 запись в лог.

Guard - какие изменения произошли в ОС? 2010/06

Нужно сделать Guard, который следит за изменениями в ОС. (запускается при старте ОС, прошелся по системе и вышел):

1) если установили что-то через warpin - парсит и находит изменения.

Установлена программа такая-то, удалена программа такая-то

2) если в config.sys что-то поправили - находит

т.е. добавлена строка такая-то ИЛИ удалена строка такая-то ИЛИ изменилась строка

3) можно сделать .dll с простым API, как раз чтобы программы и инсталяторы могли сами писать в лог, что они меняют в системе.
4) здесь же можно и такую инфо собирать: какие результаты последнего chkdsk? (chkdsk выполненного во время загрузки ОС). А то пользователь и не знает, куда исчезли файлы?
Где-то хранится .zip с инфо о файлах в системных каталогах, имя, размер, дата

Тогда, сравнить текущее состояние с тем архивом.

Сообщить, какие файлы исчезли / изменились.

Все пишет в лог:

  • дата
  • что именно изменилось
  • откуда информация

Зачем это надо? юзер что-то поменяет. а потом у него что-то глючит. сложно понять, в чем причина? благодаря логу хоть как-то определить причины.

Внутреннее устройство:

  • можно сделать в виде REXX скриптов: 001.cmd, .., 050.cmd - каждый проверяет какой-то параметр ОС. Там же в комментариях вести заметки.

Исходное задания: 2010/03

Нужен ли общий системный лог? Наверное нужен. Некоторые события происходят редко (раз в минуту), так что лог будет не слишком большим.

Модули:

демон

Висит демоном. собирает логи.

  • При старте: lantran.log,
  • При старте/shutdown: время старта/шатдауна
  • При старте: если был chkdsk при загрузке, то есть ли какие-то повреждения?
  • При старте: x:\MPTN\BIN\setup.cmd
    x:\IBMLAN\IBMLAN.INI
    x:\IBMCOM\PROTOCOL.INI
  • Постоянно: popuplog.os2,
  • Постоянно: ???

просмотр - через pm-утилиту. listbox,

цель этого проекта - разбираться с проблемами у юзерову даленно

вьювер логов Просмотр логов:

PM программа выглядит так:

 ListBox дата  | ListBox - записи | MLE окно с самой записью
API WriteSystemLog()

Для кого? * утилита shutdown'а запишет точное время shutdown

Блок A

Текстовый формат. Можно XML, чтобы смотреть всё браузером.

  • Название события
  • Код события: BOOT, SHUTDOWN, INSTALL, CHKDSK, .. т.е. ввести несколько кодов, чтобы потом при просмотре логов возможность смотреть события с одним кодом.
  • Дата, время
  • Кто сгенерировал событие? программа, имя пользователя.
  • Есть ли доп.файлы? 1/0
  • Комментарий 1
  • Комментарий 2
  • ..

Примеры записей в лог

  • Установлен драйвер ACPI, версия 4.2
  • Система загрузилась, 20.12.2012, ..
  • Перезагрузка системы, 21.12.2012, 23:00
  • При загрузке был обнаружены ошибки файловой системы, логи chkdsk прилагаются, ..
  • отформатрован том F: 25.12.2012
  • Backup GUI выполнил бэкап по заданию mamba.todo, 27.12.2011
  • ..
  • + Утилита UPS сможет писать о критических проблемах в лог
  • + WarpIN скрипты смогут писать в лог, что установлена такая-то компонента.

Вознаграждение

Сроки, вознаграждение - обсуждается

  • например, ваучер eCo Shop на 100 USD (2 ваучера, если 2 разработчика)

  • Бесплатно для пользователей
  • Продвижение - как проект eCo Software

+ Участие в e-ball Awards

 


Дополнения:

Digi, 20100813:

Надо не придумывать что-то новое, а развить уже имеющийся syslogd. может, провести какой-то пересмотр, обновить/портировать новые версии/создать тулкиты(/создать дополнительный удобный пользовательский api?)/привязать анализ + гуи, но оставить идеологию и протокол.

Это даст универсальную систему сбора логов, портируемые никсовые поделки только выиграют, появится простая возможность собирать логи на отдельном ecs/*ix сервере.