Merge branch 'main' of http://192.168.0.229:3180/OMC/ems_backend
This commit is contained in:
@@ -1,7 +1,6 @@
|
||||
package monitor
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"net/http"
|
||||
"sort"
|
||||
"strings"
|
||||
@@ -42,21 +41,21 @@ var (
|
||||
|
||||
// IPAddr IP地址
|
||||
func IPAddr(w http.ResponseWriter, r *http.Request) {
|
||||
ipAddrs := make(map[string]string)
|
||||
ipAddrs := []map[string]string{}
|
||||
interfaces, err := net.Interfaces()
|
||||
if err == nil {
|
||||
for _, iface := range interfaces {
|
||||
var addrs []string
|
||||
addrs := map[string]string{}
|
||||
for _, v := range iface.Addrs {
|
||||
prefix := strings.Split(v.Addr, "/")[0]
|
||||
if strings.Contains(prefix, "::") {
|
||||
addrs = append(addrs, fmt.Sprintf("IPv6 %s", prefix))
|
||||
addrs["IPv6"] = prefix
|
||||
}
|
||||
if strings.Contains(prefix, ".") {
|
||||
addrs = append(addrs, fmt.Sprintf("IPv4 %s", prefix))
|
||||
addrs["IPv4"] = prefix
|
||||
}
|
||||
}
|
||||
ipAddrs[iface.Name] = strings.Join(addrs, " / ")
|
||||
ipAddrs = append(ipAddrs, addrs)
|
||||
}
|
||||
}
|
||||
services.ResponseWithJson(w, 200, ipAddrs)
|
||||
|
||||
@@ -1,7 +1,10 @@
|
||||
package psnet
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"net"
|
||||
"net/http"
|
||||
"time"
|
||||
|
||||
"ems.agt/lib/log"
|
||||
"ems.agt/lib/services"
|
||||
@@ -16,6 +19,9 @@ var (
|
||||
UriWs = config.DefaultUriPrefix + "/monitor/{apiVersion}/psnet/ws"
|
||||
// 停止进程
|
||||
UriStop = config.DefaultUriPrefix + "/monitor/{apiVersion}/psnet/stop"
|
||||
|
||||
// 检查ip端口请求
|
||||
UriPing = config.DefaultUriPrefix + "/monitor/{apiVersion}/psnet/ping"
|
||||
)
|
||||
|
||||
// 进程管理
|
||||
@@ -60,3 +66,27 @@ func StopProcess(w http.ResponseWriter, r *http.Request) {
|
||||
}
|
||||
services.ResponseStatusOK200Null(w)
|
||||
}
|
||||
|
||||
// 检查ip端口请求
|
||||
func Ping(w http.ResponseWriter, r *http.Request) {
|
||||
// json 請求參數獲取
|
||||
var bodyArgs struct {
|
||||
Host string `json:"host" validate:"required"`
|
||||
Port string `json:"port" validate:"required"`
|
||||
}
|
||||
err := services.ShouldBindJSON(r, &bodyArgs)
|
||||
if err != nil {
|
||||
log.Error("io.ReadAll is failed:", err)
|
||||
services.ResponseErrorWithJson(w, 400, err.Error())
|
||||
return
|
||||
}
|
||||
|
||||
conn, err := net.DialTimeout("tcp", fmt.Sprintf("%s:%s", bodyArgs.Host, bodyArgs.Port), 3*time.Second)
|
||||
if err != nil {
|
||||
services.ResponseErrorWithJson(w, 400, err.Error())
|
||||
return
|
||||
}
|
||||
defer conn.Close()
|
||||
services.ResponseStatusOK200Null(w)
|
||||
|
||||
}
|
||||
|
||||
@@ -223,6 +223,7 @@ func init() {
|
||||
// 进程网络
|
||||
Register("GET", psnet.UriWs, psnet.ProcessWs, nil)
|
||||
Register("POST", psnet.UriStop, psnet.StopProcess, nil)
|
||||
Register("POST", psnet.UriPing, psnet.Ping, nil)
|
||||
|
||||
// 主机CPU内存监控
|
||||
Register("POST", monitor.UriLoad, monitor.LoadMonitor, nil)
|
||||
|
||||
Reference in New Issue
Block a user