2 Star 0 Fork 0

mangenotwork/commander

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
host.go 8.72 KB
一键复制 编辑 原始数据 按行查看 历史
mangenotwork 提交于 2022-11-14 17:55 . .
package entity
// HostInfo host信息
type HostInfo struct {
SlaveVersion string `json:"slave_version"`
// salve的ip地址
Slave string `json:"ip"`
//是否在线
SlaveOnline string `json:"online"`
HostName string `json:"host_name"`
//系统平台
SysType string `json:"sys_type"`
//系统版本 os_name+版号
OsName string `json:"os_name"`
OsNum string `json:"os_num"`
//系统架构
SysArchitecture string `json:"sys_architecture"`
//CPU核心数
CpuCoreNumber string `json:"cpu_core_number"`
//CPU name
CpuName string `json:"cpu_name"`
//CPU ID
CpuID string `json:"cpu_id"`
//主板ID
BaseBoardID string `json:"board_id"`
//内存总大小 MB
MemTotal string `json:"mem_totle"`
//磁盘信息
Disk []*DiskInfo `json:"disk"`
//磁盘总大小 MB
DiskTotal string `json:"disk_totle"`
// 当前CPU使用率
NowCPURate string `json:"now_cpu_rate"`
// 当前内存使用率
NowMEMRate string `json:"now_mem_rate"`
// 是否安装Docker
HasDocker string `json:"has_docker"`
// docker 版本
DockerVersion string `json:"docker_version"`
}
// DiskInfo 磁盘信息
type DiskInfo struct {
DiskName string
DistType string
DistTotalMB string
DistUse *DiskUseInfo
}
// DiskUseInfo 磁盘使用的信息
type DiskUseInfo struct {
Total int //MB
Free int //MB
Rate float32 //%
}
// MemInfo 内存信息
type MemInfo struct {
//所有可用RAM大小 (即物理内存减去一些预留位和内核的二进制代码大小)
MemTotal int64 `json:"mem_total"`
//内存使用
MemUsed int64 `json:"mem_used"`
//LowFree与HighFree的总和,被系统留着未使用的内存
MemFree int64 `json:"mem_free"`
//用来给文件做缓冲大小
MemBuffers int64 `json:"mem_buffers"`
//被高速缓冲存储器(cache memory)用的内存的大小(等于diskcache minus SwapCache ).
MemCached int64 `json:"mem_cached"`
}
// NetWorkIO 网络IO
// 单位 (kb/sec)
type NetWorkIO struct {
Name string
Tx float32 //发送
Rx float32 //接收
}
// ProcMemInfo 从 proc/meminfo 获取内存信息
type ProcMemInfo struct {
//所有可用RAM大小 (即物理内存减去一些预留位和内核的二进制代码大小)
MemTotal int64 `json:"mem_total"`
//内存使用
MemUsed int64 `json:"mem_used"`
//LowFree与HighFree的总和,被系统留着未使用的内存
MemFree int64 `json:"mem_free"`
//用来给文件做缓冲大小
MemBuffers int64 `json:"mem_buffers"`
//被高速缓冲存储器(cache memory)用的内存的大小(等于diskcache minus SwapCache ).
MemCached int64 `json:"mem_cached"`
}
// CPUUseRate cpu使用率
type CPUUseRate struct {
CPU string
UseRate float32
}
// SlavePerformance 心跳包上传健康信息
type SlavePerformance struct {
// CPU使用率
CPU *CPUUseRate
CPUCore []*CPUUseRate
// 内存使用率
MEM *ProcMemInfo
// 磁盘使用率
Disk []*DiskInfo
// 网络IO
NetWork []*NetWorkIO
// 连接数
ConnectNum int
TimeStamp string
}
// ProcessBaseInfo 进程基本信息
// 是兼容性的结构体 兼容了linux 和 windows
type ProcessBaseInfo struct {
PID string `json:"pid"`
User string `json:"user"`
PName string `json:"pname"`
PPID string `json:"ppid"` //父进程
C string
Stime string
TTY string `json:"tty"`
Time string
CMD string `json:"cmd"` //执行命令
}
// FileInfo 文件信息
type FileInfo struct {
Name string
Size int64
Mode int // 文件模式位
ModTime string // 修改时间
IsDir bool // 是否目录
Sys interface{} // 基础数据源(可以返回nil)
}
// ProcessArg 执行进程的参数
type ProcessArg struct {
Name string
Type int // 1:宿主机上的命令 2:可执行的二进制
TaskId string
Cmd string
Arg []string
}
// PortInfo 端口信息
type PortInfo struct {
ProtoType string
LocalAddress string
ForeignAddress string
State string
PID string
PName string
}
// ProcessKillArg 关闭進程的參數
type ProcessKillArg struct {
PID string
Value string
}
// ProcessInfo 进程信息
type ProcessInfo struct {
PCPU float64
Cmd string
Environ []string
StatusTxt string // 状态描述
}
// MonitorRule 监控规则
type MonitorRule struct {
Slave string
MaxCPU int // 允许最大cpu使用率,超过则报警
MaxMem int // 允许最大内存使用率,超过则报警
MaxDisk int // 允许最大磁盘使用率,超过则报警
MaxTx int // 允许最大网络TX,超过则报警
MaxRx int // 允许最大网络RX,超过则报警
MaxConnectNum int // 允许最大网络连接数,超过则报警
}
// 监控规则 默认值, 没有设置则取默认值
var (
MonitorRuleMaxCPUDefault int = 30
MonitorRuleMaxMemDefault int = 60
MonitorRuleMaxDiskDefault int = 60
MonitorRuleMaxTxDefault int = 10
MonitorRuleMaxRxDefault int = 10
MonitorRuleMaxConnectNumDefault int = 100
)
// Alarm 报警
type Alarm struct {
ID string
Slave string
Date string
Note string
Lv string
}
// SlaveHostsRse hosts文件
type SlaveHostsRse struct {
Data string
}
// SlaveHostsArg 修改hosts文件
type SlaveHostsArg struct {
TaskId string
Data string
}
// EnvDeployedCheckArg 判断是否安装这些软件
type EnvDeployedCheckArg struct {
Software []string // 软件名支持多个 如: docker;nginx;
}
// EnvDeployedCheckRse
type EnvDeployedCheckRse struct {
SoftwareCheck []*SoftwareDeployedCheck
}
// SoftwareDeployedCheck
type SoftwareDeployedCheck struct {
Software string
IsHave bool
Info string
}
// InstallDockerRse 安装docker 返回信息
type InstallDockerRse struct {
Rse string
}
// RemoveDockerRse 卸载docker 返回信息
type RemoveDockerRse struct {
Rse string
}
// InstallNginxRse 安装nginx 返回信息
type InstallNginxRse struct {
Rse string
}
// RemoveNginxRse 卸载nginx 返回信息
type RemoveNginxRse struct {
Rse string
}
// ProxyHttpCreateArg 部署一个http/s代理
type ProxyHttpCreateArg struct {
Name string
Slave string
Port string
Note string
TaskId string
}
// ProxyHttpCreateRse
type ProxyHttpCreateRse struct {
Name string
Slave string
Port string
Note string
TaskId string
Error string
Rse string
}
// HttpsProxy http/s 代理数据结构
type HttpsProxy struct {
Name string
Slave string
Port string
Create string
IsClose string // 是否关闭 0 否 1 是
Note string // 备注
IsDel string // 是否删除 0 否 1 是
}
// ProxyHttpUpdateArg http/s 代理修改
type ProxyHttpUpdateArg struct {
Name string // 代理名称
UpdateType string // 修改的字段名
Vlaue string // 修改的值
TaskId string
}
// ProxyHttpUpdateRse
type ProxyHttpUpdateRse struct {
Name string // 代理名称
Rse string // 修改结果
TaskId string
}
// Socket5Proxy socket5 代理数据结构
type Socket5Proxy struct {
Name string
Slave string
Port string
Create string
IsClose string // 是否关闭 0 否 1 是
Note string // 备注
IsDel string // 是否删除 0 否 1 是
}
// Socket5ProxyCreateArg
type Socket5ProxyCreateArg struct {
Name string
Slave string
Port string
Note string
TaskId string
}
// Socket5ProxyCreateRse
type Socket5ProxyCreateRse struct {
Name string
Slave string
Port string
Note string
TaskId string
Error string
Rse string
}
// ProxySocket5UpdateArg http/s 代理修改
type ProxySocket5UpdateArg struct {
Name string // 代理名称
UpdateType string // 修改的字段名
Vlaue string // 修改的值
TaskId string
}
// ProxySocket5UpdateRse
type ProxySocket5UpdateRse struct {
Name string // 代理名称
Rse string // 修改结果
TaskId string
}
// TCPForward tcpforward tcp网络转发
type TCPForward struct {
Name string
Slave string
Port string
Create string
Note string
ForwardTable []string // 转发表
IsClose string // 是否关闭 0 否 1 是
IsDel string // 是否删除 0 否 1 是
}
// TCPForwardCreateArg tcp 转发 参数
type TCPForwardCreateArg struct {
Name string
Slave string
Port string
Note string
ForwardTable []string // 转发表
TaskId string
}
// TCPForwardCreateRse tcp 转发 参数
type TCPForwardCreateRse struct {
Name string
Slave string
Port string
Note string
ForwardTable []string // 转发表
TaskId string
Error string
Rse string
}
// TCPForwardUpdateArg tcp 转发修改
type TCPForwardUpdateArg struct {
Name string // 转发名称
UpdateType string // 修改的字段名
Vlaue string // 修改的值
TaskId string
}
// TCPForwardUpdateRse
type TCPForwardUpdateRse struct {
Name string // 代理名称
Rse string // 修改结果
TaskId string
}
// GetSlavePathInfoArg 获取slave指定路径的目录结构与文件
type GetSlavePathInfoArg struct {
Path string
TaskId string
}
// GetSlavePathInfoRse
type GetSlavePathInfoRse struct {
Error string
Rse string
TaskId string
FileStructure []*FileStructure
}
// FileStructure
type FileStructure struct {
FileName string
IsDir bool
IsEdit bool
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/mangenotework/commander.git
git@gitee.com:mangenotework/commander.git
mangenotework
commander
commander
5893fcd6005c

搜索帮助