
PRAGMA foreign_keys=ON;
PRAGMA auto_vacuum=FULL;

BEGIN TRANSACTION;


CREATE TABLE levels(
	level_id 	INTEGER PRIMARY KEY, 
	level_name 	TEXT, 
	level_name_ru 	TEXT
);


CREATE TABLE msg_groups(
	msg_group_id 	INTEGER PRIMARY KEY, 
	group_name 	TEXT, 
	group_name_ru 	TEXT, 
	start_msg_id 	INTEGER, 
	last_msg_id 	INTEGER
);


CREATE TABLE messages(
	msg_id 		INTEGER PRIMARY KEY, 
	msg_group_id 	INTEGER, 
	msg_name 	TEXT, 
	msg_name_ru 	TEXT
);


CREATE TABLE logs(
	id 		INTEGER PRIMARY KEY AUTOINCREMENT, 
	date_time 	INTEGER, 
	timezone	INTEGER,
	hostname 	TEXT, 
	facility 	INTEGER, 
	msg_id 		INTEGER, 
	level_id 	INTEGER, 
	app 		TEXT, 
	msg 		TEXT
);


CREATE TABLE stats(
	id 		INTEGER PRIMARY KEY AUTOINCREMENT, 
	name 		TEXT, 
	pos 		INTEGER, 
	lines 		INTEGER
);


CREATE INDEX date_time_index ON logs(date_time);
CREATE INDEX hostname_index ON logs(hostname);
CREATE INDEX facility_index ON logs(facility);
CREATE INDEX msg_id_index ON logs(msg_id);
CREATE INDEX level_id_index ON logs(level_id);
CREATE INDEX app_index ON logs(app);

INSERT INTO levels VALUES(0,'Emergency','Очень важное');
INSERT INTO levels VALUES(1,'Alert','Тревога');
INSERT INTO levels VALUES(2,'Critical','Критическое');
INSERT INTO levels VALUES(3,'Error','Ошибка');
INSERT INTO levels VALUES(4,'Warning','Предупреждение');
INSERT INTO levels VALUES(5,'Notice','Замечание');
INSERT INTO levels VALUES(6,'Info','Информация');
INSERT INTO levels VALUES(7,'Debug','Отладка');

INSERT INTO msg_groups VALUES(0,'System messages','Системные сообщения',               0,1000);
INSERT INTO msg_groups VALUES(1,'Common SecretNet events','Общие события SecretNet',   16777216, 17037583);
INSERT INTO msg_groups VALUES(4,'Authentication','Аутентификация и идентификация',     67108864, 67418127);
INSERT INTO msg_groups VALUES(5,'Integrity','Контроль целостности',                    83886080, 84182031);
INSERT INTO msg_groups VALUES(7,'Printing','Система печати',                           117440512, 117768719);
INSERT INTO msg_groups VALUES(8,'Testing','Тестирование',                              134217728, 134473743);
INSERT INTO msg_groups VALUES(9,'Selftest','Самодиагностика',                          150994944, 151250959);
INSERT INTO msg_groups VALUES(10,'Trash daemon','Сервис очистки ФС',                   167772160, 168028175);
INSERT INTO msg_groups VALUES(11,'Journal subsystem','Сервис журналирования',     	184549376, 184805391);
INSERT INTO msg_groups VALUES(12,'Backup','Резервное копирование',                     201326592, 201612032);
INSERT INTO msg_groups VALUES(32,'Common control','Общие настройки',                   536870912, 537164047);
INSERT INTO msg_groups VALUES(33,'Audit control','Управление аудитом',                 553648128, 553904143);
INSERT INTO msg_groups VALUES(34,'Service control','Управление сервисами',             570425344, 570681359);
INSERT INTO msg_groups VALUES(35,'User control','Управление пользователями',           587202560, 587496207);
INSERT INTO msg_groups VALUES(36,'Integrity control','Управление контролем целостности', 603979776, 604274703);
INSERT INTO msg_groups VALUES(38,'Access control','Управление контролем доступа',      637534208, 637790223);
INSERT INTO msg_groups VALUES(39,'Strengthen authentication control','Управление усиленной аутентификацией', 654311424, 654311439);
INSERT INTO msg_groups VALUES(71,'Management and monitoring','Централизованное управление и мониторинг', 1191182336, 1191182336);
INSERT INTO msg_groups VALUES(99,'Kernel','События модулей ядра',                      1660944384, 1661200399);

INSERT INTO messages VALUES(0,0,'System message','Системное сообщение');
INSERT INTO messages VALUES(16777216, 1, 'Common SecretNet group msg', 'Группа событий общих сообщений SecreNet');
INSERT INTO messages VALUES(17033472, 1, 'Not authorized access', 'Несанкционированное действие');
INSERT INTO messages VALUES(17033728, 1, 'Error', 'Ошибка');
INSERT INTO messages VALUES(17033984, 1, 'Warning', 'Предупреждение');
INSERT INTO messages VALUES(17034240, 1, 'Debug', 'Отладочное сообщение');
INSERT INTO messages VALUES(17037312, 1, 'Computer blocked', 'Компьютер заблокирован');
INSERT INTO messages VALUES(17037568, 1, 'Computer unblocked', 'Компьютер разблокирован');
INSERT INTO messages VALUES(33554432, 2, 'System services group msg', 'Группа событий системных сервисов');
INSERT INTO messages VALUES(33815552, 2, 'Event log service is started', 'Старт службы регистрации');
INSERT INTO messages VALUES(33815808, 2, 'Event log service is stopped', 'Остановка службы регистрации');
INSERT INTO messages VALUES(33816576, 2, 'Event writing error', 'Ошибка записи в журнал');
INSERT INTO messages VALUES(33816832, 2, 'Event log cleared', 'Очистка (ротация) журнала аудита');
INSERT INTO messages VALUES(50331648, 3, 'Audit group msg', 'События подсистемы аудита');
INSERT INTO messages VALUES(67108864, 4, 'Authentication group msg', 'Группа событий аутентификации');
INSERT INTO messages VALUES(67416576, 4, 'User login', 'Вход пользователя');
INSERT INTO messages VALUES(67418112, 4, 'User logout', 'Завершение работы пользователя');
INSERT INTO messages VALUES(67109120, 4, 'Authentication error', 'Ошибка аутентификации');
INSERT INTO messages VALUES(67109376, 4, 'Block user login', 'Запрет входа пользователя');
INSERT INTO messages VALUES(67109632, 4, 'Sudo denied', 'Запрет исполнения от имени другого пользователя');
INSERT INTO messages VALUES(67109888, 4, 'Sudo', 'Выполнение задания от имени другого пользователя');
INSERT INTO messages VALUES(83886080, 5, 'Integrity group msg', 'Группа сообщений контроля целостности');
INSERT INTO messages VALUES(84167680, 5, 'Start Integrity check', 'Начало обработки задания на КЦ');
INSERT INTO messages VALUES(84167936, 5, 'Stop Integrity check', 'Завершение обработки задания на КЦ');
INSERT INTO messages VALUES(84168192, 5, 'Integrity task error', 'Нарушение целостности при обработке задания');
INSERT INTO messages VALUES(84168448, 5, 'Resource integrity checked', 'Завершение проверки целостности объекта');
INSERT INTO messages VALUES(84170240, 5, 'Error in Integrity database', 'Ошибка открытия БД КЦ');
INSERT INTO messages VALUES(84181504, 5, 'Create integrity database', 'Создание БД КЦ');
INSERT INTO messages VALUES(84168704, 5, 'Integrity resource error', 'Нарушение целостности объекта');
INSERT INTO messages VALUES(84169728, 5, 'Restore from reference value', 'Восстановление объекта из эталонного значения');
INSERT INTO messages VALUES(84169984, 5, 'Error on resource backup', 'Ошибка при восстановлении объекта');
INSERT INTO messages VALUES(84168960, 5, 'No reference value', 'Отсутствует эталонное значение объекта');
INSERT INTO messages VALUES(84182016, 5, 'Refresh integrity database', 'Обновление БД КЦ');
INSERT INTO messages VALUES(117440512, 7, 'Printing group msg', 'Группа сообщений системы печати');
INSERT INTO messages VALUES(117704192, 7, 'Print page', 'Печать страницы документа');
INSERT INTO messages VALUES(117768448, 7, 'Error on print', 'Ошибка печати документа');
INSERT INTO messages VALUES(117768704, 7, 'Start printing', 'Начало печати документа');
INSERT INTO messages VALUES(134217728, 8, 'Testing group msg', 'Группа сообщений тестирования');
INSERT INTO messages VALUES(150994944, 9, 'Self-testing group msg', 'Группа сообщений самодиагностики');
INSERT INTO messages VALUES(167772160, 10, 'Trashd group msg', 'Группа событий сервиса очистки ФС');
INSERT INTO messages VALUES(184549376, 11, 'Snjournald group msg', 'Группы событий сервиса журналирования');
INSERT INTO messages VALUES(201326592, 12, 'Backup group msg', 'Группа сообщений резервного копирования ');
INSERT INTO messages VALUES(201611264, 12, 'Error saving data', 'Ошибка сохранения данных');
INSERT INTO messages VALUES(201611520, 12, 'The data is stored', 'Данные сохранены');
INSERT INTO messages VALUES(201611776, 12, 'The data is recovered', 'Данные восстановлены');
INSERT INTO messages VALUES(201612032, 12, 'Error recovering data', 'Ошибка восстановления данных');
INSERT INTO messages VALUES(536870912, 32, 'Policy group msg', 'Группа сообщений общих настроек');
INSERT INTO messages VALUES(537163776, 32, 'Change policy', 'Изменение политики');
INSERT INTO messages VALUES(537164032, 32, 'Error on policy change', 'Ошибка изменения политики');
INSERT INTO messages VALUES(553648128, 33, 'Audit control group msg', 'Группа событий управления аудитом');
INSERT INTO messages VALUES(553648384, 33, 'Add audit rule', 'Постановка объекта на аудит');
INSERT INTO messages VALUES(553648640, 33, 'Error on audit rules add', 'Ошибка постановки объекта на аудит');
INSERT INTO messages VALUES(553648896, 33, 'Clear audit rules', 'Очистка списка аудита');
INSERT INTO messages VALUES(570425344, 34, 'Services group msg', 'Группа событий управления сервисами');
INSERT INTO messages VALUES(570425600, 34, 'Start service', 'Запуск сервиса');
INSERT INTO messages VALUES(570425856, 34, 'Stop service ', 'Остановка сервиса');
INSERT INTO messages VALUES(587202560, 35, 'Users control group msg', 'Группа событий управления пользователями');
INSERT INTO messages VALUES(587494400, 35, 'Add user/group', 'Добавление пользователя/группы');
INSERT INTO messages VALUES(587494656, 35, 'Delete user/group', 'Удаление пользователя/группы');
INSERT INTO messages VALUES(587494912, 35, 'Change user/group', 'Изменены параметры пользователя/группы');
INSERT INTO messages VALUES(587495168, 35, 'Change password', 'Изменен пароль для учетной записи');
INSERT INTO messages VALUES(587495424, 35, 'User blocked', 'Пользователь заблокирован');
INSERT INTO messages VALUES(587495680, 35, 'Error on user/group add', 'Ошибка добавления пользователя/группы');
INSERT INTO messages VALUES(587495936, 35, 'Error on user/group del', 'Ошибка удаления пользователя/группы');
INSERT INTO messages VALUES(587496192, 35, 'Error on user/group change', 'Ошибка изменения параметров пользователя/группы');
INSERT INTO messages VALUES(603979776, 36, 'Integrity control group msg', 'Группа сообщений управления контролем целостности');
INSERT INTO messages VALUES(604274176, 36, 'Add object to integrity monitoring', 'Установка объекта на контроль целостности');
INSERT INTO messages VALUES(604274432, 36, 'Error on object intergrity monitoring addition', 'Ошибка добавления/обновления ресурса к контролю');
INSERT INTO messages VALUES(604274688, 36, 'Remove object from intergity monitoring', 'Снятие объекта с контроля целостности');
INSERT INTO messages VALUES(637534208, 38, 'Access control group msg', 'Группа сообщений контроля доступа');
INSERT INTO messages VALUES(637534464, 38, 'Change access rights', 'Смена прав доступа');
INSERT INTO messages VALUES(637534720, 38, 'Error on change access rights', 'Ошибка смены прав доступа');
INSERT INTO messages VALUES(637534976, 38, 'Change ACL rights', 'Смена прав доступа ACL');
INSERT INTO messages VALUES(637535232, 38, 'Error on change ACL rights', 'Ошибка смены прав доступа ACL');
INSERT INTO messages VALUES(654311424, 39, 'Strengthen authentication group msg', 'Группа сообщений усиленной аутентификации');
INSERT INTO messages VALUES(1191182336, 71, 'Management and monitoring group msg', 'Группа сообщений централизованного управления и мониторинга');
INSERT INTO messages VALUES(1660944384, 99, 'Kernel SN-module message', 'Сообщение модуля ядра SecretNet');

COMMIT;
