def set_cluster_data(self): nodes = self.list_nodes() pods = self.list_pods() namespaces = self.list_namespaces() deployments = self.list_deployments() cpu_usage = 0 cpu_total = 0 mem_total = 0 mem_usage = 0 count = len(nodes) for n in nodes: # 不计算异常node数据 cpu_total = cpu_total + float(n['cpu']) cpu_usage = cpu_usage + float(n['cpu_usage']) mem_total = mem_total + float(n['mem']) mem_usage = mem_usage + float(n['mem_usage']) if n['cpu_usage'] == 0 and n['mem_usage'] == 0: count = count - 1 if count > 0: cpu_usage = cpu_usage / count mem_usage = mem_usage / count sort_restart_pod_list = quick_sort_pods(self.restart_pods) error_pods = quick_sort_pods(self.error_pods) cluster_data = ClusterData(cluster=self.cluster, token=self.token, pods=pods, nodes=nodes, namespaces=namespaces, deployments=deployments, cpu_usage=cpu_usage, cpu_total=cpu_total, mem_total=mem_total, mem_usage=mem_usage, restart_pods=sort_restart_pod_list, warn_containers=self.warn_containers, error_loki_containers=[], error_pods=error_pods) return self.redis_cli.set(self.cluster.name, json.dumps(cluster_data.__dict__))
def push_token_to_redis(self): self.token = self.cluster.get_cluster_token() cluster_data = ClusterData(cluster=self.cluster, token=self.token, pods=[], nodes=[], namespaces=[], deployments=[], cpu_usage=0, cpu_total=0, mem_total=0, mem_usage=0, restart_pods=[], warn_containers=[], error_loki_containers=[], error_pods=[]) self.redis_cli.set(self.cluster.name, json.dumps(cluster_data.__dict__)) self.get_api_instance()
def set_cluster_data(self): nodes = self.list_nodes() pods = self.list_pods() namespaces = self.list_namespaces() deployments = self.list_deployments() cluster_data = ClusterData(cluster=self.cluster, token=self.token, pods=pods, nodes=nodes, namespaces=namespaces,deployments=deployments) return self.redis_cli.set(self.cluster.name, json.dumps(cluster_data.__dict__))
def set_cluster_data(self): self.check_authorization(2) nodes = self.list_nodes() pods = self.list_pods() namespaces = self.list_namespaces() deployments = self.list_deployments() cpu_usage = 0 cpu_total = 0 mem_total = 0 mem_usage = 0 count = len(nodes) warn_nodes = [] for n in nodes: # 不计算异常node数据 cpu_total = cpu_total + float(n['cpu']) cpu_usage = cpu_usage + float(n['cpu_usage']) mem_total = mem_total + float(n['mem']) mem_usage = mem_usage + float(n['mem_usage']) if float(n['cpu_usage']) == 0 and float(n['mem_usage']) == 0: count = count - 1 elif float(n['cpu_usage']) > 0.8 or float(n['mem_usage']) > 0.8: warn_nodes.append(n) if count > 0: cpu_usage = cpu_usage / count mem_usage = mem_usage / count if len(warn_nodes) > 0: message_client = MessageClient() message = self.get_usage_message(warn_nodes) message_client.insert_message(message) sort_restart_pod_list = quick_sort_pods(self.restart_pods) error_pods = quick_sort_pods(self.error_pods) cluster_data = ClusterData(cluster=self.cluster, token=self.token, pods=pods, nodes=nodes, namespaces=namespaces, deployments=deployments, cpu_usage=cpu_usage, cpu_total=cpu_total, mem_total=mem_total, mem_usage=mem_usage, restart_pods=sort_restart_pod_list, warn_containers=self.warn_containers, error_loki_containers=[], error_pods=error_pods) return self.redis_cli.set(self.cluster.name, json.dumps(cluster_data.__dict__))