Help Center/ Log Tank Service/ User Guide/ Log Transfer/ Transferring Logs to OBS
Updated on 2024-11-14 GMT+08:00

Transferring Logs to OBS

You can transfer logs to OBS and download log files from the OBS console.

  • When creating a log transfer task, you must have the following permissions in addition to the LTS permissions: bucket ACL (obs:bucket:PutBucketAcl), bucket list obtaining (obs:bucket:ListAllMyBuckets), bucket metadata (obs:bucket:HeadBucket), and bucket ACL (obs:bucket:GetBucketAcl), and bucket encryption configuration obtaining (obs:bucket:GetEncryptionConfiguration). For details, see Bucket Actions.
  • LTS transfers only logs generated after the transfer task is configured, not historical logs.

Prerequisites

  • Logs have been ingested to LTS. For details, see Log Ingestion.
  • You have created an OBS bucket.

    You will be billed for the storage you use in OBS. For details, see Product Pricing Details.

Creating a Scheduled Log Transfer Task

  1. Log in to the LTS console.
  2. Choose Log Transfer in the navigation pane.
  3. Click Configure Log Transfer in the upper right corner.
  4. On the displayed page, configure the log transfer parameters.

    Table 1 Transfer parameters

    Parameter

    Description

    Example

    Log Source Account

    • Current: Logs of the current account will be transferred.
    • Other: Logs of the delegator account will be transferred. Ensure that the delegator has created an agency for log transfer delegation in IAM. For details, see Creating an Agency.

    Current

    Agency Name

    This parameter is required when Log Source Account is set to Other. Enter the name of the agency created by the delegator in IAM.

    -

    Delegator Account Name

    This parameter is required when Log Source Account is set to Other. Enter the account name of the delegator.

    -

    Enable Transfer

    Enabled by default.

    Enabled

    Transfer Destination

    Select a cloud service for log transfer.

    OBS

    Log Group Name

    Select a log group.

    N/A

    Enterprise Project Name

    Select an enterprise project.

    • This parameter is displayed only when the enterprise project function is enabled for the current account.
    • If the enterprise project function is enabled for the current account:
      • All enterprise projects under the current account are displayed in the drop-down list when Log Source Account is set to Current.
      • default is displayed when Log Source Account is set to Other and the enterprise project function is not enabled for the delegator account.
      • All enterprise projects under the delegator account are displayed when Log Source Account is set to Other and the enterprise project function is enabled for the delegator account.

    -

    Log Stream Name

    Select a log stream.

    NOTE:

    Log streams that have been configured with OBS transfer settings cannot be configured again.

    -

    OBS Bucket

    • Select an OBS bucket.
      • If no OBS buckets are available, click View OBS Bucket to access the OBS console and create an OBS bucket.
      • If encryption has been enabled for the selected OBS bucket, select a key name and select I agree to grant permissions on Key Management Service (KMS) to LTS so LTS can create and use keys to encrypt and decrypt transferred logs.
    • Currently, LTS supports only standard OBS buckets with the single-AZ storage policy.
    NOTE:

    If you select an unauthorized OBS bucket, LTS will take 15 minutes to authorize the ACL for the bucket. If your configuration fails, try again 15 minutes later. To prevent log transfer failures, exercise caution when modifying bucket policies.

    -

    Key Name

    Select a key name for an OBS bucket for which encryption has been enabled. If no keys are available, click Create Key and Authorize to go to the Data Encryption Workshop (DEW) console and create a key.

    -

    Custom Log Transfer Path

    • Enabled: Logs will be transferred to a custom path to separate transferred log files of different log streams.
      The format is /LogTanks/Region name/%Group name/%Stream name/Custom path. The default custom path is lts/%Y/%m/%d, where %Y indicates the year, %m indicates the month, and %d indicates the day. A custom path must meet the following requirements:
      • Must start with /LogTanks/Region name.
      • %Group name indicates the log group, and %Stream name indicates the log stream.
      • Can contain only letters, digits, and the following special characters: &$@;:,=+?-._/ %. The character % can only be followed only by Y (year), m (month), d (day), H (hour), and M (minute). Any number of characters can be added before and after %Y, %m, %d, %H, and %M, and the sequence of these variables can be changed.
      • Can contain 1–128 characters.

      Example:

      1. If you enter LTS-test/%Y/%m/%d/%H/%M, the path is LogTanks/Region name/LTS-test/Y/m/d/H/M/Log file name.
      2. If you enter LTS-test/%d/%H/%m/%Y, the path is LogTanks/Region name/LTS-test/d/H/m/Y/Log file name.
    • Disabled: Logs will be transferred to the default path. The default path is LogTanks/Region name/2019/01/01/Log group/Log stream/Log file name.

    LTS-test/%GroupName/%StreamName/%Y/%m/%d/%H/%M

    Log Prefix

    The file name prefix of the log files transferred to an OBS bucket

    The prefix must meet the following requirements:

    • Can contain 0 to 64 characters.
    • Can contain only letters, digits, hyphens (-), underscores (_), and periods (.).

    Example: If you enter LTS-log, the log file name will be LTS-log_Log file name.

    LTS-log

    Format

    The storage format of logs. The value can be Raw Log Format or JSON.

    • Example of the raw log format:
      (Logs displayed on the LTS console are in the raw format.)
      Sep 30 07:30:01 ecs-bd70 CRON[3459]: (root) CMD (/opt/oss/servicemgr/ICAgent/bin/manual/mstart.sh > /dev/null 2>&1)
    • The following is an example of the JSON format:
      {"host_name":"ecs-bd70","ip":"192.168.0.54","line_no":249,"message":"Sep 30 14:40:01 ecs-bd70 CRON[4363]: (root) CMD (/opt/oss/servicemgr/ICAgent/bin/manual/mstart.sh > /dev/null 2>&1)\n","path":"/var/log/syslog","time":1569825602303}

    Json

    Log Transfer Interval

    The interval for automatically transferring logs to OBS buckets. The value can be 2, 5, or 30 minutes, or 1, 3, 6, or 12 hours.

    3 hours

    Time Zone

    When logs are transferred to OBS buckets, the time in the transfer directory and file name will use the specified UTC time zone.

    (UTC) Coordinated Universal Time

    Filter by Tag Fields

    During transfer, logs will be filtered by tag fields collected by ICAgent.

    • Disabled: Logs will not be filtered by tag fields.
    • Enabled: Default tag fields include those for hosts (hostIP, hostId, hostName, pathFile, and collectTime) and for Kubernetes (clusterName, clusterId, nameSpace, podName, containerName, and appName). Optional public tag fields are regionName, logStreamName, logGroupName, and projectId.
      NOTE:

      When Filter by Tag Fields is enabled, Format must be JSON.

    • Filter by Tag Fields: When this parameter is enabled, logs will be filtered by tags.

    Enabled

    Compressed Format

    Non-compression and gzip/zip/snappy compression are supported.

    NOTE:

    This function is available only to whitelisted users. To use it, submit a service ticket.

    gzip

  5. Click OK. When the log transfer status changes to Normal, the transfer task has been created.
  6. Click the OBS bucket name in the Transfer Destination column to switch to the OBS console and view the transferred log files.

    Transferred logs can be downloaded from OBS to your local computer for viewing.

    Logs stored in OBS are in raw or JSON format.

Modifying a Log Transfer Task

  1. Locate the row that contains the target transfer task and click Modify in the Operation column.
  2. Click OK.

Viewing Transfer Details

  1. Locate the target log transfer task and click More > Details in the row of the desired task to view its details.
  2. On the displayed Transfer Details page, you can view the log transfer details.

Deleting a Log Transfer Task

If logs do not need to be transferred, you can delete the transfer task.

  • After a transfer task is deleted, log transfer will be stopped. Exercise caution when performing the deletion.
  • After a transfer task is deleted, the logs that have been transferred remain in OBS.
  • When you create a transfer task, OBS will grant read and write permissions to LTS for the selected bucket. If one OBS bucket is used by multiple transfer tasks, perform the following operations to delete the transfer task:
    • If only one transfer task is created using this OBS bucket, delete the bucket access permission granted to specific users on the Access Control > Bucket ACLs tab page on the OBS console when you delete the transfer task.
    • If multiple transfer tasks are created using this OBS bucket, do not delete the bucket access permission. Otherwise, data transfer will fail.
  1. Locate the row of the target transfer task and choose Delete in the Operation column.
  2. Click OK.

Viewing Transfer Status

The status of a transfer task can be Normal, Abnormal, or Disabled.

  • Normal: The log transfer task works properly.
  • Abnormal: An error occurred in the log transfer task. The possible causes are as follows:
    • Access control on the OBS bucket is configured incorrectly. Access the OBS console to correct the settings.
    • The key for the encrypted OBS bucket has been deleted or the authorization has been canceled. Ensure that the key is valid.
  • Disabled: The log transfer task is stopped.