AWS提供了多种服务来监控长时间运行的资源,例如 Amazon CloudWatch,可以监控Amazon EC2实例、Amazon RDS数据库实例、AWS Lambda函数等。
以下是一个使用AWS SDK for Python(Boto3)监控EC2实例的示例代码:
import boto3
# Create CloudWatch client
cloudwatch = boto3.client('cloudwatch')
# Set up dimensions for EC2 instance
dimensions = [
{
'Name': 'InstanceId',
'Value': 'INSTANCE_ID'
},
]
# Call to AWS API to get CPUUtilization data
response = cloudwatch.get_metric_statistics(
Namespace='AWS/EC2',
MetricName='CPUUtilization',
Dimensions=dimensions,
StartTime='2022-07-01T10:00:00Z',
EndTime='2022-07-01T11:00:00Z',
Period=60,
Statistics=['Average']
)
print(response['Datapoints'])
同样,Datadog也可以监控长时间运行的资源,例如服务器。以下是一个使用Datadog Python库监控服务器CPU利用率的示例代码:
from datadog import initialize, api
options = {
'api_key': 'YOUR_API_KEY',
'app_key': 'YOUR_APP_KEY'
}
initialize(**options)
query = 'avg:system.cpu.idle{*} by {host}'
result = api.Metric.query(start='2022-07-01T10:00:00Z', end='2022-07-01T11:00:00Z', query=query)
print(result)