问题描述:将APM资源名称(HTTP端点)按照Pod名称(实例名称)进行分组。
代码示例:
kubectl get pods -o=custom-columns=POD:.metadata.name,IP:.status.podIP
import requests import json
apm_resource_names = ['apm_resource1', 'apm_resource2', 'apm_resource3', 'apm_resource4'] apm_resource_endpoints = []
for apm_resource in apm_resource_names: response = requests.get(f'http://{apm_resource}/healthcheck') if response.status_code == 200: apm_resource_endpoints.append({ 'name': apm_resource, 'endpoint': '/healthcheck', 'pod_name': response.json().get('pod_name') })
grouped_by_pod_name = {}
for endpoint in apm_resource_endpoints: pod_name = endpoint.get('pod_name') if pod_name in grouped_by_pod_name: grouped_by_pod_name[pod_name].append(endpoint) else: grouped_by_pod_name[pod_name] = [endpoint]
print(json.dumps(grouped_by_pod_name, indent=4))