Documentation ¶
Index ¶
- Constants
- func Decrypt(data []byte) ([]byte, error)
- func Encrypt(data []byte) ([]byte, error)
- type AgentInfo
- type ComePayload
- type DownloadData
- type DownloadError
- type DownloadRep
- type DownloadReq
- type ExecData
- type ExecDone
- type ExecKill
- type ExecPayload
- type ExecdPayload
- type FileInfo
- type HMAgentJob
- type HMAgentStatus
- type HMChangeReportStatus
- type HMCore
- type HMDisk
- type HMDynamicConnection
- type HMDynamicInterface
- type HMDynamicPartition
- type HMDynamicProcess
- type HMDynamicRep
- type HMDynamicReq
- type HMDynamicReqType
- type HMDynamicUsage
- type HMInterface
- type HMJob
- type HMPartition
- type HMReportStatusPayload
- type HMSensorTemperature
- type HMStaticPayload
- type HMUser
- type HandshakePayload
- type IPMICommonRequest
- type IPMIDeviceInfo
- type IPMISensorCritical
- type IPMISensorInfo
- type IPMISensorList
- type IPMISensorValue
- type InstallArgs
- type InstallConfig
- type InstallRep
- type LogDownloadData
- type LogDownloadInfo
- type LogDownloadReq
- type LogFile
- type LoggingConfig
- type LoggingConfigDocker
- type LoggingConfigFile
- type LoggingConfigK8s
- type LoggingReport
- type LoggingReportAgentInfo
- type LoggingReportDockerData
- type LoggingReportFileData
- type LoggingReportInfo
- type LoggingReportK8sData
- type LoggingReportTask
- type LoggingStatusRep
- type LoggingStatusReq
- type LsLogPayload
- type LsRep
- type LsReq
- type Msg
- type PluginInfo
- type RPACtrlRep
- type RPACtrlReq
- type RPAFinish
- type RPALogData
- type RPARunArgs
- type RPASelectorRep
- type RPASelectorResult
- type RPASelectorValidateRep
- type RPASelectorValidateReq
- type SNMPItem
- type SNMPRep
- type SNMPReq
- type TypeName
- type Upload
- type UploadRep
- type WSWrap
Constants ¶
View Source
const ( InstallActionDone = iota InstallActionDownload InstallActionInstall InstallActionFile )
View Source
const ( LoggingTypeK8s = iota LoggingTypeDocker LoggingTypeFile )
View Source
const ( LoggingAlreadyRunningMsg = "project is already running" LoggingNotRunningMsg = "project is not running" )
View Source
const ( RPAPause = iota RPAStop RPAContinue )
Variables ¶
This section is empty.
Functions ¶
Types ¶
type AgentInfo ¶
type AgentInfo struct { Version string `json:"v"` // 版本号 GoVersion string `json:"gv"` // go版本号 CpuUsage float32 `json:"cu"` // cpu使用率(百分比) MemoryUsage float32 `json:"mu"` // 内存使用率(百分比) Threads int `json:"ts"` // 线程数 Routines int `json:"rs"` // 协程数 Startup int64 `json:"st"` // 启动时间戳 HeapInuse uint64 `json:"hi"` // 堆内存用量 GC map[string]float64 `json:"gc"` // gc信息 InPackets uint64 `json:"ip"` // 接收数据包数量 InBytes uint64 `json:"ib"` // 接收数据字节数 OutPackets uint64 `json:"op"` // 发送数据包数量 OutBytes uint64 `json:"ob"` // 发送数据字节数 PluginExecd uint64 `json:"pe"` // 已运行插件数 PluginRunning uint64 `json:"pr"` // 正在运行插件数量 ReconnectCount int `json:"rcc"` // 重连次数 PluginUseCount map[string]uint64 `json:"puc"` // 每个插件使用次数 PluginOutPackets map[string]uint64 `json:"pop"` // 每个插件发送数据包数量 PluginOutBytes map[string]uint64 `json:"pob"` // 每个插件发送字节数 ReadChanSize int `json:"rcs"` // 接收队列长度 WriteChanSize int `json:"wcs"` // 发送队列长度 }
type ComePayload ¶
type ComePayload struct { ID string `json:"id"` // agent-id Name string `json:"name"` Version string `json:"version"` // 版本号 IP net.IP `json:"ip"` // ip地址 MAC string `json:"mac"` // mac地址 HostName string `json:"host_name"` // 主机名 OS string `json:"os"` // 操作系统名称,windows或linux Platform string `json:"platform"` // 操作系统名称,debian、centos等 PlatformVersion string `json:"platform_version"` // 操作系统版本号,如7.7.1908 KernelVersion string `json:"kernel_version"` // 内核版本号,如3.10.0-1062.el7.x86_64 Arch string `json:"arch"` // 操作系统位数,amd64、i386等 CPU string `json:"cpu"` // CPU型号,如AMD Ryzen 7 4800U with Radeon Graphics CPUCore uint64 `json:"cpu_core"` // CPU核心数 Memory uint64 `json:"memory"` // 内存大小 }
ComePayload handshake request
type DownloadData ¶
DownloadData download data
type DownloadError ¶
type DownloadError struct {
Msg string `json:"msg"`
}
type DownloadRep ¶
type DownloadRep struct { Dir string `json:"dir"` // 文件路径 OK bool `json:"ok"` // 是否读取成功 ErrMsg string `json:"msg,omitempty"` // 错误信息 Size uint64 `json:"size"` // 文件大小 BlockSize uint64 `json:"block_size"` // 分块大小 MD5 [md5.Size]byte `json:"md5"` // 文件md5 }
DownloadRep download response
type DownloadReq ¶
type DownloadReq struct {
Dir string `json:"dir"` // 文件路径
}
DownloadReq download request
type ExecPayload ¶
type ExecPayload struct { Cmd string `json:"cmd"` // 命令路径 Args []string `json:"args,omitempty"` // 命令参数 Timeout int `json:"timeout"` // 超时时间,单位秒 Auth string `json:"auth,omitempty"` // 是否提权,su、sudo或空 User string `json:"user,omitempty"` // 提权用户 Pass string `json:"pass,omitempty"` // 提权密码 WorkDir string `json:"workdir,omitempty"` // 工作目录 Env []string `json:"env,omitempty"` // 运行时的环境变量 DeferRM string `json:"drm,omitempty"` }
ExecPayload exec payload
type ExecdPayload ¶
type ExecdPayload struct { OK bool `json:"ok"` // 是否启动成功 Msg string `json:"msg,omitempty"` // 启动失败时的详情 Pid int `json:"pid"` // 进程id Time time.Time `json:"t"` // 启动时间 }
ExecdPayload execd payload
type FileInfo ¶
type FileInfo struct { Name string `json:"name"` // 文件名称 Mod os.FileMode `json:"mod"` // 文件权限 User string `json:"user"` // 所属用户 Group string `json:"group"` // 所属组 Size uint64 `json:"size"` // 文件大小 ModTime time.Time `json:"mod_time"` // 文件修改时间 IsLink bool `json:"is_link"` // 是否是软链接 LinkDir string `json:"link_dir"` // 连接路径 }
FileInfo file info for ls
type HMAgentJob ¶
type HMAgentStatus ¶
type HMAgentStatus struct { Jobs []HMAgentJob `json:"jobs,omitempty"` // 正在执行的自动采集任务列表 Warnings uint64 `json:"warns"` // 获取数据失败次数 }
type HMChangeReportStatus ¶
type HMChangeReportStatus struct {
Jobs []string `json:"jobs,omitempty"` // 允许执行的任务列表
}
type HMCore ¶
type HMCore struct { Processor int32 `json:"processor,omitempty"` // 第几个核心 Model string `json:"model,omitempty"` // Intel(R) Xeon(R) CPU E5-2620 v2 @ 2.10GHz Core int32 `json:"core,omitempty"` // 所在物理核上的编号 Cores int32 `json:"cores,omitempty"` // 某块CPU上的编号 Physical int32 `json:"physical,omitempty"` // 物理CPU编号 Mhz utils.Float64P2 `json:"mhz,omitempty"` // CPU频率 }
type HMDynamicConnection ¶
type HMDynamicConnection struct { Fd uint32 `json:"fd,omitempty"` // 句柄号 Pid int32 `json:"pid,omitempty"` // 所属进程ID Type string `json:"type,omitempty"` // 连接类型 Local string `json:"local,omitempty"` // 本地地址 Remote string `json:"remote,omitempty"` // 远程地址 Status string `json:"status,omitempty"` // 连接状态 }
type HMDynamicInterface ¶
type HMDynamicPartition ¶
type HMDynamicPartition struct { Name string `json:"name,omitempty"` // linux为挂载路径如/run,windows为盘符如C: Used uint64 `json:"used,omitempty"` // 已使用字节数 Free uint64 `json:"free,omitempty"` // 剩余字节数 Usage utils.Float64P2 `json:"usage,omitempty"` // 磁盘使用率 InodeUsed uint64 `json:"iused,omitempty"` // inode使用数量 InodeFree uint64 `json:"ifree,omitempty"` // inode剩余数量 InodeUsage utils.Float64P2 `json:"iusage,omitempty"` // inode使用率 ReadPreSecond utils.Float64P2 `json:"rps,omitempty"` // 每秒读取字节数 WritePreSecond utils.Float64P2 `json:"wps,omitempty"` // 每秒写入字节数 IopsInProgress uint64 `json:"iip,omitempty"` // iops }
type HMDynamicProcess ¶
type HMDynamicProcess struct { ID int32 `json:"id,omitempty"` // 进程ID ParentID int32 `json:"pid,omitempty"` // 父进程ID User string `json:"user,omitempty"` // 用户 CpuUsage utils.Float64P2 `json:"cpu,omitempty"` // CPU使用率 RssMemory uint64 `json:"rss,omitempty"` // 物理内存数 VirtualMemory uint64 `json:"vms,omitempty"` // 虚拟内存数 SwapMemory uint64 `json:"swap,omitempty"` // swap内存数 MemoryUsage utils.Float64P2 `json:"mem,omitempty"` // 内存使用率 Cmd []string `json:"cmd,omitempty"` // 命令行 Listen []uint32 `json:"listen,omitempty"` // 监听端口 Connections int `json:"conns,omitempty"` // 连接数 }
type HMDynamicRep ¶
type HMDynamicRep struct { Begin time.Time `json:"begin"` // 开始采集时间 End time.Time `json:"end"` // 采集完成时间 Usage *HMDynamicUsage `json:"usage,omitempty"` // CPU Process []HMDynamicProcess `json:"process,omitempty"` // 进程 Connections []HMDynamicConnection `json:"conns,omitempty"` // 连接 SensorsTemperatures []HMSensorTemperature `json:"temps,omitempty"` // 传感器温度 }
type HMDynamicReq ¶
type HMDynamicReq struct { Req []HMDynamicReqType `json:"req"` // 请求内容 Top int `json:"top,omitempty"` // 返回进程列表数量限制 AllowConns []string `json:"aconns,omitempty"` // 允许返回的连接类型 }
type HMDynamicReqType ¶
type HMDynamicReqType int
const ( HMReqUsage HMDynamicReqType = iota HMReqProcess HMReqConnections HMReqSensorsTemperatures )
type HMDynamicUsage ¶
type HMDynamicUsage struct { Cpu struct { Usage utils.Float64P2 `json:"usage,omitempty"` // CPU使用率 Load1 utils.Float64P2 `json:"load1,omitempty"` // 1分钟负载 Load5 utils.Float64P2 `json:"load5,omitempty"` // 5分钟负载 Load15 utils.Float64P2 `json:"load15,omitempty"` // 15分钟负载 } `json:"cpu"` Memory struct { Used uint64 `json:"used,omitempty"` // 已使用字节数 Free uint64 `json:"free,omitempty"` // 剩余字节数 Available uint64 `json:"available,omitempty"` // 可用字节数 Usage utils.Float64P2 `json:"usage,omitempty"` // 内存使用率 SwapUsed uint64 `json:"sused,omitempty"` // swap已使用字节数 SwapFree uint64 `json:"sfree,omitempty"` // swap剩余字节数 } `json:"mem"` Partitions []HMDynamicPartition `json:"parts,omitempty"` // 分区 Interface []HMDynamicInterface `json:"intferface,omitempty"` // 网卡 }
type HMInterface ¶
type HMInterface struct { Index int `json:"index,omitempty"` // 网卡下标 Name string `json:"name,omitempty"` // 网卡名称 Mtu int `json:"mtu,omitempty"` // 网卡mtu Flags []string `json:"flags,omitempty"` // 网卡附加参数 Mac string `json:"mac,omitempty"` // 网卡mac地址 Address []string `json:"addrs,omitempty"` // 网卡上绑定的IP地址列表 }
type HMPartition ¶
type HMReportStatusPayload ¶
type HMSensorTemperature ¶
type HMStaticPayload ¶
type HMStaticPayload struct { Time time.Time `json:"time"` // 上报时间 Host struct { Name string `json:"name,omitempty"` // 主机名 UpTime time.Duration `json:"uptime,omitempty"` // 主机启动时长 } `json:"host,omitempty"` OS struct { Name string `json:"name,omitempty"` // linux、windows PlatformName string `json:"pname,omitempty"` // debian、centos PlatformVersion string `json:"pversion,omitempty"` // 7.7.1908 Install time.Time `json:"install,omitempty"` // 安装时间 Startup time.Time `json:"startup,omitempty"` // 启动时间 } `json:"os,omitempty"` Kernel struct { Version string `json:"version,omitempty"` // 3.10.0-1062.el7.x86_64 Arch string `json:"arch,omitempty"` // amd64、i386 } `json:"kernel,omitempty"` CPU struct { Physical int `json:"physical,omitempty"` // 物理核心数 Logical int `json:"logical,omitempty"` // 逻辑核心数 Cores []HMCore `json:"cores,omitempty"` // 每个核心的参数 } `json:"cpu,omitempty"` Memory struct { Physical uint64 `json:"physical,omitempty"` // 物理内存大小 Swap uint64 `json:"swap,omitempty"` // swap内存大小 } `json:"memory,omitempty"` Disks []HMDisk `json:"disks,omitempty"` // 物理磁盘列表 Partitions []HMPartition `json:"parts,omitempty"` // 逻辑分区列表 NameServers []string `json:"nameservers,omitempty"` // DNS服务器列表 GateWay string `json:"gateway,omitempty"` // 网关地址 Interface []HMInterface `json:"interface,omitempty"` // 网卡列表 User []HMUser `json:"user,omitempty"` // 用户列表 }
type HandshakePayload ¶
type HandshakePayload struct { OK bool `json:"ok"` // 握手是否成功 ID string `json:"id"` // 被分配的agent id Msg string `json:"msg"` // 错误信息 Redirect []string `json:"redirect,omitempty"` // 重定向地址 }
HandshakePayload handshake response
type IPMICommonRequest ¶
type IPMIDeviceInfo ¶
type IPMISensorCritical ¶
type IPMISensorInfo ¶
type IPMISensorInfo struct { ID uint16 `json:"id"` // 传感器序号 SensorID uint8 `json:"sensor_id"` // 传感器ID EntityID string `json:"entity_id"` // 实体ID Name string `json:"name"` // 传感器名称 Type string `json:"type"` // 传感器类型 Discrete bool `json:"discrete"` // 是否是离散传感器 Values *IPMISensorValue `json:"values,omitempty"` // 传感器数值 }
type IPMISensorList ¶
type IPMISensorList struct { OK bool `json:"ok"` // 是否成功 Msg string `json:"msg,omitempty"` // 错误信息 List []IPMISensorInfo `json:"list"` // 传感器列表 }
type IPMISensorValue ¶
type IPMISensorValue struct { Unit sensorUnitValue `json:"unit"` // 当前传感器的单位信息 Current utils.Float64P2 `json:"current"` // 当前数值 Lower *IPMISensorCritical `json:"lower,omitempty"` // 最低告警数值 Upper *IPMISensorCritical `json:"upper,omitempty"` // 最高告警数值 }
type InstallArgs ¶
type InstallConfig ¶
type InstallRep ¶
type LogDownloadData ¶
type LogDownloadData struct { Offset uint64 `json:"offset"` // 块偏移量 Data string `json:"data"` // 块内容 }
LogDownloadData download file data
type LogDownloadInfo ¶
type LogDownloadInfo struct { OK bool `json:"ok"` // 是否成功 ErrMsg string `json:"msg,omitempty"` // 错误信息 Size uint64 `json:"size,omitempty"` // 文件大小 BlockSize uint64 `json:"block_size,omitempty"` // 分块大小 MD5 [md5.Size]byte `json:"md5,omitempty"` // 文件md5 }
LogDownloadInfo download file info
type LogDownloadReq ¶
type LogDownloadReq struct {
Files []string `json:"files"` // 请求文件列表
}
LogDownloadReq download log request
type LogFile ¶
type LogFile struct { Name string `json:"name"` // 文件名 Size uint64 `json:"size"` // 文件大小 ModTime time.Time `json:"mod"` // 修改时间 }
LogFile log file info
type LoggingConfig ¶
type LoggingConfig struct { Pid int64 `json:"pid"` T int `json:"t"` Exclude string `json:"ext,omitempty"` Batch int `json:"b"` Buffer int `json:"bf"` Interval int `json:"itv"` Report string `json:"rp"` K8s *LoggingConfigK8s `json:"k8s,omitempty"` Docker *LoggingConfigDocker `json:"d,omitempty"` File *LoggingConfigFile `json:"f,omitempty"` }
type LoggingConfigDocker ¶
type LoggingConfigFile ¶
type LoggingConfigFile struct {
Dir string `json:"d"`
}
type LoggingConfigK8s ¶
type LoggingReport ¶
type LoggingReport struct { CountK8s uint64 `json:"ct_k8s,omitempty"` CountDocker uint64 `json:"ct_dr,omitempty"` CountFile uint64 `json:"ct_f,omitempty"` K8s LoggingReportK8sData `json:"k8s"` Docker LoggingReportDockerData `json:"dr"` File LoggingReportFileData `json:"f"` Info LoggingReportInfo `json:"rp"` AgentInfo LoggingReportAgentInfo `json:"ag"` }
type LoggingReportAgentInfo ¶
type LoggingReportAgentInfo struct { GoVersion string `json:"gv"` Threads int `json:"ts"` Routines int `json:"rs"` Startup int64 `json:"st"` HeapInuse uint64 `json:"hi"` GC map[string]float64 `json:"gc"` InPackets uint64 `json:"ip"` InBytes uint64 `json:"ib"` OutPackets uint64 `json:"op"` OutBytes uint64 `json:"ob"` }
type LoggingReportDockerData ¶
type LoggingReportDockerData struct {
Count int `json:"ct,omitempty"`
}
type LoggingReportFileData ¶
type LoggingReportFileData struct {
Count int `json:"ct,omitempty"`
}
type LoggingReportInfo ¶
type LoggingReportInfo struct { QPS float64 `json:"qps,omitempty"` AvgCost float64 `json:"avg,omitempty"` P0 int64 `json:"p0,omitempty"` P50 int64 `json:"p50,omitempty"` P90 int64 `json:"p90,omitempty"` P99 int64 `json:"p99,omitempty"` P100 int64 `json:"p100,omitempty"` Count uint64 `json:"ct,omitempty"` Bytes uint64 `json:"b,omitempty"` HttpErr uint64 `json:"he,omitempty"` SrvErr uint64 `json:"se,omitempty"` }
type LoggingReportK8sData ¶
type LoggingReportK8sData struct { QPS float64 `json:"qps,omitempty"` AvgCost float64 `json:"avg,omitempty"` P0 int64 `json:"p0,omitempty"` P50 int64 `json:"p50,omitempty"` P90 int64 `json:"p90,omitempty"` P99 int64 `json:"p99,omitempty"` P100 int64 `json:"p100,omitempty"` CountService int `json:"ct_svr,omitempty"` CountPod int `json:"ct_pds,omitempty"` CountContainer int `json:"ct_cts,omitempty"` }
type LoggingReportTask ¶
type LoggingStatusRep ¶
type LoggingStatusReq ¶
type LsLogPayload ¶
type LsLogPayload struct {
Files []LogFile `json:"files"` // 文件列表
}
LsLogPayload ls log response
type LsRep ¶
type LsRep struct { Dir string `json:"dir"` // 路径 OK bool `json:"ok"` // 是否成功 ErrMsg string `json:"msg,omitempty"` // 出错时的信息 Files []FileInfo `json:"files,omitempty"` // 文件列表 }
LsRep ls response
type Msg ¶
type Msg struct { Type TypeName `json:"type"` // 消息类型,详见消息类型章节 Important bool `json:"-"` // 是否是关键消息 TaskID string `json:"tid,omitempty"` // 任务ID Plugin *PluginInfo `json:"plugin,omitempty"` // 所需调用的插件信息 ErrorMsg string `json:"errmsg,omitempty"` // 错误消息的详情 // ctrl AgentInfo *AgentInfo `json:"ai,omitempty"` // agent状态上报 Come *ComePayload `json:"come,omitempty"` // 握手请求 Handshake *HandshakePayload `json:"handshake,omitempty"` // 握手返回结果 LsLog *LsLogPayload `json:"ls_log,omitempty"` // 查询log文件结果 LogDownload *LogDownloadReq `json:"log_dreq,omitempty"` // 下载log文件 LogDownloadInfo *LogDownloadInfo `json:"log_dinfo,omitempty"` // 下载log文件信息 LogDownloadData *LogDownloadData `json:"log_ddata,omitempty"` // 下载log文件内容 // exec plugin Exec *ExecPayload `json:"exec,omitempty"` // 执行命令消息参数 Execd *ExecdPayload `json:"execd,omitempty"` // 执行命令脚本或命令的启动结果,包括pid等 ExecData *ExecData `json:"exec_data,omitempty"` // 执行命令消息返回内容 ExecDone *ExecDone `json:"exec_done,omitempty"` // 执行命令返回结果,exit_code等 ExecKill *ExecKill `json:"exec_kill,omitempty"` // kill命令参数 // file plugin LSReq *LsReq `json:"ls_req,omitempty"` // ls请求参数 LSRep *LsRep `json:"ls_rep,omitempty"` // ls请求返回结果 Upload *Upload `json:"upload,omitempty"` // 文件上传时的文件基本信息,md5等 UploadRep *UploadRep `json:"upload_rep,omitempty"` // 文件创建结果 DownloadReq *DownloadReq `json:"download_req,omitempty"` // 文件下载请求,文件路径等 DownloadRep *DownloadRep `json:"download_rep,omitempty"` // 文件下载的基本信息,md5等 DownloadData *DownloadData `json:"download_data,omitempty"` // 文件内容 DownloadError *DownloadError `json:"download_error,omitempty"` // 文件读取时的报错信息 // host.monitor HMStatic *HMStaticPayload `json:"hm_static,omitempty"` // 主机信息返回结果 HMDynamicReq *HMDynamicReq `json:"hm_dynamic_req,omitempty"` // 动态数据请求 HMDynamicRep *HMDynamicRep `json:"hm_dynamic_rep,omitempty"` // 动态数据响应 HMCollectStatus *HMReportStatusPayload `json:"hm_status_rep,omitempty"` // 自动采集状态返回 HMChangeStatus *HMChangeReportStatus `json:"hm_change_status,omitempty"` // 修改自动采集状态 HMAgentStatus *HMAgentStatus `json:"hm_agent_status,omitempty"` // metrics-agent状态上报 // install InstallArgs *InstallArgs `json:"inst_args,omitempty"` // 安装请求参数 InstallRep *InstallRep `json:"inst_rep,omitempty"` // 安装结果 // logging LoggingConfig *LoggingConfig `json:"logging_config,omitempty"` // 创建任务 LoggingStatusReq *LoggingStatusReq `json:"logging_req,omitempty"` // 切换状态请求 LoggingStatusRep *LoggingStatusRep `json:"logging_rep,omitempty"` // 切换状态结果 LoggingReport *LoggingReport `json:"logging_report,omitempty"` // 状态上报 // rpa RPARun *RPARunArgs `json:"rpa_run,omitempty"` // RPA运行参数 RPALog *RPALogData `json:"rpa_log,omitempty"` // RPA日志上报 RPACtrlReq *RPACtrlReq `json:"rpa_ctrl_req,omitempty"` // RPA控制请求 RPACtrlRep *RPACtrlRep `json:"rpa_ctrl_rep,omitempty"` // RPA控制结果 RPAFinish *RPAFinish `json:"rpa_finish,omitempty"` // RPA运行结束 RPASelectorRep *RPASelectorRep `json:"rpa_selector_rep,omitempty"` // RPA工具状态 RPASelectorResult *RPASelectorResult `json:"rpa_selector_result,omitempty"` // RPA工具结果 RPASelectorValidateReq *RPASelectorValidateReq `json:"rpa_selector_validate_req,omitempty"` // RPA工具校验请求 RPASelectorValidateRep *RPASelectorValidateRep `json:"rpa_selector_validate_rep,omitempty"` // RPA工具校验结果 // ipmi IPMICommonReq *IPMICommonRequest `json:"ipmi_common_req,omitempty"` // IPMI通用请求 IPMIDeviceInfo *IPMIDeviceInfo `json:"ipmi_device_info,omitempty"` // IPMI设备信息 IPMISensorList *IPMISensorList `json:"ipmi_sensor_list,omitempty"` // IPMI传感器列表 // snmp SNMPReq *SNMPReq `json:"snmp_req,omitempty"` // SNMP请求 SNMPRep *SNMPRep `json:"snmp_rep,omitempty"` // SNMP响应 }
Msg message
type PluginInfo ¶
type PluginInfo struct { Name string `json:"name"` // 插件名称 Version string `json:"version"` // 插件版本号 MD5 [md5.Size]byte `json:"md5"` // 插件文件的md5 URI string `json:"uri"` // 插件下载的uri }
PluginInfo plugin info
type RPACtrlRep ¶
type RPACtrlReq ¶
type RPACtrlReq struct {
Status int `json:"status"` // 操作状态,0=pause, 1=stop, 2=continue
}
type RPALogData ¶
type RPALogData string
type RPARunArgs ¶
type RPASelectorRep ¶
type RPASelectorResult ¶
type RPASelectorValidateRep ¶
type RPASelectorValidateReq ¶
type RPASelectorValidateReq struct {
Content string `json:"content"` // xml内容
}
type TypeName ¶
type TypeName int
const ( TypeError TypeName = iota + 0 // 0:错误消息,可能是一个全局错误 TypeCome // 1:握手消息,agent发起 TypeHandshake // 2:握手消息,服务端返回 )
global
const ( TypeExec TypeName = iota + 10 // 10:执行命令 TypeExecd // 11:脚本或命令启动结果 TypeExecData // 12:脚本返回内容 TypeExecDone // 13:脚本执行结果 TypeExecKill // 14:kill命令 )
exec
const ( TypeLsReq TypeName = iota + 20 // 20:ls命令请求参数 TypeLsRep // 21:ls命令返回结果 TypeUpload // 22:文件上传时的文件信息 TypeUploadRep // 23:文件写入时的结果 TypeDownloadReq // 24:文件下载请求参数 TypeDownloadRep // 25:文件下载请求时的文件信息 TypeDownloadData // 26:文件下载时的内容 TypeDownloadError // 27:文件下载时的错误信息 )
file
const ( TypeHMStaticReq TypeName = iota + 30 // 30: 获取主机信息请求 TypeHMStaticRep // 31: 主机信息返回内容 TypeHMDynamicReq // 32: 获取动态数据 TypeHMDynamicRep // 33: 返回动态数据 TypeHMQueryCollect // 34: 获取自动采集状态(req) TypeHMCollectStatus // 35: 返回自动采集状态(rep) TypeHMChangeCollectStatus // 36: 切换自动采集状态 TypeHMReportAgentStatus // 37: agent状态上报数据 )
host.monitor
const ( TypeLoggingConfig TypeName = iota + 50 TypeLoggingStatusReq TypeLoggingStatusRep TypeLoggingReport )
logging
const ( TypeRPARun TypeName = iota + 60 TypeRPALog TypeRPAControlReq TypeRPAControlRep TypeRPAFinish )
rpa
const ( TypeRPASelectorReq TypeName = iota + 70 TypeRPASelectorRep TypeRPASelectorResult TypeRPASelectorValidateReq TypeRPASelectorValidateRep )
rpa-selector
const ( TypeIPMIDeviceInfoReq TypeName = iota + 80 TypeIPMIDeviceInfoRep TypeIPMISensorListReq TypeIPMISensorListRep )
ipmi
type Upload ¶
type Upload struct { Dir string `json:"dir"` // 路径 Name string `json:"name"` // 文件名 Auth string `json:"auth,omitempty"` // 是否提权,su、sudo或空 User string `json:"user,omitempty"` // 提权用户 Pass string `json:"pass,omitempty"` // 提权密码 Mod os.FileMode `json:"mod"` // 文件权限 OwnUser string `json:"own_user,omitempty"` // 上传文件所属用户 OwnGroup string `json:"own_group,omitempty"` // 上传文件所属分组 Size uint64 `json:"size,omitempty"` // 上传文件大小 MD5 [md5.Size]byte `json:"md5"` // 文件md5 MD5Check bool `json:"md5_check"` // 是否校验文件md5 Data string `json:"data,omitempty"` // 如果文件内容小于1M则直接传输 Token string `json:"token,omitempty"` // 大于1M时下载的token信息 URI string `json:"uri,omitempty"` // 从server下载时的uri }
Upload upload
type UploadRep ¶
type UploadRep struct { Dir string `json:"dir"` // 路径 OK bool `json:"ok"` // 是否成功 ErrMsg string `json:"msg,omitempty"` // 错误时的消息内容 }
UploadRep upload response
Click to show internal directories.
Click to hide internal directories.