Creating a Log Ingestion Configuration¶
Function¶
This API is used to create a log ingestion configuration.
URI¶
POST /v3/{project_id}/lts/access-config
Parameter  | Mandatory  | Type  | Description  | 
|---|---|---|---|
project_id  | Yes  | String  | Project ID. For details about how to obtain a project ID, see Obtaining the Account Tenant ID, Project Resource Set ID, Log Group ID, and Log Stream ID. Minimum: 32 Maximum: 32  | 
Request Parameters¶
Parameter  | Mandatory  | Type  | Description  | 
|---|---|---|---|
X-Auth-Token  | Yes  | String  | User token obtained from IAM. For details about how to obtain a user token, see Obtaining a User Token. Minimum: 1000 Maximum: 2000  | 
Content-Type  | Yes  | String  | Set this parameter to application/json;charset=UTF-8. Minimum: 30 Maximum: 30  | 
Parameter  | Mandatory  | Type  | Description  | 
|---|---|---|---|
access_config_name  | Yes  | String  | Ingestion configuration name. It should match the regular expression: ^( Minimum: 1 Maximum: 64  | 
access_config_type  | Yes  | String  | Ingestion configuration type. AGENT: ECS access; K8S_CCE: CCE access  | 
access_config_detail  | Yes  | AccessConfigDeatilCreate object  | Access configuration details.  | 
log_info  | Yes  | Log information  | |
host_group_info  | No  | Host group information  | |
access_config_tag  | No  | Array of accessConfigTag objects  | Tag information. A tag key must be unique. Up to 20 tags are allowed.  | 
binary_collect  | No  | Boolean  | Binary collection.  | 
log_split  | No  | Boolean  | Log splitting.  | 
cluster_id  | No  | String  | Cluster ID  | 
Parameter  | Mandatory  | Type  | Description  | 
|---|---|---|---|
paths  | No  | Array of strings  | Collection paths. 
  | 
black_paths  | No  | Array of strings  | Collection path blacklist. 
  | 
format  | Yes  | AccessConfigFormatCreate object  | Log format.  | 
windows_log_info  | No  | Windows event logs.  | |
stdout  | No  | Boolean  | Standard output switch. This parameter is used only when logs are collected from CCE.  | 
stderr  | No  | Boolean  | Standard error switch. This parameter is used only when logs are collected from CCE.  | 
pathType  | No  | String  | Log collection from CCE. This parameter is used only when logs are collected from CCE.  | 
namespaceRegex  | No  | String  | Regular expression matching of Kubernetes namespaces. This parameter is used only when logs are collected from CCE.  | 
podNameRegex  | No  | String  | Regular expression matching of Kubernetes pods. This parameter is used only when logs are collected from CCE.  | 
containerNameRegex  | No  | String  | Regular expression matching of Kubernetes container names. This parameter is used only when logs are collected from CCE.  | 
includeLabels  | No  | Map<String,String>  | Container label trustlist. A maximum of 30 container labels can be created. The key names must be unique. This parameter is used only when logs are collected from CCE.  | 
excludeLabels  | No  | Map<String,String>  | Container label blocklist. A maximum of 30 container labels can be created. The key names must be unique. This parameter is used only when logs are collected from CCE.  | 
includeEnvs  | No  | Map<String,String>  | Environment variable trustlist. A maximum of 30 environment variable whitelists can be created. Key names must be unique. This parameter is used only when logs are collected from CCE.  | 
excludeEnvs  | No  | Map<String,String>  | Environment variable blocklist. A maximum of 30 environment variables can be created. The key names must be unique. This parameter is used only when logs are collected from CCE.  | 
logLabels  | No  | Map<String,String>  | Container label log tag. A maximum of 30 tags can be created. The key names must be unique. This parameter is used only when logs are collected from CCE.  | 
logEnvs  | No  | Map<String,String>  | Environment variable log tag. A maximum of 30 tags can be created. The key name must be unique. This parameter is used only when logs are collected from CCE.  | 
includeK8sLabels  | No  | Map<String,String>  | Kubernetes label trustlist. A maximum of 30 whitelists can be created. The key names must be unique. This parameter is used only when logs are collected from CCE.  | 
excludeK8sLabels  | No  | Map<String,String>  | Kubernetes label blocklist. A maximum of 30 blocklists can be created. The key names must be unique. This parameter is used only when logs are collected from CCE.  | 
logK8s  | No  | Map<String,String>  | Kubernetes label log tag. A maximum of 30 tags can be created. The key names must be unique. This parameter is used only when logs are collected from CCE.  | 
Parameter  | Mandatory  | Type  | Description  | 
|---|---|---|---|
single  | No  | Single-line logs.  | |
multi  | No  | Multi-line logs.  | 
Parameter  | Mandatory  | Type  | Description  | 
|---|---|---|---|
mode  | No  | String  | Single-line logs. system indicates the system time, whereas wildcard indicates the time wildcard.  | 
value  | No  | String  | Log time.If mode is system, the value is the current timestamp.If mode is wildcard, the value is a time wildcard, which is used by ICAgent to look for the log printing time as the beginning of a log event. If the time format in a log event is 2019-01-01 23:59:59, the time wildcard is YYYY-MM-DD hh:mm:ss. If the time format in a log event is 19-1-1 23:59:59, the time wildcard is YY-M-D hh:mm:ss.  | 
Parameter  | Mandatory  | Type  | Description  | 
|---|---|---|---|
mode  | No  | String  | Single-line logs. time indicates a time wildcard is used to detect log boundaries, whereas regular indicates that a regular expression is used.  | 
value  | No  | String  | Log time.If mode is regular, the value is a regular expression.If mode is time, the value is a time wildcard, which is used by ICAgent to look for the log printing time as the beginning of a log event. If the time format in a log event is 2019-01-01 23:59:59, the time wildcard is YYYY-MM-DD hh:mm:ss. If the time format in a log event is 19-1-1 23:59:59, the time wildcard is YY-M-D hh:mm:ss.  | 
Parameter  | Mandatory  | Type  | Description  | 
|---|---|---|---|
categorys  | Yes  | Array of strings  | Type of Windows event logs to be collected. 
  | 
time_offset  | Yes  | AccessConfigTimeOffset object  | Offset from first collection time.  | 
event_level  | Yes  | Array of strings  | Event level. 
  | 
Parameter  | Mandatory  | Type  | Description  | 
|---|---|---|---|
offset  | Yes  | Long  | Time offset. When unit is day, the value ranges from 1 to 7. When unit is hour, the value ranges from 1 to 168. When unit is sec, the value ranges from 1 to 604800.  | 
unit  | Yes  | String  | Unit of the time offset. 
  | 
Parameter  | Mandatory  | Type  | Description  | 
|---|---|---|---|
log_group_id  | Yes  | String  | Log group ID. Project ID. For details about how to obtain a project ID, see Obtaining the Account ID, Project Resource Set ID, Log Group ID, and Log Stream ID. Minimum: 36 Maximum: 36  | 
log_stream_id  | Yes  | String  | Log stream ID. Project ID. For details about how to obtain a project ID, see Obtaining the Account ID, Project Resource Set ID, Log Group ID, and Log Stream ID. Minimum: 36 Maximum: 36  | 
Parameter  | Mandatory  | Type  | Description  | 
|---|---|---|---|
host_group_id_list  | Yes  | Array of strings  | List of host group IDs. Minimum: 36 Maximum: 36  | 
Parameter  | Mandatory  | Type  | Description  | 
|---|---|---|---|
key  | Yes  | String  | Tag key. Use only UTF-8 letters, digits, spaces, and the following characters: .:=+-@. Do not start with an underscore (). Max 128 characters are allowed.  | 
value  | No  | String  | Tag value. Use only UTF-8 letters, digits, spaces, and the following characters:   | 
Response Parameters¶
Status code: 200
Parameter  | Type  | Description  | 
|---|---|---|
access_config_id  | String  | Ingestion configuration ID.  | 
access_config_name  | String  | Ingestion configuration name.  | 
access_config_type  | String  | Ingestion configuration type. The value AGENT indicates host log ingestion.  | 
create_time  | Long  | Creation time.  | 
access_config_detail  | AccessConfigDeatilResponse object  | Ingestion configuration details.  | 
log_info  | AccessConfigQueryLogInfo object  | Log details.  | 
host_group_info  | AccessConfigHostGroupIdList object  | Host group ID list.  | 
access_config_tag  | Array of accessConfigTagResponse objects  | Tag information.  | 
log_split  | Boolean  | Log splitting.  | 
binary_collect  | Boolean  | Binary collection.  | 
cluster_id  | String  | CCE cluster ID  | 
Parameter  | Type  | Description  | 
|---|---|---|
paths  | Array of strings  | Collection paths.  | 
black_paths  | Array of strings  | Collection path blacklist.  | 
format  | AccessConfigFormatCreate object  | Log format.  | 
windows_log_info  | Windows event logs.  | |
stdout  | Boolean  | Standard output switch. This parameter is used only for CCE log ingestion.  | 
stderr  | Boolean  | Standard error switch. This parameter is used only for CCE log ingestion.  | 
pathType  | String  | CCE log ingestion type. This parameter is used only for CCE log ingestion.  | 
namespaceRegex  | String  | Regular expression matching of Kubernetes namespaces. This parameter is used only for CCE log ingestion.  | 
podNameRegex  | String  | Regular expression matching of Kubernetes pods. This parameter is used only for CCE log ingestion.  | 
containerNameRegex  | String  | Regular expression matching of Kubernetes container names. This parameter is used only for CCE log ingestion.  | 
includeLabels  | Map<String,String>  | Container label whitelist. You can create up to 30 whitelists. The key names must be unique. This parameter is used only for CCE log ingestion.  | 
excludeLabels  | Map<String,String>  | Container label blacklist. You can create up to 30 blacklists. The key names must be unique. This parameter is used only for CCE log ingestion.  | 
includeEnvs  | Map<String,String>  | Environment variable whitelist. You can create up to 30 whitelists. The key names must be unique. This parameter is used only for CCE log ingestion.  | 
excludeEnvs  | Map<String,String>  | Environment variable blacklist. You can create up to 30 blacklists. The key names must be unique. This parameter is used only for CCE log ingestion.  | 
logLabels  | Map<String,String>  | Container label. You can create up to 30 labels. The key names must be unique. This parameter is used only for CCE log ingestion.  | 
logEnvs  | Map<String,String>  | Environment variable label. You can create up to 30 labels. The key names must be unique. This parameter is used only for CCE log ingestion.  | 
includeK8sLabels  | Map<String,String>  | Kubernetes label whitelist. You can create up to 30 whitelists. The key names must be unique. This parameter is used only for CCE log ingestion.  | 
excludeK8sLabels  | Map<String,String>  | Kubernetes label blacklist. You can create up to 30 blacklists. The key names must be unique. This parameter is used only for CCE log ingestion.  | 
logK8s  | Map<String,String>  | Kubernetes label. You can create up to 30 labels. The key names must be unique. This parameter is used only for CCE log ingestion.  | 
Parameter  | Type  | Description  | 
|---|---|---|
single  | Single-line logs.  | |
multi  | Multi-line logs.  | 
Parameter  | Type  | Description  | 
|---|---|---|
mode  | String  | Single-line logs. system indicates the system time, whereas wildcard indicates the time wildcard.  | 
value  | String  | Log time.If mode is system, the value is the current timestamp.If mode is wildcard, the value is a time wildcard, which is used by ICAgent to look for the log printing time as the beginning of a log event. If the time format in a log event is 2019-01-01 23:59:59, the time wildcard is YYYY-MM-DD hh:mm:ss. If the time format in a log event is 19-1-1 23:59:59, the time wildcard is YY-M-D hh:mm:ss.  | 
Parameter  | Type  | Description  | 
|---|---|---|
mode  | String  | Single-line logs. time indicates a time wildcard is used to detect log boundaries, whereas regular indicates that a regular expression is used.  | 
value  | String  | Log time.If mode is regular, the value is a regular expression.If mode is time, the value is a time wildcard, which is used by ICAgent to look for the log printing time as the beginning of a log event. If the time format in a log event is 2019-01-01 23:59:59, the time wildcard is YYYY-MM-DD hh:mm:ss. If the time format in a log event is 19-1-1 23:59:59, the time wildcard is YY-M-D hh:mm:ss.  | 
Parameter  | Type  | Description  | 
|---|---|---|
categorys  | Array of strings  | Type of Windows event logs to be collected. 
  | 
time_offset  | AccessConfigTimeOffset object  | Offset from first collection time.  | 
event_level  | Array of strings  | Event level. 
  | 
Parameter  | Type  | Description  | 
|---|---|---|
offset  | Long  | Time offset. When unit is day, the value ranges from 1 to 7. When unit is hour, the value ranges from 1 to 168. When unit is sec, the value ranges from 1 to 604800.  | 
unit  | String  | Unit of the time offset. 
  | 
Parameter  | Type  | Description  | 
|---|---|---|
log_group_id  | String  | Log group ID.  | 
log_stream_id  | String  | Log stream ID.  | 
log_group_name  | String  | Log group name.  | 
log_stream_name  | String  | Log stream name.  | 
log_group_name_alias  | String  | Log group alias.  | 
log_stream_name_alias  | String  | Log stream alias.  | 
Parameter  | Type  | Description  | 
|---|---|---|
host_group_id_list  | Array of strings  | List of host group IDs.  | 
Parameter  | Type  | Description  | 
|---|---|---|
key  | String  | Tag key.  | 
value  | String  | Tag value.  | 
Status code: 400
Parameter  | Type  | Description  | 
|---|---|---|
error_code  | String  | Error code  | 
error_msg  | String  | Error description  | 
Status code: 500
Parameter  | Type  | Description  | 
|---|---|---|
error_code  | String  | Error code  | 
error_msg  | String  | Error description  | 
Example Requests¶
Creating a log ingestion configuration (for CCE)
POST https://{endpoint}/v3/{project_id}/lts/access-config { "access_config_name" : "myapinew322", "access_config_type" : "K8S_CCE", "access_config_detail" : { "pathType" : "CONTAINER_STDOUT", "stdout" : "true", "stderr" : "false", "format" : { "single" : { "mode" : "system", "value" : "1678969382000" } }, "namespaceRegex" : "default", "podNameRegex" : "abc", "containerNameRegex" : "my", "includeLabels" : { "a" : "1" }, "excludeLabels" : { "b" : "2" }, "logLabels" : { "c" : "3" }, "includeK8sLabels" : { "d" : "4" }, "excludeK8sLabels" : { "e" : "5" }, "logK8s" : { "f" : "6" }, "includeEnvs" : { "g" : "7" }, "excludeEnvs" : { "h" : "8" }, "logEnvs" : { "i" : "9" } }, "log_info" : { "log_group_id" : "9575cb24-290c-478e-a5db-88d6d1dc513b", "log_stream_id" : "3581bee9-8698-476e-a0ba-b0f310ed99cf" }, "host_group_info" : { "host_group_id_list" : [ "12b0bbd1-4eda-456b-a641-647aa66bdeab" ] }, "access_config_tag" : [ { "key" : "my01", "value" : "001" }, { "key" : "my02", "value" : "002" } ], "binary_collect" : "false", "log_split" : "false" }Creating a log ingestion configuration (for ECS)
POST https://{endpoint}/v3/{project_id}/lts/access-config { "access_config_name" : "Tesxxx", "access_config_type" : "AGENT", "access_config_detail" : { "paths" : [ "/test/xxx", "/texxx" ], "black_paths" : [ "/testxxx", "/tesxxx" ], "format" : { "multi" : { "mode" : "time", "value" : "YYYY-MM-DD hh:mm:ss" } }, "windows_log_info" : { "categorys" : [ "System", "Security", "Setup" ], "event_level" : [ "warning", "error", "critical", "verbose" ], "time_offset" : { "offset" : 111, "unit" : "hour" } } }, "log_info" : { "log_group_id" : "b179326d-c3be-4217-a3d9-xxxx", "log_stream_id" : "020a6fa0-4740-4888-af06-98xxxxxx" }, "host_group_info" : { "host_group_id_list" : [ "4ee44d4f-a72b-40cf-a3c7-1xxxxx" ] }, "access_config_tag" : [ { "key" : "xxx", "value" : "xxx" }, { "key" : "xxx1", "value" : "xxx1" } ] }
Example Responses¶
Status code: 200
The ingestion configuration is created.
{
  "access_config_detail" : {
    "containerNameRegex" : "container-1",
    "format" : {
      "single" : {
        "mode" : "system",
        "value" : "1678969382000"
      }
    },
    "namespaceRegex" : "default",
    "pathType" : "container_stdout",
    "paths" : [ ],
    "podNameRegex" : "mystdout-6d7458d77c-rhjcc",
    "stderr" : true,
    "stdout" : true
  },
  "access_config_id" : "03b16999-95cf-453b-9668-7aa1fafa564e",
  "access_config_name" : "myapinew32Y",
  "access_config_tag" : [ {
    "key" : "my01",
    "value" : "001"
  }, {
    "key" : "my02",
    "value" : "002"
  } ],
  "access_config_type" : "K8S_CCE",
  "binary_collect" : true,
  "create_time" : 1685626665176,
  "log_info" : {
    "log_group_id" : "9575cb24-290c-478e-a5db-88d6d1dc513b",
    "log_group_name" : "my-group",
    "log_stream_id" : "eea03c27-e041-4bec-bd03-6afa10a6561a",
    "log_stream_name" : "lts-topic-cceapi"
  },
  "log_split" : true
}
Status code: 400
Invalid request. Modify the request based on the description in error_msg before a retry.
{
  "error_code" : "LTS.1807",
  "error_msg" : "Invalid access config name"
}
Status code: 500
The server has received the request but encountered an internal error.
{
  "error_code" : "LTS.0010",
  "error_msg" : "The system encountered an internal error"
}
Status Codes¶
Status Code  | Description  | 
|---|---|
200  | The ingestion configuration is created.  | 
400  | Invalid request. Modify the request based on the description in error_msg before a retry.  | 
500  | The server has received the request but encountered an internal error.  | 
Error Codes¶
See Error Codes.