IP地址
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
// 文件资源
|
||||
|
||||
Reference in New Issue
Block a user