collector

package
v4.0.4 Latest Latest
Warning

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

Go to latest
Published: Aug 4, 2021 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CollectorRegister

func CollectorRegister(c Collector) error

func GetLocalCollectors

func GetLocalCollectors() []string

func GetRemoteCollectors

func GetRemoteCollectors() []string

func NewDryRunError

func NewDryRunError(msg string) error

func Template

func Template(v interface{}) (interface{}, error)

Types

type BaseCollector

type BaseCollector struct {
	// contains filtered or unexported fields
}

func NewBaseCollector

func NewBaseCollector(name string, category Category, newRule func() TelegrafPlugin) *BaseCollector

func (BaseCollector) Category

func (p BaseCollector) Category() Category

func (BaseCollector) Create

func (p BaseCollector) Create(data []byte, username string) error

func (BaseCollector) Delete

func (p BaseCollector) Delete(id int64, username string) error

func (BaseCollector) Get

func (p BaseCollector) Get(id int64) (interface{}, error)

used for ui

func (BaseCollector) GetByNameAndNid

func (p BaseCollector) GetByNameAndNid(name string, nid int64) (interface{}, error)

func (BaseCollector) Gets

func (p BaseCollector) Gets(nids []int64) (ret []interface{}, err error)

func (BaseCollector) Name

func (p BaseCollector) Name() string

func (BaseCollector) TelegrafInput

func (p BaseCollector) TelegrafInput(rule *models.CollectRule) (telegraf.Input, error)

func (BaseCollector) Template

func (p BaseCollector) Template() (interface{}, error)

func (BaseCollector) Update

func (p BaseCollector) Update(data []byte, username string) error

type Category

type Category string
const (
	RemoteCategory Category = "remote" // used for prober
	LocalCategory  Category = "local"  // used for agent
)

type Collector

type Collector interface {
	// Name return the collector name
	Name() string
	// Category return the collector category,  remote | local
	Category() Category
	// Get return a collectRule by collectRule.Id
	Get(id int64) (interface{}, error)
	// Gets return collectRule list by node ids
	Gets(nids []int64) ([]interface{}, error)
	// GetByNameAndNid return collectRule by collectRule.Name & collectRule.Nid
	GetByNameAndNid(name string, nid int64) (interface{}, error)
	// Create a collectRule by []byte format, witch could be able to unmarshal with a collectRule struct
	Create(data []byte, username string) error
	// Update a collectRule by []byte format, witch could be able to unmarshal with a collectRule struct
	Update(data []byte, username string) error
	// Delete a collectRule by collectRule.Id with operator's name
	Delete(id int64, username string) error
	// Template return a template used for UI render
	Template() (interface{}, error)
	// TelegrafInput return a telegraf.Input interface, this is called by prober.manager every collectRule.Step
	TelegrafInput(*models.CollectRule) (telegraf.Input, error)
}

Collector is an abstract, pluggable interface for monapi & prober.

func GetCollector

func GetCollector(name string) (Collector, error)

type DryRun

type DryRun struct {
	// contains filtered or unexported fields
}

func (DryRun) Error

func (p DryRun) Error() string

type Field

type Field struct {
	Name        string             `json:"name,omitempty"`
	Label       string             `json:"label,omitempty"`
	Default     interface{}        `json:"default,omitempty"`
	Enum        []interface{}      `json:"enum,omitempty"`
	Example     string             `json:"example,omitempty"`
	Format      string             `json:"format,omitempty"`
	Description string             `json:"description,omitempty"`
	Required    bool               `json:"required,omitempty"`
	Items       *Field             `json:"items,omitempty" description:"arrays's items"`
	Type        string             `json:"type,omitempty" description:"boolean,integer,folat,string,array"`
	Ref         string             `json:"$ref,omitempty" description:"name of the struct ref"`
	Fields      []Field            `json:"fields,omitempty" description:"fields of struct type"`
	Definitions map[string][]Field `json:"definitions,omitempty"`
	// contains filtered or unexported fields
}

func (Field) String

func (p Field) String() string

type TelegrafPlugin

type TelegrafPlugin interface {
	TelegrafInput() (telegraf.Input, error)
}

Jump to

Keyboard shortcuts

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