约 300 字 预计阅读 1 分钟
作业
监控架构以及agent结构
tree
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
monitor
├── agent
│ ├── config.go
│ ├── config.toml
│ ├── main.go
│ ├── sched.go
│ ├── sender.go
│ ├── user.go
│ └── usr.py
├── common
│ └── model.go
├── saver
│ └── main.go
└── trans
└── main.go
|
psutil使用
cpu.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
package main
import (
"fmt"
"time"
"github.com/shirou/gopsutil/cpu"
"github.com/shirou/gopsutil/disk"
"github.com/shirou/gopsutil/load"
"github.com/shirou/gopsutil/mem"
)
func main() {
cpus, err := cpu.Percent(time.Second, true)
if err != nil {
panic(err)
}
fmt.Println(cpus)
loadavg, err := load.Avg()
if err != nil {
panic(err)
}
fmt.Println(loadavg)
memstat, err := mem.VirtualMemory()
if err != nil {
panic(err)
}
fmt.Println(memstat.UsedPercent)
fmt.Println(memstat.Used / 1024 / 1024)
diskstat, err := disk.Usage("/")
if err != nil {
panic(err)
}
fmt.Println(diskstat.UsedPercent)
}
|
数据结构和通信协议
网络模块
调度模块和网络的断线重连
总结
homework
补全调度模块
要求:
程序能正常运行