get_alibaba_instance_monitoring
Retrieve monitoring data for Alibaba Cloud ECS instances using the Cloud Manage MCP Server. Provide the instance ID to access detailed metrics and track resource usage.
Instructions
获取阿里云ECS实例监控信息
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| instance_id | Yes |
Implementation Reference
- main.py:620-625 (handler)MCP tool registration and handler function for 'get_alibaba_instance_monitoring'. This thin wrapper decorated with @mcp.tool() delegates the execution to alibaba_provider.get_instance_monitoring(instance_id).@mcp.tool() def get_alibaba_instance_monitoring(instance_id: str) -> Dict: """ 获取阿里云ECS实例监控信息 """ return alibaba_provider.get_instance_monitoring(instance_id)
- Core helper function implementing the monitoring logic in AlibabaProvider class. Verifies provider availability and instance existence using ECS DescribeInstances API, returns availability status (current implementation is a stub indicating full metrics require cloud monitor API). Called by the MCP tool handler.def get_instance_monitoring(self, instance_id: str) -> Dict: """ 获取ECS实例的监控信息 Args: instance_id (str): ECS实例ID Returns: Dict: 监控信息或错误信息 """ if not self.available: return { 'error': f'阿里云服务不可用: {getattr(self, "error", "未知错误")}', 'provider': 'alibaba' } try: # 这里简化实现,实际需要调用云监控API request = ecs_models.DescribeInstancesRequest( region_id=self.region_id, instance_ids=json.dumps([instance_id]) ) response = self.client.describe_instances(request) if not response.body.instances or not response.body.instances.instance: return { 'error': f'未找到ID为 {instance_id} 的ECS实例', 'provider': 'alibaba' } return { 'provider': 'alibaba', 'instance_id': instance_id, 'monitoring_available': True, 'message': '监控功能可用,具体数据需要通过云监控API获取' } except Exception as e: return { 'error': f'获取监控信息时发生错误: {str(e)}', 'provider': 'alibaba' }