全部產品
Search
文件中心

Elastic Compute Service:任務執行記錄投遞

更新時間:Jun 19, 2024

您可以使用雲助手任務執行記錄投遞功能,將任務執行記錄投遞到Object Storage Service和Log ServiceSLS中,進行持久化儲存。本文介紹如何通過雲助手進行投遞配置和查看已投遞的執行記錄檔案。

背景資訊

雲助手支援保留執行記錄,但保留時間長度和條數均存在限制,更多資訊,請參見雲助手使用限制。如果您需要長時間或大量保留執行記錄,建議使用任務執行記錄投遞功能,以便對任務執行記錄進行查詢、安全分析、資源變更行為追蹤和行為合規性審計等操作。

計費說明

會話操作記錄投遞功能本身不收費,但使用該功能的過程中,您需要為如下內容付費:

  • 使用SLS儲存會話操作記錄或使用SLS的日誌索引等功能。

    具體計費資訊,請參見SLS計費概述

  • 使用OSS儲存會話操作記錄或使用OSS的檔案管理等功能。

    具體計費資訊,請參見OSS計費概述

步驟一:配置任務執行記錄投遞

  1. 登入ECS管理主控台

  2. 在左側導覽列,選擇營運與監控 > 雲助手

  3. 在頂部功能表列左上方處,選擇地區。

    說明

    不支援跨地區投遞,請為需要投遞執行記錄的地區分別完成配置。

  4. ECS 雲助手頁面的右上方,單擊設定

  5. 在彈出的雲助手設定對話方塊中,單擊命令執行設定頁簽,完成投遞配置。

    • 任務執行記錄投遞到Log ServiceSLS。

        1. 選中投遞到Log ServiceSLS

        2. 選擇已建立的SLS專案和日誌庫。

          • 如果還未建立SLS專案和日誌庫,請單擊右側的開啟SLS控制台管理日誌庫開始即時建立,建立完成後返回該對話方塊單擊重新整理表徵圖表徵圖,查看最新的列表。具體操作,請參見管理Project管理Logstore

          • 在SLS中查詢、分析日誌還需要提前開啟索引,具體操作,請參見建立索引

          • (可選)您還可以設定日誌庫的伺服器端加密方式,會話操作記錄投遞會繼承該加密方式。具體操作,請參見資料加密

    • 任務執行記錄投遞到Object Storage Service。

        1. 選中投遞到Object Storage Service

        2. 選擇已建立的OSS儲存空間,並填寫用於儲存會話操作記錄檔案的根目錄。

          如果還未建立OSS儲存空間,請單擊右側的開啟OSS控制台開始即時建立,建立完成後返回該對話方塊單擊重新整理表徵圖表徵圖,查看最新的列表。具體操作,請參見建立儲存空間

        3. (可選)單擊進階選項後的表徵圖.png表徵圖,設定伺服器端加密方式。

          說明

          OSS提供了伺服器端加密機制,提供待用資料保護,適合於對於檔案儲存體有高安全性或者合規性要求的應用情境。若您設定了伺服器端加密方式,將為會話操作記錄投遞檔案(Object)進行對應的加密。更多資訊,請參見伺服器端加密

  6. 單擊確定

    首次進行投遞配置時,系統自動授權雲助手擷取訪問SLS和OSS資源的許可權,即自動為您建立一個服務關聯角色,以便將會話操作記錄投遞到您指定的SLS日誌庫或OSS儲存空間中。如果已經存在,則不會重複建立。您可以手動管理授權,具體操作,請參見管理雲助手服務關聯角色

    111.png

步驟二:執行命令或傳送檔案

執行命令或傳送檔案,執行記錄會自動投遞至您指定的SLS日誌庫或OSS儲存空間中。

具體操作,請參見建立並執行命令執行命令上傳本地檔案到ECS執行個體

步驟三:查看任務執行記錄

在SLS查看任務執行記錄

本步驟為從ECS控制台跳轉至指定日誌庫的方法,您也可以直接登入SLS控制台,自行尋找對應的日誌庫。

  1. 登入ECS管理主控台

  2. 在左側導覽列,選擇營運與監控 > 雲助手

  3. 在頂部功能表列左上方處,選擇地區。

  4. ECS 雲助手頁面右上方,單擊設定

  5. 在彈出的雲助手設定對話方塊中,單擊命令執行設定頁簽,然後選中投遞到Log ServiceSLS

  6. 單擊請選擇Log Service日誌庫地區右側的管理日誌庫

    查看日誌的相關操作說明,請參見查詢和分析日誌

    雲助手的任務執行記錄日誌樣本如下所示,具體參數的含義,請參見任務執行記錄參數說明

    • 單次執行命令once

    • 周期執行命令

      其中Repeats對應的值為已經執行該命令的次數。

      sls-timed

    • 傳送檔案sls-sendfile

在OSS查看任務執行記錄

本步驟為從ECS控制台跳轉至指定儲存空間的方法,您也可以直接登入OSS控制台,自行尋找對應的儲存空間。

  1. 登入ECS管理主控台

  2. 在左側導覽列,選擇營運與監控 > 雲助手

  3. 在頂部功能表列左上方處,選擇地區。

  4. ECS 雲助手頁面右上方,單擊設定

  5. 在彈出的雲助手設定對話方塊中,單擊命令執行設定頁簽,然後選中投遞到Object Storage Service

  6. 單擊請選擇儲存空間地區右側的開啟OSS控制台

  7. 進入儲存某個任務相關檔案的目錄。

    跳轉到OSS控制台後,系統自動定位到您在配置任務執行記錄投遞時填寫的檔案根目錄,您可以根據任務類型逐級進入自動產生的子目錄,包括:

    • 任務類型為執行命令:進入invocationResults/<執行ID>目錄。在該目錄下會顯示以ECS執行個體ID為名稱的目錄、命令的指令檔,其中指令檔名可能為

      • commandContent.bat:對應Windows執行個體中執行Bat命令。

      • commandContent.ps1:對應Windows執行個體中執行PowerShell命令。

      • commandContent.sh:對應Linux執行個體中執行Shell命令。

    • 任務類型為傳送檔案:進入sendFileResults/<執行ID>目錄。在該目錄下會顯示以ECS執行個體ID為名稱的目錄、已傳送檔案內容的檔案(名稱為fileContent.txt)。

    Linux執行個體中執行Shell命令的樣本目錄如下圖所示。oss-dir

  8. 進入以ECS執行個體ID為名稱的目錄,查看在該ECS執行個體上執行任務的記錄檔案。

    執行記錄檔案為JSON格式,樣本如下所示。

    • 單次執行命令oss-immediate

    • 周期執行命令

      其中檔案名稱中的數字代表在指定執行個體上執行該命令的次數。

      oss-timed

    • 傳送檔案oss-sendfile

  9. 單擊執行記錄檔案對應操作列下的詳情,然後下載檔案或複製檔案URL,並查看檔案內容。

    單次執行Shell命令的檔案內容樣本如下所示,具體參數的含義,請參見任務執行記錄參數說明

    {
        "RegionId":"cn-hangzhou",
        "InstanceId":"i-bp1hd5ztmab9cgc0****",
        "InvokeId":"t-hz01x7rtjfy****",
        "CommandId":"c-hz01x7cn5aj****",
        "CommandName":"cmd-hostname",
        "CommandType":"RunShellScript",
        "CommandContent":"hostname",
        "ResourceOwnerUid":160998252992****,
        "CallerUid":160998252992****,
        "CallerType":"customer",
        "Timeout":60,
        "Frequency":"",
        "Parameters":"{}",
        "Username":"",
        "RepeatMode":"Once",
        "Repeats":1,
        "InvocationStatus":"Success",
        "Dropped":0,
        "Output":"iZbp1hd5ztmab9cgc0****\n",
        "ExitCode":0,
        "CreationTime":"2021-09-26T05:47:20Z",
        "StartTime":"2021-09-26T05:47:20Z",
        "UpdateTime":"2021-09-26T05:47:20Z",
        "FinishedTime":"2021-09-26T05:47:20Z",
        "StopTime":""
    }

任務執行記錄參數說明

執行命令任務的執行記錄中的參數含義如下表所示,如需瞭解更詳細的參數用法說明,例如參數的可能值,請參見DescribeCommandsDescribeInvocationResults

名稱

樣本

描述

RegionId

cn-hangzhou

命令執行對應ECS執行個體的地區ID。

InstanceId

i-bp1hd5ztmab9cgc0****

執行個體ID。

InvokeId

t-hz01x7rtjfy****

命令執行ID。

CommandId

c-hz01x7cn5aj****

命令ID。

CommandName

cmd-hostname

命令名稱。

CommandType

RunShellScript

命令類型。

CommandContent

hostname

命令的明文內容。

ResourceOwnerUid

160998252992****

命令調用者的阿里雲帳號ID。

CallerUid

160998252992****

命令調用者的帳號ID。

CallerType

customer

命令調用者的調用方式。

Timeout

60

建立的命令在ECS執行個體中執行時,最大的逾時時間,單位為秒。

Frequency

0 * 14 * * ?

周期執行命令的執行循環,該周期為一個Cron運算式。更多資訊,請參見Cron運算式

Parameters

{}

命令中包含自訂參數時,執行命令時傳入的自訂參數的索引值對。

Username

root

在ECS執行個體中執行命令的使用者名稱稱。

RepeatMode

Period

設定命令執行的方式。

Repeats

2

命令在ECS執行個體上執行的次數。

InvocationStatus

Success

單台ECS執行個體的命令進度狀態。

ErrorCode

InstanceNotExists

命令的下發失敗或執行失敗原因的代碼。

ErrorInfo

the specified instance does not exists

命令的下發失敗或執行失敗原因的詳情。

Dropped

0

Output欄位中文字長度超出24 KB後,截斷並丟棄的文字長度。

Output

iZbp1hd5ztmab9cgc0****\n

命令執行後的輸出資訊。

ExitCode

0

命令的退出碼。

CreationTime

2021-09-26T05:47:20Z

命令執行的開始時間。

StartTime

2021-09-26T05:47:20Z

命令在ECS執行個體中開始執行的時間。

UpdateTime

2021-09-26T06:53:00Z

命令執行任務狀態的更新時間。

FinishedTime

2021-09-26T06:53:00Z

命令執行的完成時間。

StopTime

2021-09-26T06:53:00Z

若調用了StopInvocation,則表示調用時的時間。

傳送檔案任務的執行記錄中的參數含義如下表所示,如需瞭解更詳細的參數用法說明,例如參數的可能值,請參見DescribeSendFileResults

名稱

樣本

描述

RegionId

cn-hangzhou

檔案下發對應ECS執行個體的地區ID。

InstanceId

i-bp1hd5ztmab9cgc0****

執行個體ID。

InvokeId

f-hz01xeva44****

執行ID。

FileName

sendfile-test.txt

檔案名稱。

ContentType

Base64

檔案內容的類型。

Description

Used for test

檔案的描述資訊。

FileContent

c2VuZCBmaWxlIHRlc3Q=

檔案內容。

FileGroup

root

檔案的使用者組。

FileMode

0644

檔案的許可權。

FileOwner

root

檔案的使用者。

ResourceOwnerUid

16099825299****

檔案下發者的阿里雲帳號ID。

CallerUid

16099825299****

檔案下發者的帳號ID。

CallerType

customer

檔案下發者的調用方式。

Overwrite

true

如果同名檔案在目標目錄已存在,是否覆蓋檔案。

TargetDir

/root

檔案下發的目標路徑。

Timeout

60

檔案下發的逾時時間,單位為秒。

InvocationStatus

Success

檔案下發任務的狀態。

ErrorCode

FileAlreadyExists

檔案下發的失敗原因代碼。

ErrorInfo

File already exists: sendfile-test.txt

檔案下發的失敗或執行失敗原因詳情。

CreationTime

2021-09-28T05:31:04Z

檔案下發任務的建立時間。

StartTime

2021-09-28T05:31:04Z

檔案下發任務在ECS執行個體中開始執行的時間。

UpdateTime

2021-09-28T05:31:04Z

檔案下發任務狀態的更新時間。

FinishTime

2021-09-28T05:31:04Z

檔案下發任務的結束時間。