g

package
v0.1.1 Latest Latest
Warning

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

Go to latest
Published: Apr 30, 2024 License: Apache-2.0, Apache-2.0 Imports: 28 Imported by: 0

Documentation

Index

Constants

View Source
const (
	VERSION          = "5.3.1_20221130"
	COLLECT_INTERVAL = time.Second
	URL_CHECK_HEALTH = "url.check.health"
	NET_PORT_LISTEN  = "net.port.listen"
	DU_BS            = "du.bs"
	PROC_NUM         = "proc.num"
)

Variables

View Source
var (
	VersionDir  string
	VersionFile string
)
View Source
var (
	TransferClientsLock *sync.RWMutex                   = new(sync.RWMutex)
	TransferClients     map[string]*SingleConnRpcClient = map[string]*SingleConnRpcClient{}
)
View Source
var (
	POOLNAME        = "None"
	VirtualMachine  = false
	SkipSwapMonitor = false // default monitor swap usage -> skip = false
)
View Source
var (
	ConfigFile string
)
View Source
var LocalIp string
View Source
var Root string

Functions

func CheckOSVersion

func CheckOSVersion() (version string)

func CheckSwapMonitor

func CheckSwapMonitor()

func CheckUrlTcpHealth

func CheckUrlTcpHealth(hostUrl string) bool

func CheckVirtualMachine

func CheckVirtualMachine()

func ChownPluginDir

func ChownPluginDir(dirString string) bool

func CreateVersionFile

func CreateVersionFile(dir string, file string) bool

func DuPaths

func DuPaths() []string

func ForceResetVersion

func ForceResetVersion(versionFile string) string

func GenCronTime

func GenCronTime()

func GetCurrPluginVersion

func GetCurrPluginVersion() string

func GetLocalIP

func GetLocalIP() string

GetLocalIP returns the private & non loopback local IP of the host

func GetPidfilePath

func GetPidfilePath() string

GetPidfilePath returns the configured pidfile path.

func GetPluginVersion

func GetPluginVersion() string

func GetVersionFileInfo

func GetVersionFileInfo() string

func Hostname

func Hostname() (string, error)

func IP

func IP() string

func InitLocalIp

func InitLocalIp()

func InitLog

func InitLog()

func InitPoolAndVMTags

func InitPoolAndVMTags()

func InitRootDir

func InitRootDir()

func InitRpcClients

func InitRpcClients()

func IsDir

func IsDir(path string) bool

func IsExist

func IsExist(path string) bool

func IsFile

func IsFile(path string) bool

func IsNotConfigured

func IsNotConfigured(err error) bool

IsNotConfigured returns true if the error indicates the pidfile location has not been configured.

func IsTrustable

func IsTrustable(remoteAddr string) bool

func ParseConfig

func ParseConfig(cfg string)

func ReadPid

func ReadPid() (int, error)

Read the pid from the configured file. It is an error if the pidfile hasn't been configured.

func ReportMetricCounts

func ReportMetricCounts() int64

func ReportPorts

func ReportPorts() []int64

func ReportProcs

func ReportProcs() map[string]map[int]string

func ReportUrls

func ReportUrls() map[string]string

func SendMetrics

func SendMetrics(metrics []*model.MetricValue, resp *model.TransferResponse)

func SendToTransfer

func SendToTransfer(metrics []*model.MetricValue)

func SetDuPaths

func SetDuPaths(paths []string)

func SetMetricCount

func SetMetricCount(metricCount int64)

func SetPidfilePath

func SetPidfilePath(p string)

SetPidfilePath sets the pidfile path.

func SetReportPorts

func SetReportPorts(ports []int64)

func SetReportProcs

func SetReportProcs(procs map[string]map[int]string)

func SetReportUrls

func SetReportUrls(urls map[string]string)

func SetTrustableIps

func SetTrustableIps(ipStr string)

func ShellOut

func ShellOut(command string)

func TrustableIps

func TrustableIps() []string

func UpdatePluginVersion

func UpdatePluginVersion(versionString string) bool

func WritePid

func WritePid() error

Write the pidfile based on the flag. It is an error if the pidfile hasn't been configured.

Types

type CollectorConfig

type CollectorConfig struct {
	IfacePrefix []string `json:"ifacePrefix"`
	MountPoint  []string `json:"mountPoint"`
}

type GlobalConfig

type GlobalConfig struct {
	Debug         bool              `json:"debug"`
	IllegalChar   []string          `json:"illegalchar"`
	LogFile       string            `json:"logfile"`
	RsyncUser     string            `json:"rsyncuser"`
	RsyncPwd      string            `json:"rsyncpwd"`
	Hostname      string            `json:"hostname"`
	IP            string            `json:"ip"`
	Plugin        *PluginConfig     `json:"plugin"`
	Heartbeat     *HeartbeatConfig  `json:"heartbeat"`
	Transfer      *TransferConfig   `json:"transfer"`
	RsyncAccess   string            `json:"rsyncaccess"`
	Http          *HttpConfig       `json:"http"`
	Collector     *CollectorConfig  `json:"collector"`
	DefaultTags   map[string]string `json:"default_tags"`
	IgnoreMetrics map[string]bool   `json:"ignore"`
	Pidfile       string            `json:"pidfile"`
	CmdbFile      string            `json:"cmdbfile"`
	VMConfig      string            `json:"vmconfig"`
}

func Config

func Config() *GlobalConfig

type HeartbeatConfig

type HeartbeatConfig struct {
	Enabled  bool   `json:"enabled"`
	Addr     string `json:"addr"`
	Interval int    `json:"interval"`
	Timeout  int    `json:"timeout"`
}

type HttpConfig

type HttpConfig struct {
	Enabled  bool   `json:"enabled"`
	Listen   string `json:"listen"`
	Backdoor bool   `json:"backdoor"`
}

type PluginConfig

type PluginConfig struct {
	Enabled bool   `json:"enabled"`
	Dir     string `json:"dir"`
	Git     string `json:"git"`
	LogDir  string `json:"logs"`
}

type RsyncResponse

type RsyncResponse struct {
	Server     []string `json:"server"`
	Source     string   `json:"source"`
	Sync       bool     `json:"sync"`
	SyncSrc    string   `json:"syncsrc"`
	SyncPort   string   `json:"port"`
	SyncDest   string   `json:"syncdest"`
	SyncDelete bool     `json:"syncdelete"`
	Version    string   `json:"version"`
	RpmUpdate  bool     `json:"rpmupdate"`
	RpmVersion struct {
		El5 string `json:"el5"`
		El6 string `json:"el6"`
		El7 string `json:"el7"`
		El8 string `json:"el8"`
	} `json:"rpmversion"`
}

type SingleConnRpcClient

type SingleConnRpcClient struct {
	sync.Mutex

	RpcServer string
	Timeout   time.Duration
	// contains filtered or unexported fields
}
var (
	HbsClient *SingleConnRpcClient
)

func (*SingleConnRpcClient) Call

func (this *SingleConnRpcClient) Call(method string, args interface{}, reply interface{}) error

type TimeStruct

type TimeStruct struct {
	Hour   string
	Minite string
}
var JobTime TimeStruct

func GetNow

func GetNow() TimeStruct

type TransferConfig

type TransferConfig struct {
	Enabled  bool     `json:"enabled"`
	Addrs    []string `json:"addrs"`
	Interval int      `json:"interval"`
	Timeout  int      `json:"timeout"`
}

type VMconfig

type VMconfig struct {
	SkipSwapMonitor bool `json:"skipswapmonitor"`
	Virtual         bool `json:"virtual"`
}

Jump to

Keyboard shortcuts

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