Skip to main content
Glama

Cloud Manage MCP Server

by rainhan99

get_aws_instance_monitoring

Retrieve AWS EC2 instance monitoring data for specified hours to track performance and resource usage, enabling effective cloud server management.

Instructions

获取AWS EC2实例的监控数据 Args: instance_id (str): EC2实例ID hours (int): 获取过去多少小时的数据 Returns: Dict: 监控数据

Input Schema

NameRequiredDescriptionDefault
hoursNo
instance_idYes

Input Schema (JSON Schema)

{ "properties": { "hours": { "default": 1, "title": "Hours", "type": "integer" }, "instance_id": { "title": "Instance Id", "type": "string" } }, "required": [ "instance_id" ], "title": "get_aws_instance_monitoringArguments", "type": "object" }

Implementation Reference

  • main.py:354-367 (registration)
    Registration and handler function for the MCP tool 'get_aws_instance_monitoring'. This thin wrapper delegates to the AWS provider's method.
    @mcp.tool() def get_aws_instance_monitoring(instance_id: str, hours: int = 1) -> Dict: """ 获取AWS EC2实例的监控数据 Args: instance_id (str): EC2实例ID hours (int): 获取过去多少小时的数据 Returns: Dict: 监控数据 """ return aws_provider.get_instance_monitoring_data(instance_id, hours)
  • Core implementation of AWS instance monitoring data retrieval using CloudWatch API. Fetches metrics like CPUUtilization, NetworkIn/Out, Disk ops for the specified hours.
    def get_instance_monitoring_data(self, instance_id: str, hours: int = 1) -> Dict: """ 获取实例的监控数据 Args: instance_id (str): EC2实例ID hours (int): 获取过去多少小时的数据 Returns: Dict: 监控数据或错误信息 """ if not self.available: return { 'error': f'AWS服务不可用: {getattr(self, "error", "未知错误")}', 'provider': 'aws' } try: end_time = datetime.utcnow() start_time = end_time - timedelta(hours=hours) metrics = ['CPUUtilization', 'NetworkIn', 'NetworkOut', 'DiskReadOps', 'DiskWriteOps'] monitoring_data = {} for metric in metrics: try: response = self.cloudwatch.get_metric_statistics( Namespace='AWS/EC2', MetricName=metric, Dimensions=[ { 'Name': 'InstanceId', 'Value': instance_id } ], StartTime=start_time, EndTime=end_time, Period=300, # 5分钟 Statistics=['Average', 'Maximum'] ) monitoring_data[metric] = { 'datapoints': len(response['Datapoints']), 'data': response['Datapoints'] } except Exception as e: monitoring_data[metric] = { 'error': str(e), 'datapoints': 0 } return { 'provider': 'aws', 'instance_id': instance_id, 'time_range': f'{hours}小时', 'metrics': monitoring_data } except ClientError as e: return { 'error': f'AWS API调用失败: {str(e)}', 'provider': 'aws' } except Exception as e: return { 'error': f'获取监控数据时发生错误: {str(e)}', 'provider': 'aws' }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/rainhan99/cloud_manage_mcp_server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server