⚡️ fix Agent 重复取进程数
This commit is contained in:
		
							parent
							
								
									88b904b013
								
							
						
					
					
						commit
						0fde19d290
					
				@ -79,7 +79,6 @@ func main() {
 | 
				
			|||||||
	flag.StringVar(&server, "s", "localhost:5555", "管理面板RPC端口")
 | 
						flag.StringVar(&server, "s", "localhost:5555", "管理面板RPC端口")
 | 
				
			||||||
	flag.StringVar(&clientSecret, "p", "", "Agent连接Secret")
 | 
						flag.StringVar(&clientSecret, "p", "", "Agent连接Secret")
 | 
				
			||||||
	flag.BoolVar(&stateConf.SkipConnectionCount, "kconn", false, "不监控连接数")
 | 
						flag.BoolVar(&stateConf.SkipConnectionCount, "kconn", false, "不监控连接数")
 | 
				
			||||||
	flag.BoolVar(&stateConf.SkipProcessCount, "kprocess", false, "不监控进程数")
 | 
					 | 
				
			||||||
	flag.Parse()
 | 
						flag.Parse()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if server == "" || clientSecret == "" {
 | 
						if server == "" || clientSecret == "" {
 | 
				
			||||||
@ -323,6 +322,7 @@ func handleCommandTask(task *pb.Task, result *pb.TaskResult) {
 | 
				
			|||||||
	} else {
 | 
						} else {
 | 
				
			||||||
		cmd = exec.Command("sh", "-c", task.GetData())
 | 
							cmd = exec.Command("sh", "-c", task.GetData())
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
						cmd.Env = os.Environ()
 | 
				
			||||||
	pg.AddProcess(cmd)
 | 
						pg.AddProcess(cmd)
 | 
				
			||||||
	go func() {
 | 
						go func() {
 | 
				
			||||||
		select {
 | 
							select {
 | 
				
			||||||
 | 
				
			|||||||
@ -15,7 +15,6 @@ import (
 | 
				
			|||||||
	"github.com/shirou/gopsutil/v3/load"
 | 
						"github.com/shirou/gopsutil/v3/load"
 | 
				
			||||||
	"github.com/shirou/gopsutil/v3/mem"
 | 
						"github.com/shirou/gopsutil/v3/mem"
 | 
				
			||||||
	"github.com/shirou/gopsutil/v3/net"
 | 
						"github.com/shirou/gopsutil/v3/net"
 | 
				
			||||||
	"github.com/shirou/gopsutil/v3/process"
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
	"github.com/naiba/nezha/model"
 | 
						"github.com/naiba/nezha/model"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
@ -114,23 +113,6 @@ func GetState(conf GetStateConfig) *model.HostState {
 | 
				
			|||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	var processCount uint64
 | 
					 | 
				
			||||||
	if !conf.SkipProcessCount {
 | 
					 | 
				
			||||||
		ps, _ := process.Pids()
 | 
					 | 
				
			||||||
		processCount = uint64(len(ps))
 | 
					 | 
				
			||||||
		// log.Println("pids", len(ps), err)
 | 
					 | 
				
			||||||
		// var threads uint64
 | 
					 | 
				
			||||||
		// for i := 0; i < len(ps); i++ {
 | 
					 | 
				
			||||||
		// 	p, err := process.NewProcess(ps[i])
 | 
					 | 
				
			||||||
		// 	if err != nil {
 | 
					 | 
				
			||||||
		// 		continue
 | 
					 | 
				
			||||||
		// 	}
 | 
					 | 
				
			||||||
		// 	c, _ := p.NumThreads()
 | 
					 | 
				
			||||||
		// 	threads += uint64(c)
 | 
					 | 
				
			||||||
		// }
 | 
					 | 
				
			||||||
		// log.Println("threads", threads)
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	return &model.HostState{
 | 
						return &model.HostState{
 | 
				
			||||||
		CPU:            cpuPercent,
 | 
							CPU:            cpuPercent,
 | 
				
			||||||
		MemUsed:        mv.Total - mv.Available,
 | 
							MemUsed:        mv.Total - mv.Available,
 | 
				
			||||||
@ -146,7 +128,7 @@ func GetState(conf GetStateConfig) *model.HostState {
 | 
				
			|||||||
		Load15:         loadStat.Load15,
 | 
							Load15:         loadStat.Load15,
 | 
				
			||||||
		TcpConnCount:   tcpConnCount,
 | 
							TcpConnCount:   tcpConnCount,
 | 
				
			||||||
		UdpConnCount:   udpConnCount,
 | 
							UdpConnCount:   udpConnCount,
 | 
				
			||||||
		ProcessCount:   processCount,
 | 
							ProcessCount:   hi.Procs,
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -1,10 +0,0 @@
 | 
				
			|||||||
#!/bin/sh
 | 
					 | 
				
			||||||
set -x
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
ME=`whoami`
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
ping example.com -c20 && \
 | 
					 | 
				
			||||||
    echo "==== $ME ====" && \
 | 
					 | 
				
			||||||
    ping example.net -c20 && \
 | 
					 | 
				
			||||||
    echo $1 && \
 | 
					 | 
				
			||||||
    echo "==== done! ===="
 | 
					 | 
				
			||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user