AWS 快速入門導覽課程

本快速入門導覽課程說明如何將 Stackdriver Monitoring 連結至 Amazon Web Services (AWS) 帳戶,以及如何在 EC2 執行個體上安裝 Monitoring 與 Logging 代理程式。

事前準備

您必須擁有目前未受工作區監控的 AWS 帳戶。另外,您最多只能監控一個工作區的 AWS 帳戶。

如要取消 AWS 帳戶和工作區的連結,請參閱從工作區移除專案

步驟總覽

如要將 AWS 帳戶新增至工作區,您必須先建立 Google Cloud Platform (GCP) 專案做為該工作區的主專案。工作區建立完成後,您就能將 AWS 帳戶新增至工作區。

將 AWS 帳戶連結至 Monitoring 的步驟如下:

  1. 建立新的 GCP 專案

  2. 建立新的工作區 (建議做法) 或連結 AWS 帳戶 (如果您要使用現有的工作區)。

  3. 辨識可信任帳戶 ID 和外部 ID。

  4. 使用帳戶 ID 與外部 ID 建立 AWS 角色。

  5. 使用 AWS 角色連結您的工作區與 AWS 帳戶,建立新的 AWS 連接器專案。

  6. 在 AWS 連接器專案中建立服務帳戶,以授權存取 GCP。

前面的每一個步驟都會在下列幾節中詳細說明。

設定工作區

建議您為此快速入門導覽課程建立一個新的工作區。如果您想要使用現有的工作區,請直接跳至連結 AWS 帳戶

無論哪種情況,請務必取得 AWS 帳戶所需的帳戶 ID外部 ID。如需更多資訊,請參閱取得帳戶和外部 ID

建立 GCP 專案

如要建立 GCP 專案,請按照以下步驟操作:

  1. 在 GCP 主控台中,前往「New Project」(新增專案)

    建立新專案

  2. 在「Project Name」(專案名稱) 欄位中,輸入 Quickstart

  3. 按一下 [Create] (建立)。

建立工作區

如要為現有的 GCP 專案建立工作區,請按照以下步驟操作:

  1. 前往 GCP 主控台:

    前往 GCP 主控台

  2. 在選單列中,按一下「Google Cloud Platform」旁的下拉式清單,然後選取所需的 GCP 專案。

  3. 按一下 [Monitoring]

  4. 如果畫面上顯示「Add your project to a Workspace」(將專案新增至工作區) 對話方塊,請在「New Workspace」(新工作區) 下方選取所需的 GCP 專案,然後按一下 [Add] (新增),即可建立新工作區。下方圖片中的 GCP 專案名稱為 Quickstart

    選取工作區

    您必須至少擁有一個現有工作區,系統才會顯示「Add your project to a Workspace」(將專案新增至工作區) 對話方塊。列於「Existing Workspace」(現有工作區) 底下為已建立工作區,或是具有編輯權限的 GCP 專案工作區。您可以透過這個對話方塊選擇要建立新工作區,還是將專案新增至現有工作區。

Monitoring 隨即會建立新工作區,然後將您的 GCP 專案加入其中。Monitoring 建立工作區時,會經過以下階段:

  1. 建構工作區
  2. 啟用 Stackdriver API
  3. 我們仍在為您的新工作區收集資料

系統可能需要幾分鐘的時間才能完成這些階段。完成處理程序後,Stackdriver Monitoring 主控台就會顯示「Monitoring Overview」(Monitoring 總覽) 窗格和以下歡迎訊息:

選取工作區

取得帳戶和外部 ID

如要辨識 AWS 所需的可信任帳戶 ID 和外部 ID,請按照以下步驟操作:

  1. 前往 Stackdriver Monitoring 主控台:

    前往 Stackdriver Monitoring 主控台

  2. 系統會在標題列的 Stackdriver 標誌旁顯示工作區名稱。如果工作區名稱不是 Quickstart,請點選下拉式清單,並選取 Quickstart

  3. 按一下「Workspace」(工作區) 選單底部的 [Workspace Settings] (工作區設定)。

  4. 按一下「Settings」(設定) 下方的 [Monitored accounts] (監控的帳戶)

  5. 按一下 [Add AWS account] (新增 AWS 帳戶)。

  6. 記下帳戶 ID外部 ID,您建立 AWS 角色將會用到這些資料。

  7. 按一下 [Cancel] (取消)。您必須「先」建立 AWS 角色,才能新增 AWS 帳戶。

建立 AWS 角色

如要建立授權 Stackdriver 所需的 AWS 角色,您必須為工作區備妥帳戶 ID外部 ID。如果您尚未備妥這些資料,請按照取得帳戶和外部 ID 中的指示操作。

如要建立 AWS 角色,請按照以下步驟操作:

  1. 登入您的 AWS 身分與存取權管理主控台,在左側選單中按一下 [Roles] (角色)。
  2. 按一下 [Create New Role] (建立新角色) 並執行下列步驟:

    • 在「Role type」(角色類型) 中,選取 [Another AWS account] (其他 AWS 帳戶)。
    • 在「Account ID」(帳戶 ID) 欄位中,輸入 Stackdriver 提供的帳戶 ID。
    • 選取 [Require external ID] (需要外部 ID) 核取方塊。
    • 在「External ID」(外部 ID) 欄位中,輸入 Stackdriver 提供的外部 ID。
    • 請勿選取 [Require MFA] (需要 MFA)。
    • 點選 [Next: Permissions] (下一步:權限)。
  3. 從「Policy name」(政策名稱) 下拉式清單中,選取 [ReadOnlyAccess] 這個政策名稱:

    ReadOnlyAccess 政策

  4. 按一下 [Next: Review] (下一步:檢閱),填入或驗證下列資訊:

    • 在「Role name」(角色名稱) 欄位中,輸入 GoogleStackdriver 這類的名稱。
    • 在「Role description」(角色說明) 欄位中,輸入您想要用來說明的任何文字
    • 在「Trusted entities」(信任的實體) 欄位中,確認這是您稍早輸入的「帳戶 ID」
    • 在「Policies」(政策) 欄位中,確認其中的值是「ReadOnlyAccess」
  5. 在「AWS IAM」(AWS 身分與存取權管理) 頁面上,按一下 [Create Role] (建立角色)。

  6. 在「Summary 」(摘要) 頁面上,複製「Role ARN」字串,然後就能將該字串提供給 Stackdriver。如果沒看到這個頁面,請在 AWS 角色清單中按一下您的角色名稱 (例如「GoogleStackdriver」)。

連結 AWS 帳戶

如要將 AWS 帳戶新增至現有工作區,請按照下列步驟操作:

  1. 前往 Stackdriver Monitoring 主控台。

    前往 Stackdriver Monitoring 主控台

  2. 從頁面頂端的「Workspace」(工作區) 選單,選取您的「工作區」。如果您已為了本快速入門導覽課程建立新工作區,請選取該工作區。

  3. 按一下「Workspace」(工作區) 選單底部的 [Workspace Settings] (工作區設定)。

  4. 按一下「Settings」(設定) 下方的 [Monitored accounts] (監控的帳戶)。以下螢幕擷取畫面中的窗格顯示您正在監控單一 GCP 專案,即工作區的託管專案。您尚未監控任何 AWS 帳戶。

    Stackdriver 監控的帳戶

  5. 按一下 [Add AWS account] (新增 AWS 帳戶)。輸入您建立工作區時取得的「帳戶 ID」和「外部 ID」

  6. 將下列資訊輸入表單中:

    • 在「Role ARN」(角色 ARN) 欄位中,輸入您在建立 AWS 角色時取得的「角色 ARN」,或按照「Add AWS account」(新增 AWS 帳戶) 頁面中的操作說明建立角色。
    • 在「Description of account」(帳戶說明) 欄位中,輸入 AWS 帳戶的簡短說明。系統會將前一兩個字用於建立新專案 ID。

      Stackdriver 監控的帳戶

  7. 按一下 [Add AWS account] (新增 AWS 帳戶)。稍等片刻,系統會確認連結。

AWS 連接器專案

當您連結至 AWS 帳戶時,Monitoring 會為您建立 AWS 連接器專案。工作區設定中的「Monitored accounts」(監控的帳戶) 頁面現在包含此專案的 ID:

您的 AWS 帳戶說明 [YOUR_AWS_ACCOUNT_NUMBER]
已連結至 [CONNECTOR_PROJECT_ID]

其中:

  • [YOUR_AWS_ACCOUNT_NUMBER] 代表您的 AWS 帳戶號碼。
  • [CONNECTOR_PROJECT_ID] 代表連結器專案,這是您從 AWS 帳戶接收記錄與指標的位置,也是您為需要存取 GCP 的代理程式與其他 AWS 應用程式設定授權的位置。

    連接器專案的 ID 一律以 aws- 開頭,專案的名稱一律以 AWS Link 開頭。

您現在可以關閉「Workspace Settings」(工作區設定) 頁面了。

下一步授權 AWS 應用程式

疑難排解

如果您得知您的 AWS 帳戶已處於受監控狀態,請執行下列步驟:

  • 如果其他工作區正在監控您的 AWS 帳戶,您必須從工作區中移除您的 AWS 帳戶。您最多只能監控一個工作區的 AWS 帳戶。如要取消 AWS 帳戶和工作區的連結,請參閱從工作區移除專案

  • 建立 AWS 角色時,如果您沒有使用目前工作區中的正確帳戶 ID外部 ID,系統也會顯示此訊息。每個工作區的「外部 ID」皆不可重複。

授權 AWS 應用程式

如果您執行以下任一操作,則必須執行下列步驟:

  • 在 AWS VM 執行個體上執行任何 Stackdriver 代理程式。
  • 從 AWS 應用程式使用任何 GCP 服務。

如要授權讓在 AWS 上執行的應用程式能夠存取 GCP 服務,請授予權限,使這些應用程式能夠存取具有適當 GCP 身分與存取權管理角色的 GCP 服務帳戶

單一服務帳戶可以授權同一 AWS 帳戶中的多個 AWS VM 執行個體與應用程式,或者您也可以建立多個服務帳戶。

建立服務帳戶

服務帳戶是在 GCP 主控台中代管,而不是在 Stackdriver Monitoring 主控台中代管。

  1. 如要建立服務帳戶,請前往連接器專案的「IAM 與管理員」>「服務帳戶」頁面:

    前往「服務帳戶」頁面

  2. 為您的 AWS 帳戶選擇 AWS 連接器專案 (名為 AWS Link...)。

  3. 您的連接器專案可能沒有服務帳戶,因此系統會要求您建立一個服務帳戶。請按一下 [Create service account] (建立服務帳戶),並且輸入下列資訊:

    • 在「Service account name」(服務帳戶名稱) 欄位中輸入 Stackdriver agent authorization
    • 「Role」(角色) 欄位中,同時新增以下兩個值:

      • [Monitoring] (監控) > [Monitoring Metric Writer] (監控指標寫入者)
      • [Logging] (記錄) > [Logs Writer] (記錄寫入者)
    • 選取 [Furnish a new private key] (提供一組新的私密金鑰) 核取方塊。

    • 針對「Key type」(金鑰類型),按一下 [JSON]

    • 清除 [Enable G Suite Domain-wide Delegation] (啟用 G Suite 全網域委派功能) 核取方塊。

      建立服務帳戶

  4. 點選 [Create] (建立)。服務帳戶的私密金鑰檔案會以 Downloads/[PROJECT_NAME]-[KEY_ID].json 這類的名稱下載至您的工作站。

    其中:

    • [PROJECT_NAME] 是您的 GCP 專案名稱。
    • [KEY_ID] 是產生的私密金鑰。

    為了簡化以下操作說明,請將憑證檔案的位置儲存在工作站的 CREDS 變數中:

    CREDS="Downloads/[PROJECT_NAME]-[KEY_ID].json"
    

將服務帳戶新增至 VM 執行個體

將工作站上的 Stackdriver 私密金鑰憑證檔案複製到 AWS EC2 執行個體上的位置。您必須定義環境變數 GOOGLE_APPLICATION_CREDENTIALS,以保存其路徑名稱:

  1. 從您的工作站,將憑證檔案複製到您的 AWS EC2 執行個體,並儲存在名為 temp.json 的檔案中。在 scp 指令中,指定 key.pem 的路徑、您的 AWS scp 金鑰組檔案,並提供您的 AWS 憑證。

    KEY="/path/to/key.pem"
    scp -i "$KEY" "$CREDS" AWS_USERNAME@AWS_HOSTNAME:temp.json
    
  2. 在 EC2 執行個體上,將 $HOME/temp.json 移至其最終位置。下列的名稱與位置可為任意值:

    GOOGLE_APPLICATION_CREDENTIALS="/etc/google/auth/application_default_credentials.json"
    sudo mkdir -p $(dirname $GOOGLE_APPLICATION_CREDENTIALS)
    sudo mv "$HOME/temp.json" "$GOOGLE_APPLICATION_CREDENTIALS"
    
  3. (選用步驟):限制服務帳戶對於私密金鑰憑證的存取權。

    sudo chown root:root "$GOOGLE_APPLICATION_CREDENTIALS"
    sudo chmod 0400 "$GOOGLE_APPLICATION_CREDENTIALS"
    
  4. 確保授權使用 GCP 的代理程式與其他應用程式都可以看見環境變數 GOOGLE_APPLICATION_CREDENTIALS。環境變數名稱可透過標準 GCP 用戶端程式庫來瞭解。

安裝代理程式

  1. (選用步驟):在您的 EC2 執行個體上執行下列指令,安裝 Stackdriver Monitoring 與 Logging 代理程式:

    curl -sSO https://dl.google.com/cloudagents/install-monitoring-agent.sh
    sudo bash install-monitoring-agent.sh
    
    curl -sSO https://dl.google.com/cloudagents/install-logging-agent.sh
    sudo bash install-logging-agent.sh --structured
    

    --structured 標記讓記錄代理程式能夠將結構化資料傳送至 Stackdriver Logging。如需更多資訊,請參閱結構化記錄作業

  2. 驗證代理程式是否正在執行中。

    ps ax | grep fluentd
    ps ax | grep collectd
    

    您應該會看到類似以下的輸出內容:

    [PROCESS_ID] ?    Sl   0:00 /opt/google-fluentd/embedded/bin/ruby /usr/sbin/google-fluentd ...
    [PROCESS_ID] ?    Ssl  0:00 /opt/stackdriver/collectd/sbin/stackdriver-collectd ...
    

將 Stackdriver 服務與 AWS 搭配使用

本節說明如何將您的 AWS 帳戶用於 Stackdriver 服務。

建立運作時間檢查

運作時間檢查可驗證是否從全球各個位置都能存取您的網路伺服器。快訊政策可控制當運作時間檢查失敗時的通知對象。

如要建立使用運作時間檢查時的快訊政策,請執行以下步驟:

  1. 返回至 Stackdriver Monitoring 主控台。

    前往 Monioring

  2. 如果您看到「Create an Uptime Check」(建立運作時間檢查) 邀請,請按一下該邀請。如果沒有看到這則邀請,請從左側選單前往 [Uptime Checks] (運作時間檢查) > [Uptime Checks Overview] (運作時間檢查總覽),然後點選 [Add Uptime Check] (新增運作時間檢查) 或 [Create an Uptime Check] (建立運作時間檢查)

  3. 在「New Uptime Check」(新運作時間檢查) 視窗中,填入以下欄位:

    • 在「Title」(名稱) 欄位中輸入 My Uptime Check
    • 在「Check type」(檢查類型) 下拉式清單中,選擇 [HTTP]
    • 在「Resource type」(資源類型) 下拉式清單中,選擇可用的資源
    • 取決於選擇的資源類型,您可能還需填入其他額外的欄位。

      建立運作時間檢查

  4. 如要確認運作時間檢查是否正常運作,請按一下 [Test] (測試)。如果您看到「Connection error - refused」(連線錯誤 - 遭到拒絕) 的訊息,代表您並未安裝 Apache HTTP 伺服器,或者您指定的檢查類型是 HTTPS,而非 HTTP。如要瞭解其他錯誤,請參閱驗證您的運作時間檢查

  5. 按一下 [Save] (儲存)

建立快訊政策

  1. 在「Uptime Check Created」(已建立運作時間檢查) 窗格中,按一下 [Create Alerting Policy] (建立快訊政策)

    已建立運作時間檢查

  2. 在「Untitled Condition」(未命名的條件) 欄位中,輸入快訊政策條件的標題。系統會根據您建立的運作時間檢查自動填入條件窗格中的所有其他欄位。

    建立條件

  3. 按一下 [Save] (儲存)

  4. 在 [Notification Channel Type] (通知管道類型) 下拉式清單中,選取 [Email] (電子郵件)

    建立新快訊政策

  5. 輸入您的電子郵件地址,然後按一下 [Add Notification Channel] (新增通知管道)

  6. 在「Name this policy」(為此政策命名) 窗格中,輸入 My Uptime Check Policy

  7. 按一下 [Save] (儲存)。畫面上即會出現政策的摘要。

建立資訊主頁與圖表

如要在您自己的圖表與資訊主頁中顯示 Monitoring 收集的指標,請執行以下步驟:

  1. 在 Stackdriver Monitoring 主控台中,前往 [Dashboards] (資訊主頁) > [Create Dashboard] (建立資訊主頁)

    前往「建立資訊主頁」頁面

  2. 按一下右上角的 [Add Chart] (新增圖表)。

  3. 按一下 [Metric] (指標) 分頁標籤。

    新增空白圖表

  4. 在 [Find resource type and metric] (尋找資源類型與指標) 標題下方,按一下文字方塊並選擇一個 AWS 指標。

  5. 按一下 [Save] (儲存)。

  6. 在新資訊主頁中,將 Untitled Dashboard 變更為 AWS Quickstart dashboard

查看記錄

Monitoring 與 Logging 是緊密整合在一起的。

  1. Stackdriver Monitoring 主控台左側選單中,依序前往 [Logging] > [AWS Link] (AWS 連結)
  2. AWS 連接器專案的記錄檢視器保存了您的 AWS 記錄。變更記錄檢視器的焦點即可查看您想要的記錄:

    • 依序前往 [Google Project] (Google 專案) > [All project_id] (所有專案 ID),您應該會看到有關設定 AWS 連接器專案的至少一筆稽核記錄,如下圖所示:

      AWS 記錄檢視器

    • 如果您在支援的 AWS VM 執行個體上安裝了 Stackdriver Monitoring 代理程式,則可能會看見其他記錄選項。

清除所用資源

如何避免系統向您的 GCP 帳戶收取您在本快速入門中所用資源的相關費用:

  1. 移除您的 Stackdriver 圖表與快訊。在 Stackdriver Monitoring 主控台中執行以下步驟:

    1. 從「Alerting」(快訊) >「Policy Overview」(政策總覽) 中刪除您的快訊政策。
    2. 從「Alerting」(快訊) >「Uptime Checks」(運作時間檢查) 中刪除您的運作時間檢查。
    3. 從「Dashboards」(資訊主頁) >「AWS Quickstart example」(AWS 快速入門導覽課程範例) 中刪除您的圖表。
  2. 在 Stackdriver Monitoring 主控台中,前往 aws-quickstart 工作區的「Workspace Settings」(工作區設定) 頁面。在「Monitored accounts」(監控的帳戶) 區段,移除您的 AWS 帳戶。

  3. 在您的 Amazon 帳戶中,刪除您為快速入門導覽課程建立的 AWS 身分與存取權管理角色。

  4. 在 Google Cloud Platform 主控台,刪除您的 AWS 連接器專案;若您是為了快速入門導覽課程而建立該專案,則請一併刪除您的 GCP 專案「aws-quickstart」。如要刪除專案,請選取該專案,前往 [IAM & Admin] (IAM 與管理員) > [Settings] (設定),然後按一下頁面頂端的 [Delete Project] (刪除專案)。

後續步驟

  • 如要查看所有內建指標清單,請參閱支援的指標。Amazon AWS 總共有 500 個以上的指標。如要建立自己的 Monitoring 指標,請參閱自訂指標

  • 如要使用 Monitoring API,請參閱 API 參考資料

  • 如要進一步瞭解 Logging,以及 Logging 和 Monitoring 之間的關係,請參閱 Logging

本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁
Stackdriver Monitoring
需要協助嗎?請前往我們的支援網頁