diff --git a/cmd/flags/flag.go b/cmd/flags/flag.go index 1d6f004..9996dfa 100644 --- a/cmd/flags/flag.go +++ b/cmd/flags/flag.go @@ -1,12 +1,13 @@ package flags var ( - DisableAutoUpdate bool - DisableWebSsh bool - Token string - Endpoint string - Interval float64 - IgnoreUnsafeCert bool - MaxRetries int - ReconnectInterval int + DisableAutoUpdate bool + DisableWebSsh bool + MemoryModeAvailable bool + Token string + Endpoint string + Interval float64 + IgnoreUnsafeCert bool + MaxRetries int + ReconnectInterval int ) diff --git a/cmd/root.go b/cmd/root.go index 911b4ff..c612b27 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -58,8 +58,9 @@ func init() { RootCmd.MarkPersistentFlagRequired("token") RootCmd.PersistentFlags().StringVarP(&flags.Endpoint, "endpoint", "e", "", "API endpoint") RootCmd.MarkPersistentFlagRequired("endpoint") - RootCmd.PersistentFlags().BoolVarP(&flags.DisableAutoUpdate, "disable-auto-update", "d", false, "Disable automatic updates") - RootCmd.PersistentFlags().BoolVarP(&flags.DisableWebSsh, "disable-web-ssh", "w", false, "Disable web SSH") + RootCmd.PersistentFlags().BoolVar(&flags.DisableAutoUpdate, "disable-auto-update", false, "Disable automatic updates") + RootCmd.PersistentFlags().BoolVar(&flags.DisableWebSsh, "disable-web-ssh", false, "Disable remote control(web ssh and rce)") + RootCmd.PersistentFlags().BoolVar(&flags.MemoryModeAvailable, "memory-mode-available", false, "Report memory as available instead of used.") RootCmd.PersistentFlags().Float64VarP(&flags.Interval, "interval", "i", 1.0, "Interval in seconds") RootCmd.PersistentFlags().BoolVarP(&flags.IgnoreUnsafeCert, "ignore-unsafe-cert", "u", false, "Ignore unsafe certificate errors") RootCmd.PersistentFlags().IntVarP(&flags.MaxRetries, "max-retries", "r", 3, "Maximum number of retries") diff --git a/monitoring/unit/mem.go b/monitoring/unit/mem.go index c744b77..e759cfe 100644 --- a/monitoring/unit/mem.go +++ b/monitoring/unit/mem.go @@ -1,6 +1,7 @@ package monitoring import ( + "github.com/komari-monitor/komari-agent/cmd/flags" "github.com/shirou/gopsutil/mem" ) @@ -15,10 +16,16 @@ func Ram() RamInfo { if err != nil { raminfo.Total = 0 raminfo.Used = 0 - } else { - raminfo.Total = v.Total - raminfo.Used = v.Used + return raminfo } + if flags.MemoryModeAvailable { + raminfo.Total = v.Total + raminfo.Used = v.Total - v.Available + return raminfo + } + raminfo.Total = v.Total + raminfo.Used = v.Used + return raminfo } func Swap() RamInfo {