[Agent] [Status] agent metric accomplish

This commit is contained in:
zeaslity
2023-12-21 11:39:19 +08:00
parent 8becc27472
commit 53f4f526cf
9 changed files with 246 additions and 49 deletions

56
agent-go/status/Dokcer.go Normal file
View File

@@ -0,0 +1,56 @@
package status
import (
"agent-go/utils"
"github.com/shirou/gopsutil/v3/docker"
"strings"
)
type DockerMetric struct {
DockerStats []docker.CgroupDockerStat
}
func GetDockerMetric() (*DockerMetric, error) {
dockerStats, err := docker.GetDockerStat()
if err != nil {
log.ErrorF("[GetDockerMetric] - get docker stats list error %v", err)
return nil, err
}
return &DockerMetric{
DockerStats: dockerStats,
}, nil
}
func GetDockerInfo() {
//dockerIDList, err := docker.GetDockerIDList()
//if err != nil {
// log.ErrorF("[GetDockerInfo] - get docker id list error %v", err)
//}
//utils.BeautifulPrint(dockerIDList)
dockerStats, err := docker.GetDockerStat()
if err != nil {
log.ErrorF("[GetDockerInfo] - get docker stats list error %v", err)
}
utils.BeautifulPrint(dockerStats)
for _, dockerStat := range dockerStats {
if strings.Contains(dockerStat.Name, "mysql") {
cpuDocker, _ := docker.CgroupCPUDocker(dockerStat.ContainerID)
utils.BeautifulPrint(cpuDocker)
usageDocker, _ := docker.CgroupCPUUsageDocker(dockerStat.ContainerID)
utils.BeautifulPrint(usageDocker)
mem, _ := docker.CgroupMemDocker(dockerStat.ContainerID)
utils.BeautifulPrint(mem)
}
}
}