get_digitalocean_droplet_monitoring
Retrieve monitoring data for DigitalOcean Droplets, enabling real-time tracking of performance and resource usage to manage cloud server operations efficiently.
Instructions
获取DigitalOcean Droplet监控信息
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| droplet_id | Yes |
Implementation Reference
- main.py:467-472 (handler)MCP tool handler and registration for get_digitalocean_droplet_monitoring. This thin wrapper delegates the execution to the DigitalOcean provider instance.@mcp.tool() def get_digitalocean_droplet_monitoring(droplet_id: int) -> Dict: """ 获取DigitalOcean Droplet监控信息 """ return digitalocean_provider.get_droplet_monitoring(droplet_id)
- Core helper function in DigitalOceanProvider class that implements the monitoring logic: checks droplet existence, monitoring feature enablement, and returns status or error.def get_droplet_monitoring(self, droplet_id: int) -> Dict: """ 获取Droplet监控信息 Args: droplet_id (int): Droplet ID Returns: Dict: 监控信息或错误信息 """ if not self.available: return { 'error': f'DigitalOcean服务不可用: {getattr(self, "error", "未知错误")}', 'provider': 'digitalocean' } try: # 先检查droplet是否存在和是否启用了监控 droplet_response = self.client.droplets.get(droplet_id) droplet = droplet_response.get("droplet", {}) if not droplet: return { 'error': f'未找到ID为 {droplet_id} 的Droplet', 'provider': 'digitalocean' } features = droplet.get("features", []) monitoring_enabled = "monitoring" in features if not monitoring_enabled: return { 'provider': 'digitalocean', 'droplet_id': droplet_id, 'monitoring_enabled': False, 'message': '此Droplet未启用监控功能。请在DigitalOcean控制面板中启用监控功能后重试。' } # 获取监控数据(简化版本) return { 'provider': 'digitalocean', 'droplet_id': droplet_id, 'monitoring_enabled': True, 'message': '监控功能已启用,具体数据需要通过DigitalOcean API获取' } except Exception as e: return { 'error': f'获取Droplet监控信息时发生错误: {str(e)}', 'provider': 'digitalocean' }