resourcemonitor

package
v0.0.0-...-4c73ccb Latest Latest
Warning

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

Go to latest
Published: Apr 9, 2024 License: Apache-2.0 Imports: 22 Imported by: 5

Documentation

Overview

Package resourcemonitor AOS Core Monitoring Component

Index

Constants

View Source
const (
	MinutePeriod = iota
	HourPeriod
	DayPeriod
	MonthPeriod
	YearPeriod
)

Service status.

Variables

This section is empty.

Functions

This section is empty.

Types

type AlertSender

type AlertSender interface {
	SendAlert(alert cloudprotocol.AlertItem)
}

AlertSender interface to send resource alerts.

type Config

type Config struct {
	aostypes.AlertRules
	SendPeriod aostypes.Duration `json:"sendPeriod"`
	PollPeriod aostypes.Duration `json:"pollPeriod"`
	Partitions []PartitionConfig `json:"partitions"`
	Source     string            `json:"source"`
}

Config configuration for resource monitoring.

type MonitoringSender

type MonitoringSender interface {
	SendMonitoringData(monitoringData cloudprotocol.NodeMonitoringData)
}

MonitoringSender sends monitoring data.

type PartitionConfig

type PartitionConfig struct {
	Name  string   `json:"name"`
	Types []string `json:"types"`
	Path  string   `json:"path"`
}

PartitionConfig partition information.

type PartitionParam

type PartitionParam struct {
	Name string
	Path string
}

PartitionParam partition instance information.

type ResourceMonitor

type ResourceMonitor struct {
	sync.Mutex
	// contains filtered or unexported fields
}

ResourceMonitor instance.

func New

func New(
	nodeID string, config Config, alertsSender AlertSender, monitoringSender MonitoringSender,
	trafficMonitoring TrafficMonitoring) (
	monitor *ResourceMonitor, err error,
)

New creates new resource monitor instance.

func (*ResourceMonitor) Close

func (monitor *ResourceMonitor) Close()

Close closes monitor instance.

func (*ResourceMonitor) GetSystemInfo

func (monitor *ResourceMonitor) GetSystemInfo() cloudprotocol.SystemInfo

func (*ResourceMonitor) StartInstanceMonitor

func (monitor *ResourceMonitor) StartInstanceMonitor(
	instanceID string, monitoringConfig ResourceMonitorParams,
) error

StartInstanceMonitor starts monitoring service.

func (*ResourceMonitor) StopInstanceMonitor

func (monitor *ResourceMonitor) StopInstanceMonitor(instanceID string) error

StopInstanceMonitor stops monitoring service.

type ResourceMonitorParams

type ResourceMonitorParams struct {
	aostypes.InstanceIdent
	UID        int
	GID        int
	AlertRules *aostypes.AlertRules
	Partitions []PartitionParam
}

ResourceMonitorParams instance resource monitor parameters.

type SystemUsageProvider

type SystemUsageProvider interface {
	CacheSystemInfos()
	FillSystemInfo(instanceID string, instance *instanceMonitoring) error
}

type TrafficMonitoring

type TrafficMonitoring interface {
	GetSystemTraffic() (inputTraffic, outputTraffic uint64, err error)
	GetInstanceTraffic(instanceID string) (inputTraffic, outputTraffic uint64, err error)
}

TrafficMonitoring interface to get network traffic.

Jump to

Keyboard shortcuts

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