🚧 Advanced stats
This commit is contained in:
parent
a417cb9238
commit
9425c0e213
@ -0,0 +1 @@
|
||||
{"username":"admin","email":null,"roles":["admin"],"password":"$2a$10$lfghA6B2SUzivNp.NXkKD.um81qOFwzaNm.R/rCiAWSm3cmw5H72y","initial":true}
|
||||
@ -2,8 +2,10 @@ package dev.dinauer.monitoring;
|
||||
|
||||
import dev.dinauer.ProcessRunner;
|
||||
import dev.dinauer.monitoring.nodes.NodeStats;
|
||||
import dev.dinauer.service.PodService;
|
||||
import dev.dinauer.utils.ClientProvider;
|
||||
import io.fabric8.kubernetes.api.model.Node;
|
||||
import io.fabric8.kubernetes.api.model.Pod;
|
||||
import jakarta.enterprise.context.ApplicationScoped;
|
||||
import jakarta.inject.Inject;
|
||||
|
||||
@ -18,6 +20,8 @@ public class TopNodesService
|
||||
|
||||
@Inject
|
||||
ProcessRunner processRunner;
|
||||
@Inject
|
||||
PodService podService;
|
||||
|
||||
public List<NodeStats> findAll()
|
||||
{
|
||||
@ -37,12 +41,26 @@ public class TopNodesService
|
||||
Integer relativeCpu = extractInteger(parts[2]);
|
||||
Integer absoluteMemory = extractMemory(parts[3]);
|
||||
Integer relativeMemory = extractInteger(parts[4]);
|
||||
result.add(new NodeStats(node, absoluteCpu, relativeCpu, Integer.parseInt(node.getStatus().getAllocatable().get("cpu").getAmount()) * 1000, absoluteMemory, relativeMemory, extractMemory(node.getStatus().getAllocatable().get("memory").getAmount())));
|
||||
result.add(new NodeStats(node, absoluteCpu, relativeCpu, Integer.parseInt(node.getStatus().getAllocatable().get("cpu").getAmount()) * 1000, absoluteMemory, relativeMemory, extractMemory(node.getStatus().getAllocatable().get("memory").getAmount()), countPods(node.getMetadata().getName())));
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
private int countPods(String nodeName)
|
||||
{
|
||||
List<Pod> pods = podService.findAll();
|
||||
int count = 0;
|
||||
for (Pod pod : pods)
|
||||
{
|
||||
if (pod.getSpec().getNodeName().equals(nodeName))
|
||||
{
|
||||
count++;
|
||||
}
|
||||
}
|
||||
return count;
|
||||
}
|
||||
|
||||
private List<String> runTopNodesCommand()
|
||||
{
|
||||
String command = String.format("kubectl --kubeconfig=%s top nodes --no-headers", clientProvider.pathToKubeconfig());
|
||||
|
||||
@ -2,6 +2,6 @@ package dev.dinauer.monitoring.nodes;
|
||||
|
||||
import io.fabric8.kubernetes.api.model.Node;
|
||||
|
||||
public record NodeStats(Node node, Integer absoluteCpuUsage, Integer relativeCpuUsage, Integer totalCpu, Integer absoluteMemory, Integer relativeMemory, Integer totalMemory)
|
||||
public record NodeStats(Node node, Integer absoluteCpuUsage, Integer relativeCpuUsage, Integer totalCpu, Integer absoluteMemory, Integer relativeMemory, Integer totalMemory, Integer runningPods)
|
||||
{
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user