Skip to content
Snippets Groups Projects
Commit b3370a43 authored by Pavel Antonov's avatar Pavel Antonov :asterisk:
Browse files

Update

parent ccf33e30
No related branches found
No related tags found
1 merge request!30Добавлено описание протокола сервиса логирования
...@@ -22,46 +22,24 @@ enum LogLevel { ...@@ -22,46 +22,24 @@ enum LogLevel {
FATAL = 4; FATAL = 4;
} }
// Caller представляет собой сообщение, которое содержит информацию о вызывающем объекте.
// Каждый вызывающий объект может быть в одном из трех состояний: user, client, service.
message Caller {
oneof caller {
string user = 1; // user отображает учетную запись пользователя, инициировавшего действие.
string client = 2; // client отображает учетную запись клиента, инициировавшего действие.
string service = 3; // service отображает службу, инициировавшую действие.
}
}
// LogEntry представляет собой структуру данных для хранения информации о журнале. // LogEntry представляет собой структуру данных для хранения информации о журнале.
message LogEntry { message LogEntry {
// id является уникальным идентификатором каждой записи в журнале. // id является уникальным идентификатором каждой записи в журнале.
string id = 1; string id = 1;
// action описывает действие, которое было произведено. Это поле может принимать разные значения в зависимости от сервиса.
// Примеры:
// - item.create
// - item.update
// - organization.create
// - action.run
// - reference.create
string action = 11;
// timestamp указывает на временную метку, указывающую когда было создано данное сообщение. // timestamp указывает на временную метку, указывающую когда было создано данное сообщение.
google.protobuf.Timestamp timestamp = 2; google.protobuf.Timestamp timestamp = 2;
// level это поле, обозначающее уровень приоритета сообщения в логе. // level это поле, обозначающее уровень приоритета сообщения в логе.
LogLevel level = 3;
LogLevel level = 3;
// message это основное сообщение, которое требуется записать в лог. // message это основное сообщение, которое требуется записать в лог.
string message = 4;
string message = 4;
// category указывает на категорию события. // category указывает на категорию события.
// Примеры: // Примеры:
// - // -
string category = 5; string category = 5;
// component обозначает компонент системы, где произошло данное событие. // component обозначает компонент системы, где произошло данное событие.
// Примеры: // Примеры:
// - Items.Service // - Items.Service
...@@ -70,40 +48,55 @@ message LogEntry { ...@@ -70,40 +48,55 @@ message LogEntry {
// - Users.API // - Users.API
// - Janitor.Service // - Janitor.Service
// - Tasks.Worker // - Tasks.Worker
string component = 6;
// organization обозначает организацию, с которой связано данное событие.
// В случае если событие не связано с организацией, то данное поле должно быть пустым.
// В случае если событие связано с организацией, то данное поле должно содержать идентификатор организации который
// проставляется системой логирования автоматически.
string organization = 7;
// space обозначает пространство, которому принадлежит данное событие.
// В случае если событие не связано с пространством, то данное поле должно быть пустым.
string space = 8;
// env обозначает среду в которой произошло данный процесс.
// В случае если событие не связано с средой, то данное поле должно быть пустым.
// По умолчанию среда равна master. При этом в лог записывается идентификатор среды соответсвующий master.
string env = 9;
// collection обозначает коллекцию в которой произошло событие.
// В случае если событие не связано с коллекцией, то данное поле должно быть пустым.
string collection = 10;
// object_type обозначает тип объекта с которым связано событие. string component = 6;
string object_type = 16; // action описывает действие, которое было произведено. Это поле может принимать разные значения в зависимости от сервиса.
// Примеры:
// object_id это идентификатор объекта связанного с событием // - item.create
string object_id = 17; // - item.update
// - organization.create
// caller содержит информацию о сущности вызвавшей событие // - action.run
Caller caller = 13; // - reference.create
string event = 7;
// object это идентификатор объекта связанного с событием
// Идентификатор объекта должен быть в формате GlobalID:
// <контекст>/<тип объекта>/<идентификатор объекта>
// где:
// - <контекст> - представляет собой иднетификатор родительского объекта, если таковой имеется
// - <тип объекта> - представляет собой тип объекта, например:
// spaces, envs, cols, items, revs, fields, clients, roles, orgs, users
// - <идентификатор объекта> - представляет собой идентификатор объекта
//
// Примеры:
// /spaces/<space_id> - пространство
// /spaces/<space_id>/envs/<env_id> - окружение
// /spaces/<space_id>/envs/<env_id>/cols/<collection_id> - коллекция
// /spaces/<space_id>/cols/<collection_id> - коллекция в окружении "master"
// /spaces/<space_id>/envs/<env_id>/schema/<collection_id> - схема коллекции
// /spaces/<space_id>/envs/<env_id>/cols/<collection_id>/items/<item_id> - элемент коллекции
// /spaces/<space_id>/cols/<collection_id>/items/<item_id> - элемент коллекции в окружении "master"
// /spaces/<space_id>/envs/<env_id>/cols/<collection_id>/items/<item_id>/fields/<field_name> - поле элемента коллекции
// /spaces/<space_id>/envs/<env_id>/cols/<collection_id>/items/<item_id>/revs/<rev_id> - ревизия элемента коллекции
// /spaces/<space_id>/clients/<client_id> - клиент
// /spaces/<space_id>/roles/<role_id> - роль
// /orgs/<org_id> - организация
// /users/<user_id> - пользователь
// /services/<service_id> - сервис
string object = 8;
// caller содержит идентификатор сущности вызвавшей событиe, аналогично полю object
//
// Примеры:
// /users/<user_id> - пользователь
// /spaces/<space_id>/clients/<client_id> - клиент
// /services/<service_id> - сервис
string caller = 9;
// attr содержит дополнительные связанные с событием атрибуты в формате Any // attr содержит дополнительные связанные с событием атрибуты в формате Any
// позволяет добавить дополнительные данные в событие // позволяет добавить дополнительные данные в событие
google.protobuf.Any attr = 14; google.protobuf.Any attr = 10;
// tags содержит теги связанные с событием, на усмотрение сервиса // tags содержит теги связанные с событием, на усмотрение сервиса
repeated string tags = 15; repeated string tags = 11;
} }
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment