Fluent Bit output for Yandex Cloud Logging.
All configuration parameters can be templated via metadata service. You can define templated value as follows: {{key:default}}
or {{key}}
(in this case ""
used as default value). All strings matched this template will be replaced by metadata values. In default_payload
parameter you also can use this template as a JSON value (without quotes), so that JSON struct or array will be included in default payload.
Key | Description |
---|---|
group_id |
(optional) Log group ID. Has higher priority than folder_id . |
folder_id |
(optional) Folder ID. Has lower priority than group_id . Can be auto-detected via metadata service if group_id and folder_id are not set. |
resource_type |
(optional) Resource type of log entries. Can be templated via entry payload as follows: {entry/json/path} . |
resource_id |
(optional) Resource id of log entries. Can be templated via entry payload as follows: {entry/json/path} . |
stream_name |
(optional) Resource id of log entries. Can be templated via entry payload as follows: {entry/json/path} . |
message_tag_key |
Key of the field to be assigned to the message tag. By default, will be skipped. |
message_key |
Key of the field, which will go to message attribute of LogEntry. |
level_key |
Key of the field, which contains log level, optional. |
default_level |
(optional) Default level for messages, i.e., INFO . |
default_payload |
(optional) String with default JSON payload for entries (will be merged together with custom entry payload). |
endpoint |
(optional) API endpoint. Сan be set custom endpoint, for example, a regional one. Default value: api.cloud.yandex.net:443 . |
authorization |
See Authorization section below. |
Metadata service documentation.
Metadata url can be configured through environment variable YC_METADATA_URL
. By default it's http://169.254.169.254
.
Configuration parameter authorization
may have one of the following values:
Value | Description |
---|---|
instance-service-account |
run on behalf of instance service account |
iam-token |
environment variable YC_TOKEN must contain a valid IAM token for authorization |
iam-key-file:/path/key.json |
use IAM key for authorization |
To create the key file, use yc cli. Example:
yc iam key create --service-account-name my-service-account --output key.json
[OUTPUT]
Name yc-logging
Match *
group_id abc_{{group-id}}
resource_type {{resource}}_{resource/type}
resource_id {resource/id}
message_key text
level_key severity
default_level WARN
default_payload {"num":5, "str": "string", "bool": true, "host":"{{instance/hostname}}", "not-found":"{{not/found:default}}", "struct": {{instance/disks/0}}, "array": {{instance/disks}} }
authorization instance-service-account