Creating a log group
-
In the management console
, select the folder where you want to create your log group. -
Select Cloud Logging.
-
Click Create group.
-
(Optional) Enter a name and description for the log group. The name format is as follows:
- The name must be from 3 to 63 characters long.
- It may contain lowercase Latin letters, numbers, and hyphens.
- The first character must be a letter and the last character cannot be a hyphen.
-
Set the log group record retention period.
-
(Optional) Select a data stream or create a new one to redirect records added to the log group to.
-
Click Create group.
If you do not have the Yandex Cloud command line interface yet, install and initialize it.
The folder specified in the CLI profile is used by default. You can specify a different folder using the --folder-name
or --folder-id
parameter.
To create a log group, run the command:
yc logging group create \
--name=group \
--retention-period=1h \
--data-stream=<stream_ID>
Where:
-
--name
: Log group name. -
--retention-period
: Log group record retention period. This is an optional parameter.The record retention period can only be specified in hours, minutes, or seconds. For example,
1h
or1440m
. -
--data-stream
: Yandex Data Streams data stream ID. This is an optional parameter. Records added to the log group will be automatically redirected to the specified stream. A stream ID consists of an availability zone, folder ID, Yandex Managed Service for YDB database ID, and stream name.For example, your stream ID will appear as
/ru-central1/aoeu1kuk2dht********/cc8029jgtuab********/aws_stream
if:aws_stream
: Stream nameru-central1
: Availability zoneaoeu1kuk2dht********
: Folder IDcc8029jgtuab********
: Yandex Managed Service for YDB database ID
Result:
done (1s)
id: af3flf29t8**********
folder_id: aoek6qrs8t**********
cloud_id: aoegtvhtp8**********
created_at: "2023-06-24T09:56:38.970Z"
name: group
status: ACTIVE
retention_period: 3600s
data_stream: /ru-central1/aoeu1kuk2dht********/cc8029jgtuab********/aws_stream
Terraform
For more information about the provider resources, see the documentation on the Terraform
If you change the configuration files, Terraform automatically detects which part of your configuration is already deployed, and what should be added or removed.
If you don't have Terraform, install it and configure the Yandex Cloud provider.
-
In the configuration file, describe the parameters of the resources you want to create:
-
name
: Log group name. This is an optional parameter. The name format is as follows:- The name must be from 3 to 63 characters long.
- It may contain lowercase Latin letters, numbers, and hyphens.
- The first character must be a letter and the last character cannot be a hyphen.
-
folder_id
: Folder ID. This is an optional parameter. By default, the value specified in the provider settings is used. -
retention_period
: Record retention period in the log group. This is an optional parameter.The record retention period can only be specified in hours, minutes, or seconds. For example,
1h
or1440m
.
Here is an example of the configuration file structure:
provider "yandex" { token = "<OAuth_token>" cloud_id = "<cloud_ID>" folder_id = "<folder_ID>" zone = "ru-central1-a" } resource "yandex_logging_group" "group1" { name = "<log_group_name>" folder_id = "<folder_ID>" retention_period = "5h" }
For more detailed information about the
yandex_logging_group
resource parameters in Terraform, see the provider documentation . -
-
Make sure the configuration files are correct.
-
In the command line, go to the directory where you created the configuration file.
-
Run a check using this command:
terraform plan
If the configuration is described correctly, the terminal will display a list of created resources and their parameters. If the configuration contains any errors, Terraform will point them out.
-
-
Deploy cloud resources.
-
If the configuration does not contain any errors, run this command:
terraform apply
-
Confirm creating the resources: type
yes
in the terminal and press Enter.
All the resources you need will then be created in the specified folder. You can check the new resources and their configuration using the management console
or this CLI command:yc logging group list
-
To create a log group, use the create REST API method for the LogGroup resource or the LogGroupService/Create gRPC API call.
Sample request
The example below uses the grpcurl
utility. To use the example, authenticate in the API and clone the cloudapi
Create the payload.json
file:
{
"folder_id": "<folder_ID>",
"name": "new-group",
"description": "Description of a log group created using grpcurl",
"labels": {
"compute": "instance-logging"
}
}
Run the following query:
grpcurl -rpc-header "Authorization: Bearer $(yc iam create-token)" \
-d @ \
-import-path ~/cloudapi/ \
-import-path ~/cloudapi/third_party/googleapis/ \
-proto ~/cloudapi/yandex/cloud/logging/v1/log_group_service.proto \
logging.api.cloud.yandex.net:443 yandex.cloud.logging.v1.LogGroupService.Create < payload.json
Response:
{
"id": "e23nitus5cg9********",
"description": "Create log group",
"createdAt": "2023-11-23T14:54:23.077532292Z",
"createdBy": "ajeugsk5ubk6********",
"modifiedAt": "2023-11-23T14:54:23.077532292Z",
"metadata": {
"@type": "type.googleapis.com/yandex.cloud.logging.v1.CreateLogGroupMetadata",
"logGroupId": "e23pjn86385t********"
}
}