host

package
v0.0.0-...-38575d5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 9, 2024 License: AGPL-3.0 Imports: 17 Imported by: 0

Documentation

Index

Constants

View Source
const (
	AllUsage      UsageCategory = "all"
	CPUUsage                    = "cpu"
	DiskUsage                   = "disk"
	DiskIOUsage                 = "disk_io"
	NetIOUsage                  = "net_io"
	MemoryUsage                 = "memory"
	ESProcessInfo               = "es_process"
)

Variables

View Source
var CollectDiskIOLastTime time.Time
View Source
var CollectNetIOLastTime time.Time

Functions

func GetCPUInfo

func GetCPUInfo() (physicalCnt int, logicalCnt int, totalPercent float64, modelName string, err error)

func GetCPUUsageInfo

func GetCPUUsageInfo() float64

func GetDiskInfo

func GetDiskInfo() (total uint64, free uint64, used uint64, usedPercent float64, err error)

func GetMemoryInfo

func GetMemoryInfo() (total uint64, available uint64, used uint64, usedPercent float64, err error)

func GetMemoryUsage

func GetMemoryUsage() (*MemoryUsageInfo, *SwapMemoryUsageInfo, error)

func GetOSInfo

func GetOSInfo() (hostName string, bootTime uint64, platform string, platformVersion string, kernelVersion string, kernelArch string, err error)

func GetSwapInfo

func GetSwapInfo() (total uint64, used uint64, free uint64, usedPercent float64, err error)

func UpdateHostAgentStatus

func UpdateHostAgentStatus(agentID, agentStatus string)

Types

type CPU

type CPU struct {
	Model       string `json:"model,omitempty" elastic_mapping:"model: { type: keyword }"` //eg: Apple M1 Pro
	PhysicalCPU int    `json:"physical_cpu,omitempty" elastic_mapping:"physical_cpu: { type: keyword }"`
	LogicalCPU  int    `json:"logical_cpu,omitempty" elastic_mapping:"logical_cpu: { type: keyword }"`
}

type DiskIOUsageInfo

type DiskIOUsageInfo struct {
	ReadBytes     uint64 `json:"read_bytes" elastic_mapping:"read_bytes: { type: keyword }"`           //byte
	WriteBytes    uint64 `json:"write_bytes" elastic_mapping:"write_bytes: { type: keyword }"`         //byte
	ReadTimeCost  uint64 `json:"read_time_cost" elastic_mapping:"read_time_cost: { type: keyword }"`   //ms
	WriteTimeCost uint64 `json:"write_time_cost" elastic_mapping:"write_time_cost: { type: keyword }"` //ms
}
var DiskIOUsageLast *DiskIOUsageInfo

func GetDiskIOUsageInfo

func GetDiskIOUsageInfo() (*DiskIOUsageInfo, error)

type DiskUsageInfo

type DiskUsageInfo struct {
	Total       uint64  `json:"total" elastic_mapping:"total: { type: keyword }"` //byte
	Free        uint64  `json:"free" elastic_mapping:"free: { type: keyword }"`   //byte
	Used        uint64  `json:"used" elastic_mapping:"used: { type: keyword }"`   //byte
	UsedPercent float64 `json:"used_percent" elastic_mapping:"used_percent: { type: keyword }"`
}

func GetDiskUsage

func GetDiskUsage() (*DiskUsageInfo, error)

type HostInfo

type HostInfo struct {
	orm.ORMObjectBase

	AgentID     string    `json:"agent_id" elastic_mapping:"agent_id: { type: keyword, copy_to:search_text }"`
	IP          string    `json:"ip" elastic_mapping:"ip: { type: keyword, copy_to:search_text }"`
	Name        string    `json:"name" elastic_mapping:"name: { type: keyword, copy_to:search_text }"`    //eg: zhangsandeMacBook-Pro.local
	MemorySize  uint64    `json:"memory_size,omitempty" elastic_mapping:"memory_size: { type: keyword }"` //byte, eg: 17179869184
	DiskSize    uint64    `json:"disk_size,omitempty" elastic_mapping:"disk_size: { type: keyword }"`     //byte, eg: 494384795648
	CPUInfo     CPU       `json:"cpu_info,omitempty" elastic_mapping:"cpu_info: { type: object }"`
	OSInfo      OS        `json:"os_info,omitempty" elastic_mapping:"os_info: { type: object }"`
	UpTime      time.Time `json:"up_time,omitempty" elastic_mapping:"up_time: { type: date }"`
	Tags        []string  `json:"tags,omitempty" elastic_mapping:"tags: { type: keyword, copy_to:search_text }"`
	SearchText  string    `` /* 138-byte string literal not displayed */
	Timestamp   time.Time `json:"timestamp,omitempty" elastic_mapping:"timestamp: { type: date }"`
	AgentStatus string    `json:"agent_status,omitempty" elastic_mapping:"agent_status: { type: keyword }"`
	NodeID      string    `json:"node_id,omitempty" elastic_mapping:"node_id: { type: keyword }"`
}

type MemoryUsageInfo

type MemoryUsageInfo struct {
	Total       uint64  `json:"total" elastic_mapping:"total: { type: keyword }"`         //byte
	Available   uint64  `json:"available" elastic_mapping:"available: { type: keyword }"` //byte
	Used        uint64  `json:"used" elastic_mapping:"used: { type: keyword }"`           //byte
	UsedPercent float64 `json:"used_percent" elastic_mapping:"used_percent: { type: keyword }"`
}

type NetIOUsageInfo

type NetIOUsageInfo struct {
	BytesSent   uint64 `json:"bytes_sent" elastic_mapping:"bytes_sent: { type: keyword }"` //byte
	BytesRecv   uint64 `json:"bytes_recv" elastic_mapping:"bytes_recv: { type: keyword }"` //byte
	PacketsSent uint64 `json:"packets_sent" elastic_mapping:"packets_sent: { type: keyword }"`
	PacketsRecv uint64 `json:"packets_recv" elastic_mapping:"packets_recv: { type: keyword }"`
}
var NetIOUsageLast *NetIOUsageInfo

func GetNetIOUsage

func GetNetIOUsage() (*NetIOUsageInfo, error)

type OS

type OS struct {
	Platform        string `json:"platform,omitempty" elastic_mapping:"platform: { type: keyword }"`                 //eg: darwin
	PlatformVersion string `json:"platform_version,omitempty" elastic_mapping:"platform_version: { type: keyword }"` //eg: 12.5
	KernelVersion   string `json:"kernel_version,omitempty" elastic_mapping:"kernel_version: { type: keyword }"`     //eg: 21.6.0
	KernelArch      string `json:"kernel_arch,omitempty" elastic_mapping:"kernel_arch: { type: keyword }"`           //eg: arm64
}

type SwapMemoryUsageInfo

type SwapMemoryUsageInfo struct {
	Total       uint64  `json:"total" elastic_mapping:"total: { type: keyword }"`         //byte
	Free        uint64  `json:"available" elastic_mapping:"available: { type: keyword }"` //byte
	Used        uint64  `json:"used" elastic_mapping:"used: { type: keyword }"`           //byte
	UsedPercent float64 `json:"used_percent" elastic_mapping:"used_percent: { type: keyword }"`
}

type Usage

type Usage struct {
	orm.ORMObjectBase

	AgentID         string               `json:"agent_id" elastic_mapping:"agent_id: { type: keyword }"`
	CPUPercent      float64              `json:"cpu_percent,omitempty" elastic_mapping:"cpu_percent: { type: keyword }"`
	DiskUsage       *DiskUsageInfo       `json:"disk_usage,omitempty" elastic_mapping:"disk_usage: { type: object }"`
	DiskIOUsage     *DiskIOUsageInfo     `json:"disk_io_usage,omitempty" elastic_mapping:"disk_io_usage: { type: object }"`
	NetIOUsage      *NetIOUsageInfo      `json:"net_io_usage,omitempty" elastic_mapping:"net_io_usage: { type: object }"`
	MemoryUsage     *MemoryUsageInfo     `json:"memory_usage,omitempty" elastic_mapping:"memory_usage: { type: object }"`
	SwapMemoryUsage *SwapMemoryUsageInfo `json:"swap_memory_usage,omitempty" elastic_mapping:"swap_memory_usage: { type: object }"`
	ESProcessInfo   string               `json:"es_process_info"`
}

func GetAllUsageInfo

func GetAllUsageInfo() (*Usage, error)

type UsageCategory

type UsageCategory string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL