Skip to content
Snippets Groups Projects

Добавлено описание протокола сервиса логирования

Merged Pavel Antonov requested to merge feature/PRXS-951-Log into master
1 file
+ 47
54
Compare changes
  • Side-by-side
  • Inline
+ 47
54
@@ -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
Loading