Windows

Amazon CloudWatch 代理在 Windows 上崩潰並重新啟動

  • January 8, 2019

在 Windows 上安裝 Amazon CloudWatch 代理並啟動服務後,它反复崩潰並重新啟動。

在 Windows 事件日誌中,崩潰時會發生以下事件:

事件 ID 7031

錯誤

Amazon CloudWatch 代理服務意外終止。它已經這樣做了 X 次。

和:

事件 ID 7039

警告

啟動 Amazon CloudWatch 代理服務時連接的服務控制管理器啟動的服務程序以外的服務程序。服務控制管理器啟動程序 XXX 並改為連接程序 XXX。

amazon-cloudwatch-agent.log文件中,最後一個錯誤是:

ec2tagger:無法初始化 EC2 實例標籤:+NoCredentialProviders:鏈中沒有有效的提供者。

如果您沒有將 IAM 角色附加到授予其將指標寫入 CloudWatch 以及與 EC2 和 Systems Manager 通信的權限的實例,則可能會發生此行為。

IAM角色的創建可以如下完成:

  1. 登錄 AWS 管理控制台並在 https://console.aws.amazon.com/iam/打開 IAM 控制台。
  2. 在左側導航窗格中,選擇角色、創建角色。
  3. 對於選擇將使用此角色的服務,選擇 EC2 允許 EC2 實例代表您呼叫 AWS 服務。選擇下一步:權限。
  4. 在策略列表中,選中 CloudWatchAgentServerPolicy 旁邊的複選框。如有必要,使用搜尋框查找策略。
  5. 要使用 SSM 安裝或配置 CloudWatch 代理,請選中 AmazonEC2RoleforSSM 旁邊的複選框。如有必要,使用搜尋框查找策略。如果您僅通過命令行啟動和配置代理,則不需要此策略。
  6. 選擇下一步:查看。
  7. 確認 CloudWatchAgentServerPolicy 和可選的 AmazonEC2RoleforSSM 出現在 Policies 旁邊。在角色名稱中,鍵入角色的名稱,例如 CloudWatchAgentServerRole。(可選)對其進行描述,然後選擇創建角色。

角色現已創建。

來源: https ://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/create-iam-roles-for-cloudwatch-agent.html

創建 IAM 角色後,您應該在啟動時將其附加到您的 EC2 實例,或者通過右鍵點擊 EC2 中的實例並選擇實例設置 > 附加/替換 IAM 角色。

引用自:https://serverfault.com/questions/948058