Skip to main content
Glama
RadiumGu

Alibaba Cloud Operations MCP Server

by RadiumGu

get_cpu_usage_data

Retrieve CPU usage metrics for Alibaba Cloud ECS instances to monitor performance and identify resource utilization patterns.

Instructions

获取ECS实例CPU使用率数据

Args:
    region: 区域ID,如cn-beijing
    instance_ids: ECS实例ID列表

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
regionNocn-beijing
instance_idsNo

Implementation Reference

  • Main MCP tool handler and registration for get_cpu_usage_data. Dynamically selects and calls CMS_GetCpuUsageData from cms_tools based on name matching.
    def get_cpu_usage_data(region: str = "cn-beijing", instance_ids: List[str] = None) -> str:
        """获取ECS实例CPU使用率数据
        
        Args:
            region: 区域ID,如cn-beijing
            instance_ids: ECS实例ID列表
        """
        try:
            sys.path.insert(0, os.path.join(os.path.dirname(__file__), 'alibaba_cloud_ops_mcp_server'))
            from tools import cms_tools
            
            if not instance_ids:
                instance_ids = ["示例实例ID"]
            
            for tool_func in cms_tools.tools:
                if hasattr(tool_func, '__name__') and 'cpu' in tool_func.__name__.lower() and 'usage' in tool_func.__name__.lower():
                    result = tool_func(RegionId=region, InstanceIds=instance_ids)
                    return str(result)
            
            return f"CPU使用率监控功能可用,region: {region}, 实例: {instance_ids}"
        except Exception as e:
            return f"CPU监控查询失败: {str(e)}"
  • Helper function CMS_GetCpuUsageData that wraps the core metric query for CPU usage, invoked by the main handler.
    def CMS_GetCpuUsageData(
        InstanceIds: List[str] = Field(description='AlibabaCloud ECS instance ID List'),
        RegionId: str = Field(description='AlibabaCloud region ID', default='cn-hangzhou')
    ):
        """获取ECS实例的CPU使用率数据"""
        return _get_cms_metric_data(RegionId, InstanceIds, 'cpu_total')
  • Core helper implementing the Alibaba Cloud CMS API call to fetch metric data (cpu_total for CPU usage).
    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)
        return describe_metric_last_resp.body.datapoints

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/RadiumGu/alicloud-ops-mcp'

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