MOD: agent 文件系统 rw 探测 (#465)
This commit is contained in:
parent
8bba55e441
commit
a1130b0e7c
|
@ -10,7 +10,6 @@ import (
|
||||||
"github.com/didi/nightingale/src/common/loggeri"
|
"github.com/didi/nightingale/src/common/loggeri"
|
||||||
"github.com/didi/nightingale/src/modules/agent/cache"
|
"github.com/didi/nightingale/src/modules/agent/cache"
|
||||||
"github.com/didi/nightingale/src/modules/agent/config"
|
"github.com/didi/nightingale/src/modules/agent/config"
|
||||||
"github.com/didi/nightingale/src/modules/agent/core"
|
|
||||||
"github.com/didi/nightingale/src/modules/agent/http"
|
"github.com/didi/nightingale/src/modules/agent/http"
|
||||||
"github.com/didi/nightingale/src/modules/agent/log/worker"
|
"github.com/didi/nightingale/src/modules/agent/log/worker"
|
||||||
"github.com/didi/nightingale/src/modules/agent/report"
|
"github.com/didi/nightingale/src/modules/agent/report"
|
||||||
|
@ -85,7 +84,6 @@ func main() {
|
||||||
udp.Start()
|
udp.Start()
|
||||||
}
|
}
|
||||||
|
|
||||||
core.InitRpcClients()
|
|
||||||
http.Start()
|
http.Start()
|
||||||
|
|
||||||
endingProc()
|
endingProc()
|
||||||
|
|
|
@ -12,7 +12,7 @@ type RpcClientContainer struct {
|
||||||
|
|
||||||
var rpcClients *RpcClientContainer
|
var rpcClients *RpcClientContainer
|
||||||
|
|
||||||
func InitRpcClients() {
|
func init() {
|
||||||
rpcClients = &RpcClientContainer{
|
rpcClients = &RpcClientContainer{
|
||||||
M: make(map[string]*rpc.Client),
|
M: make(map[string]*rpc.Client),
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,6 +4,7 @@ import (
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
|
"math/rand"
|
||||||
"os"
|
"os"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
"time"
|
"time"
|
||||||
|
@ -68,7 +69,7 @@ func FsRWMetrics() []*dataobj.MetricValue {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
file := filepath.Join(du.FsFile, ".fs-detect")
|
file := filepath.Join(du.FsFile, ".fs-detect."+genRandStr())
|
||||||
now := time.Now().Format("2006-01-02 15:04:05")
|
now := time.Now().Format("2006-01-02 15:04:05")
|
||||||
content := "FS-RW" + now
|
content := "FS-RW" + now
|
||||||
err = CheckFS(file, content)
|
err = CheckFS(file, content)
|
||||||
|
@ -114,3 +115,20 @@ func CheckFS(file string, content string) error {
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func genRandStr() string {
|
||||||
|
const len = 5
|
||||||
|
var letters []byte = []byte("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ")
|
||||||
|
|
||||||
|
randBytes := make([]byte, len)
|
||||||
|
if _, err := rand.Read(randBytes); err != nil {
|
||||||
|
return fmt.Sprintf("%d", rand.Int63())
|
||||||
|
}
|
||||||
|
|
||||||
|
for i := 0; i < len; i++ {
|
||||||
|
pos := randBytes[i] % 62
|
||||||
|
randBytes[i] = letters[pos]
|
||||||
|
}
|
||||||
|
|
||||||
|
return string(randBytes)
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue