0

使用 Python boto3 库,我无法获取“ebs 卷”的 ec2 实例(无论 Linux 或 Windows 操作系统)使用情况。我无法授权在所有 ec2 实例上安装任何代理,因为它由不同的产品团队拥有。如何在不登录 EC2 实例的情况下获取此信息?如果不可能,请建议以自动方式获取此信息的更好方法。

我曾尝试使用 boto3 库使用 python 来获取详细信息,但无法找到获取附加在 EC2 实例上的 ebs 卷的已用空间的方法。

    import boto3
    if __name__ == '__main__':
        session = boto3.session.Session(profile_name="default")
        ec2 = session.resource(service_name='ec2', region_name='us-east-2')
        instance = ec2.Instance('-----------')
        volumes = instance.volumes.all()
        for v in volumes:
            print(v.id, v.size, v.state, v.kms_key_id, v.availability_zone, v.volume_type, v.encrypted, v.iops, v.snapshot_id, v.create_time)

请帮助我找出以自动化方式获取 ebs 卷使用情况的 ec2 实例指标报告,因为我有任务获取 ec2 实例的 ebs 卷大小并比较阈值,比较之后我需要触发诸如电子邮件通知之类的事件,增加大小等

4

2 回答 2

1

要获取 EBS 卷的信息,您可以使用脚本或 cloudwatch 代理进行交换。下面是脚本的例子。

./mon-get-instance-stats.pl --recent-hours=12
Instance metric statistics for the last 12 hours.
CPU Utilization
    Average: 1.06%, Minimum: 0.00%, Maximum: 15.22%
Memory Utilization
    Average: 6.84%, Minimum: 6.82%, Maximum: 6.89%
Swap Utilization
    Average: N/A, Minimum: N/A, Maximum: N/A
Disk Space Utilization on /dev/xvda1 mounted as /
    Average: 9.69%, Minimum: 9.69%, Maximum: 9.69%

下面的链接将帮助您进行相同的设置。

https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/mon-scripts.html

https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Install-CloudWatch-Agent.html

于 2019-07-11T08:05:20.100 回答
0

感谢我们在 Linux 上进行了设置,并回答了在 cloudwatch 上轻松设置自定义指标的问题。但是,我们确实很难获得 Windows EC2 实例的 %CPU Usgae、%Memory Usage 和 % DISk space usage。

请参阅以下有关堆栈溢出的问题: 为 Windows EC2 实例配置 AWS CloudWatch 代理的自定义指标 [%CPU,%Memory,%DiskSpace]

我们需要 CloudWatch 自定义指标的 config.json 文件,该文件显示 %CPU 使用率、%Memory Usage 和 %DIsk Space。

于 2019-07-26T16:11:23.077 回答