Размещение лога загрузки
Отправляет пользовательские журналы в Ключ-АСТРОМ.
Для этой конечной точки требуется ActiveGate с включенным модулем сбора аналитики журналов . Этот модуль включен по умолчанию на всех ваших ActiveGate.
Запрос использует один из следующих типов полезной нагрузки:
text/plain— ограничено одним событием в журнале.application/json— поддерживает несколько событий журнала в одной полезной нагрузке.
Обязательно установите правильный заголовок Content-Type и закодируйте полезную нагрузку с помощью UTF-8 : application/json; charset=utf-8.
Этот запрос является выпуском Early Adopter и может быть изменен несовместимым образом.
| ПОЧТА | 
  | 
Аутентификация
Чтобы выполнить этот запрос, вам необходимо разрешение Ingest logs ( logs.ingest), назначенное вашему токену API. Чтобы узнать, как его получить и использовать, см. раздел Токены и аутентификация .
Параметры
| Параметр | Тип | Описание | В | Необходимый | 
|---|---|---|---|---|
| тело | Сообщение журнала Json | Тело запроса. Содержит одно или несколько событий журнала для приема.
 Конечная точка принимает один из следующих типов полезной нагрузки, определенных заголовком Accept : 
  | 
тело | по желанию | 
Объекты тела запроса
Объект _ LogMessageJson
Сообщение журнала в формате JSON. Используйте один объект, представляющий одно событие, или массив объектов, представляющих несколько событий.
Объект может содержать следующие типы ключей без учета регистра (возможные значения ключей перечислены ниже):
- Отметка времени:
- Самая ранняя отметка времени для события журнала — это текущее время минус 24 часа. Если событие журнала содержит отметку времени раньше, чем текущее время минус 24 часа, событие отбрасывается, а универсальный API приема журнала возвращает 
400код ответа. - Последняя отметка времени для события журнала — это текущее время плюс 12 часов. Если событие журнала содержит отметку времени позже, чем текущее время плюс 12 часов, событие отбрасывается, а универсальный API приема журнала возвращает 
400код ответа. - Поддерживаются следующие форматы: миллисекунды UTC, RFC3339 и RFC3164. Для отсутствующей метки времени используется текущая метка времени. Для неподдерживаемого формата временной метки используется текущая временная метка, а значение неподдерживаемого формата временной метки сохраняется в неиндексированном 
unparsed_timestampатрибуте. 
 - Самая ранняя отметка времени для события журнала — это текущее время минус 24 часа. Если событие журнала содержит отметку времени раньше, чем текущее время минус 24 часа, событие отбрасывается, а универсальный API приема журнала возвращает 
 - Строгость. Если не установлено, 
NONEиспользуется. - Содержание. Если ключ содержимого не задан, весь JSON анализируется как содержимое.
 - Семантический признак. Поддерживаются только значения этого 
Stringтипа. Семантические атрибуты индексируются и могут использоваться в запросах. Они также отображаются в агрегатах (фасетах). Если встречается неподдерживаемый ключ, он не индексируется и не может использоваться в индексировании и агрегировании. 
Значением объекта может быть одна константа или, в случае семантического атрибута, массив констант. Длина значения ограничена. Любой контент, превышающий лимит, обрезается. Ограничения по умолчанию:
- Атрибуты: до 50 атрибутов.
 - Содержимое: 8 192 байта.
 - Семантический атрибут: 250 байт на значение, до 32 значений атрибута
 
Поддерживаемые ключи отметки времени:
- @отметка времени
 - _timestamp
 - свидание
 - время события
 - Дата_публикации
 - syslog.timestamp
 - отметка времени
 
Поддерживаемые ключи содержимого:
- тело
 - содержание
 - сообщение
 - полезная нагрузка
 
Поддерживаемые ключи серьезности:
- уровень
 - логарифмический уровень
 - строгость
 - статус
 - syslog.severity
 
Поддерживаемые ключи семантических атрибутов:
- аудит.действие
 - аудит.идентификация
 - аудит.результат
 - aws.account.id
 - aws.arn
 - aws.log_group
 - aws.log_stream
 - aws.region
 - aws.resource.id
 - aws.resource.type
 - aws.service
 - лазурь.местоположение
 - azure.resource.group
 - azure.resource.id
 - azure.resource.name
 - azure.resource.type
 - azure.subscription
 - cloud.account.id
 - cloud.availability_zone
 - облачный провайдер
 - облако.регион
 - container.image.name
 - container.image.tag
 - имя контейнера
 - db.cassandra.keyspace
 - db.connection_string
 - db.hbase.namespace
 - db.jdbc.driver_classname
 - db.mongodb.коллекция
 - db.mssql.имя_экземпляра
 - db.name
 - db.operation
 - db.redis.database_index
 - db.statement
 - db.system
 - db.user
 - адрес устройства
 - dt.active_gate.group.name
 - dt.active_gate.id
 - dt.code.filepath
 - DT.code.func
 - DT.code.lineno
 - dt.code.ns
 - dt.ctg.calltype
 - dt.ctg.extendmode
 - dt.ctg.gatewayurl
 - dt.ctg.программа
 - dt.ctg.rc
 - dt.ctg.тип запроса
 - dt.ctg.serverid
 - dt.ctg.termid
 - dt.ctg.transid
 - dt.ctg.userid
 - dt.entity.cloud_application
 - dt.entity.cloud_application_instance
 - dt.entity.cloud_application_namespace
 - dt.entity.container_group
 - dt.entity.container_group_instance
 - dt.entity.custom_device
 - dt.entity.host
 - dt.entity.kubernetes_cluster
 - dt.entity.kubernetes_node
 - dt.entity.process_group
 - dt.entity.process_group_instance
 - dt.event.group_label
 - dt.event.key
 - dt.events.root_cause_relevant
 - dt.exception.messages
 - dt.exception.serialized_stacktraces
 - dt.exception.types
 - dt.extension.config.id
 - dt.extension.ds
 - dt.extension.name
 - dt.extension.status
 - dt.host.ip
 - dt.host.smfid
 - dt.host.snaid
 - dt.host_group.id
 - dt.http.application_id
 - dt.http.context_root
 - dt.kubernetes.cluster.id
 - dt.kubernetes.cluster.name
 - dt.kubernetes.config.id
 - dt.kubernetes.event.involved_object.kind
 - dt.kubernetes.event.involved_object.name
 - dt.kubernetes.event.причина
 - dt.kubernetes.node.name
 - dt.kubernetes.node.system_uuid
 - dt.kubernetes.topmost_controller.kind
 - dt.kubernetes.workload.kind
 - dt.kubernetes.workload.name
 - dt.network_zone.id
 - dt.os.описание
 - dt.os.type
 - dt.process.commandline
 - dt.process.executable
 - dt.process.name
 - dt.source_entity
 - dt.source_entity_name
 - dt.source_entity_type
 - faas.id
 - faas.instance
 - faas.name
 - faas.версия
 - gcp.instance.id
 - gcp.instance.name
 - gcp.project.id
 - gcp.region
 - gcp.resource.type
 - хост.имя хоста
 - host.id
 - host.image.id
 - host.image.name
 - хост.изображение.версия
 - имя хоста
 - хост.тип
 - http.client_ip
 - http.вкус
 - http.хост
 - http.метод
 - http.маршрут
 - http.схема
 - http.имя_сервера
 - http.status_code
 - http.status_text
 - http.target
 - http.url
 - k8s.cluster.name
 - k8s.container.имя
 - k8s.cronjob.имя
 - k8s.cronjob.uid
 - k8s.daemonset.name
 - k8s.daemonset.uid
 - k8s.deployment.name
 - k8s.deployment.uid
 - k8s.job.name
 - k8s.job.uid
 - k8s.namespace.name
 - k8s.pod.имя
 - k8s.pod.uid
 - k8s.replicaset.name
 - k8s.replicaset.uid
 - k8s.statefulset.имя
 - k8s.statefulset.uid
 - лог.источник
 - net.host.ip
 - сетевое.имя.хоста
 - сетевой.хост.порт
 - net.peer.ip
 - net.peer.name
 - сетевой.пир.порт
 - нетто.транспорт
 - процесс.технология
 - service.instance.id
 - наименование услуги
 - service.namespace
 - сервис.версия
 - snmp.trap_oid
 - span_id
 - trace_id
 - winlog.eventid
 - winlog.level
 - код операции winlog.opcode
 - winlog.провайдер
 - winlog.task
 
Объект не предоставляет никаких параметров.
JSON-модель тела запроса
Это модель тела запроса, показывающая возможные элементы. Его необходимо настроить для использования в реальном запросе.
[
  {
    "content": "Exception: Custom error log sent via Generic Log Ingest",
    "log.source": "/var/log/syslog",
    "timestamp": "2022-01-17T22:12:31.0000",
    "severity": "error",
    "custom.attribute": "attribute value"
  },
  {
    "content": "Exception: Custom error log sent via Generic Log Ingest",
    "log.source": "/var/log/syslog",
    "timestamp": "2022-01-17T22:12:35.0000"
  },
  {
    "content": "Exception: Custom error log sent via Generic Log Ingest",
    "log.source": "/var/log/syslog"
  },
  {
    "content": "Exception: Custom error log sent via Generic Log Ingest"
  }
]
Ответ
Коды ответов
| Код | Тип | Описание | 
|---|---|---|
| 200 | Конверт успеха | Только часть входных событий была принята из-за ограничений размера события или проблем с анализом JSON. | 
| 204 | Успех. Ответ не имеет тела. | |
| 400 | ErrorEnvelope | Не удалось. Ввод недействителен. | 
| 402 | ErrorEnvelope | Не удалось. Вы не можете добавить больше журналов в хранилище, так как закончились единицы данных Дейвиса (DDU). Приобретите дополнительные DDU. | 
| 404 | ErrorEnvelope | Не удалось. Запрошенный ресурс не существует. Это может произойти, если ActiveGate недоступен с включенным модулем Log Analytics Collector. | 
| 413 | ErrorEnvelope | Не удалось. Размер полезной нагрузки запроса слишком велик. Это может произойти, когда размер полезной нагрузки в байтах превышает ограничение или когда принятые полезные данные представляют собой массив JSON, размер которого превышает ограничение. | 
| 429 | ErrorEnvelope | Не удалось. Слишком много запросов. Это происходит, когда прием журналов отключен. | 
| 501 | ErrorEnvelope | Не удалось. Сервер либо не распознает метод запроса, либо не может выполнить запрос. Может произойти, если не включено индексированное хранилище журналов. | 
Объекты тела ответа
Объект _ SuccessEnvelope
| Элемент | Тип | Описание | 
|---|---|---|
| Детали | Успех | - | 
Объект _ Success
| Элемент | Тип | Описание | 
|---|---|---|
| код | целое число | Код состояния HTTP | 
| сообщение | нить | Подробное сообщение | 
JSON-модель тела ответа
{
  "details": {
    "code": 1,
    "message": "string"
  }
}