【问题标题】:python boto3 ec2 describe-instance-status check email [closed]python boto3 ec2 describe-instance-status 检查电子邮件 [关闭]
【发布时间】:2022-01-16 09:38:42
【问题描述】:

我正在尝试了解如何获取有关我的所有 EC2 实例的以下信息:

  • 实例名称
  • 实例ID
  • 系统状态检查
  • 实例状态检查

如果系统或实例状态检查不正常或失败,则发送电子邮件。

有什么想法吗?

我只得到了以下内容:

import boto3

for status in ec2.meta.client.describe_instance_status()['InstanceStatuses']:
    print(status)

但是这个信息太多了。

【问题讨论】:

    标签: python amazon-web-services amazon-ec2 boto3


    【解决方案1】:

    您可以从响应对象中提取单个数据元素:

    import boto3
    
    ec2_client = boto3.client('ec2')
    
    response = ec2_client.describe_instance_status()
    
    for instance in response['InstanceStatuses']:
      instance_id = instance['InstanceId']
      system_status = instance['SystemStatus']
      instance_status = instance['InstanceStatus']
    

    此调用中未提供实例的Name。它存储为标签,其中Key='Name'Value 是实例的名称。您需要致电describe_instances() 获取标签信息。

    发送电子邮件通知的最简单方法是:

    • 创建 Amazon Simple Notification Service (Amazon SNS) 主题
    • 使用您的电子邮件地址订阅主题
    • 添加代码以向 SNS 主题发送消息:
    sns_client = boto3.client('sns')
    
    response = client.publish(
        TopicArn='<your Topic ARN>',
        Message='string',
        Subject='string',
    )
    

    【讨论】:

    • 如何检查实例和系统检查。如果失败或不正常,则发送警报
    • 这是我到目前为止所得到的......
    • 我添加了有关通过 Amazon SNS 发送电子邮件的信息。
    猜你喜欢
    • 2022-01-17
    • 2013-04-04
    • 1970-01-01
    • 1970-01-01
    • 2019-02-25
    • 2016-03-29
    • 1970-01-01
    • 2014-06-01
    • 2017-05-09
    相关资源
    最近更新 更多