GetMemUsageData
Retrieve memory utilization metrics for AlibabaCloud ECS instances by specifying region and instance IDs, enabling precise resource monitoring and management.
Instructions
获取内存利用率指标数据
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| InstanceIds | Yes | AlibabaCloud ECS instance ID List | |
| RegionId | No | AlibabaCloud region ID | cn-hangzhou |
Implementation Reference
- The handler function for the 'CMS_GetMemUsageData' tool, which fetches memory usage utilization data from Alibaba Cloud CMS for specified ECS instances.@tools.append def CMS_GetMemUsageData( InstanceIds: List[str] = Field(description='AlibabaCloud ECS instance ID List'), RegionId: str = Field(description='AlibabaCloud region ID', default='cn-hangzhou') ): """获取内存利用率指标数据""" return _get_cms_metric_data(RegionId, InstanceIds, 'memory_usedutilization')
- Core helper function that queries the CMS API for metric data (used by GetMemUsageData and similar tools).def _get_cms_metric_data(region_id: str, instance_ids: List[str], metric_name: str): client = create_client(region_id) dimesion = [] for instance_id in instance_ids: dimesion.append({ 'instanceId': instance_id }) describe_metric_last_request = cms_20190101_models.DescribeMetricLastRequest( namespace='acs_ecs_dashboard', metric_name=metric_name, dimensions=json.dumps(dimesion), ) describe_metric_last_resp = client.describe_metric_last(describe_metric_last_request) logger.info(f'CMS Tools response: {describe_metric_last_resp.body}') return describe_metric_last_resp.body.datapoints
- Helper function to create a configured CMS client for the specified region.def create_client(region_id: str) -> cms20190101Client: config = create_config() config.endpoint = f'metrics.{region_id}.aliyuncs.com' return cms20190101Client(config)
- src/alibaba_cloud_ops_mcp_server/tools/cms_tools.py:17-18 (registration)Initialization of the tools list where CMS_GetMemUsageData is appended via decorator.tools = []
- Pydantic Field definitions providing input schema for the tool.InstanceIds: List[str] = Field(description='AlibabaCloud ECS instance ID List'), RegionId: str = Field(description='AlibabaCloud region ID', default='cn-hangzhou')