This commit is contained in:
TsMask
2023-08-18 09:38:07 +08:00
parent cffafecbf8
commit c9a39a348b
2 changed files with 30 additions and 0 deletions

View File

@@ -1,8 +1,10 @@
package monitor
import (
"fmt"
"net/http"
"sort"
"strings"
"time"
"ems.agt/lib/dborm"
@@ -19,6 +21,8 @@ import (
// 监控数据默认保存30天可以自行修改也可手动清理该日志。
var (
// IP地址
UriIPAddr = config.DefaultUriPrefix + "/monitor/{apiVersion}/monitor/ipaddr"
// 可选网络
UriNetOpt = config.DefaultUriPrefix + "/monitor/{apiVersion}/monitor/netoptions"
// 可选磁盘
@@ -26,6 +30,9 @@ var (
// 加载
UriLoad = config.DefaultUriPrefix + "/monitor/{apiVersion}/monitor/load"
// IP地址
UriIPAddrOAM = config.UriPrefix + "/monitor/{apiVersion}/monitor/ipaddr"
// 可选网络
UriNetOptOAM = config.UriPrefix + "/monitor/{apiVersion}/monitor/netoptions"
// 可选磁盘
UriIoOptOAM = config.UriPrefix + "/monitor/{apiVersion}/monitor/iooptions"
@@ -33,6 +40,28 @@ var (
UriLoadOAM = config.UriPrefix + "/monitor/{apiVersion}/monitor/load"
)
// IPAddr IP地址
func IPAddr(w http.ResponseWriter, r *http.Request) {
ipAddrs := make(map[string]string)
interfaces, err := net.Interfaces()
if err == nil {
for _, iface := range interfaces {
var addrs []string
for _, v := range iface.Addrs {
prefix := strings.Split(v.Addr, "/")[0]
if strings.Contains(prefix, "::") {
addrs = append(addrs, fmt.Sprintf("IPv6 %s", prefix))
}
if strings.Contains(prefix, ".") {
addrs = append(addrs, fmt.Sprintf("IPv4 %s", prefix))
}
}
ipAddrs[iface.Name] = strings.Join(addrs, " / ")
}
}
services.ResponseWithJson(w, 200, ipAddrs)
}
// Netoptions 可选网络
func Netoptions(w http.ResponseWriter, r *http.Request) {
netStat, _ := net.IOCounters(true)

View File

@@ -227,6 +227,7 @@ func init() {
// 主机CPU内存监控
Register("POST", monitor.UriLoad, monitor.LoadMonitor, nil)
Register("GET", monitor.UriNetOpt, monitor.Netoptions, nil)
Register("GET", monitor.UriIPAddr, monitor.IPAddr, nil)
Register("GET", monitor.UriIoOpt, monitor.Iooptions, nil)
// 文件资源