GetCpuLoadavgData
Monitor CPU load average data for Alibaba Cloud ECS instances, enabling efficient resource management and performance analysis using specified region and instance IDs.
Instructions
获取CPU一分钟平均负载指标数据
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_GetCpuLoadavgData tool. It uses Pydantic Fields for input schema validation and calls the helper to fetch CPU 1min load average metric data from Alibaba Cloud CMS for specified ECS instances in a region.@tools.append def CMS_GetCpuLoadavgData( InstanceIds: List[str] = Field(description='AlibabaCloud ECS instance ID List'), RegionId: str = Field(description='AlibabaCloud region ID', default='cn-hangzhou') ): """获取CPU一分钟平均负载指标数据""" return _get_cms_metric_data(RegionId, InstanceIds, 'load_1m')
- Helper function shared among CMS metric tools to query the last datapoint for a given metric (e.g., 'load_1m' for CPU load avg) across multiple ECS instances using Alibaba Cloud CMS API.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
- src/alibaba_cloud_ops_mcp_server/server.py:84-85 (registration)Registration of all CMS tools (including CMS_GetCpuLoadavgData) by iterating over cms_tools.tools list and calling mcp.tool(tool) on the FastMCP server instance.for tool in cms_tools.tools: mcp.tool(tool)
- Helper to create Alibaba Cloud CMS client configured for the metrics endpoint in the specified region.def create_client(region_id: str) -> cms20190101Client: config = create_config() config.endpoint = f'metrics.{region_id}.aliyuncs.com' return cms20190101Client(config)