版本封存

This commit is contained in:
zeaslity
2025-12-06 11:26:05 +08:00
parent 13949e1ba8
commit c0ae5e30c4
57 changed files with 2443 additions and 1428 deletions

View File

@@ -1,8 +1,8 @@
package services
package host_info
import (
"cmii-uav-watchdog-common/models"
"log"
"cmii-uav-watchdog-common/wdd_log"
"os"
"strings"
)
@@ -10,16 +10,12 @@ import (
// NewOSInfo 创建并返回一个 OSInfo 实例,设置默认值
func NewOSInfo() models.OSInfo {
return models.OSInfo{
Name: "unknown",
Version: "unknown",
ID: "unknown",
IDLike: "unknown",
VersionID: "unknown",
PrettyName: "unknown",
HomeURL: "unknown",
SupportURL: "unknown",
BugReportURL: "unknown",
PrivacyURL: "unknown",
Name: "unknown",
Version: "unknown",
ID: "unknown",
IDLike: "unknown",
VersionID: "unknown",
PrettyName: "unknown",
}
}
@@ -41,6 +37,14 @@ func GetSystemInfo() models.SystemInfo {
if machineID != "" {
sysInfo.MachineID = machineID
}
// 获取 machine serial
serialID := getMachineSerial()
if serialID != "" {
sysInfo.MachineSerial = serialID
}
// 获取操作系统版本
sysInfo.OS = getOSVersion()
@@ -50,12 +54,26 @@ func GetSystemInfo() models.SystemInfo {
sysInfo.KernelVersion = kernelVersion
}
// 获取节点名称
sysInfo.NodeName = "unknown"
nodeName := os.Getenv("NODE_NAME")
if nodeName != "" {
sysInfo.NodeName = nodeName
}
// 获取节点IP
sysInfo.NodeIP = "unknown"
ip := os.Getenv("NODE_IP")
if ip != "" {
sysInfo.NodeIP = ip
}
return sysInfo
}
func getOSVersion() models.OSInfo {
data, err := os.ReadFile("/etc/os-release")
if err != nil {
log.Printf("Error reading /etc/os-release: %v", err)
wdd_log.Error("读取 /etc/os-release 失败: %v", err)
return NewOSInfo() // 返回默认值
}
@@ -88,25 +106,27 @@ func getOSVersion() models.OSInfo {
osInfo.VersionID = value
case "PRETTY_NAME":
osInfo.PrettyName = value
case "HOME_URL":
osInfo.HomeURL = value
case "SUPPORT_URL":
osInfo.SupportURL = value
case "BUG_REPORT_URL":
osInfo.BugReportURL = value
case "PRIVACY_URL":
osInfo.PrivacyURL = value
}
}
return osInfo
}
// getMachineID 从 /etc/machine-id 文件中获取机器 ID
// getMachineID 从 /sys/devices/virtual/dmi/id/product_uuid 文件中获取机器 ID
func getMachineID() string {
data, err := os.ReadFile("/etc/machine-id")
data, err := os.ReadFile("/sys/devices/virtual/dmi/id/product_uuid")
if err != nil {
log.Printf("Error reading /etc/machine-id: %v", err)
wdd_log.Error("读取 /sys/devices/virtual/dmi/id/product_uuid 失败: %v", err)
return ""
}
return strings.TrimSpace(string(data)) // 去除多余空格
}
// getMachineID 从 /sys/devices/virtual/dmi/id/product_uuid 文件中获取机器 ID
func getMachineSerial() string {
data, err := os.ReadFile("/sys/devices/virtual/dmi/id/product_serial")
if err != nil {
wdd_log.Error("读取 /sys/devices/virtual/dmi/id/product_serial 失败: %v", err)
return ""
}
return strings.TrimSpace(string(data)) // 去除多余空格
@@ -116,8 +136,8 @@ func getMachineID() string {
func getKernelVersion() string {
data, err := os.ReadFile("/proc/version")
if err != nil {
log.Printf("Error reading /proc/version: %v", err)
wdd_log.Error("读取 /proc/version 失败: %v", err)
return ""
}
return string(data)
return strings.TrimSpace(string(data))
}