conf

package
v0.0.0-...-8d97d4a Latest Latest
Warning

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

Go to latest
Published: May 29, 2024 License: MIT Imports: 1 Imported by: 28

Documentation

Overview

Package conf contains all of the configuration structs for scollector.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AWS

type AWS struct {
	AccessKey                string
	SecretKey                string
	Region                   string
	BillingProductCodesRegex string
	BillingBucketName        string
	BillingBucketPath        string
	BillingPurgeDays         int
}

type AzureEA

type AzureEA struct {
	EANumber           uint32
	APIKey             string
	LogBillingDetails  bool
	LogResourceDetails bool
	LogExtraTags       bool
}

type Cadvisor

type Cadvisor struct {
	URL         string
	PerCpuUsage bool
	IsRemote    bool
}

type Conf

type Conf struct {
	// Host is the OpenTSDB or Bosun host to send data.
	Host string
	// FullHost enables full hostnames: doesn't truncate to first ".".
	FullHost bool
	// ColDir is the external collectors directory.
	ColDir string
	// Tags are added to every datapoint. If a collector specifies the same tag
	// key, this one will be overwritten. The host tag is not supported.
	Tags opentsdb.TagSet
	// Hostname overrides the system hostname.
	Hostname string
	// DisableSelf disables sending of scollector self metrics.
	DisableSelf bool
	// Freq is the default frequency in seconds for most collectors.
	Freq int
	// BatchSize is the number of metrics that will be sent in each batch.
	BatchSize int
	// MaxQueueLen is the number of metrics keept internally.
	MaxQueueLen int
	// MaxMem is the maximum number of megabytes that can be allocated
	// before scollector panics (shuts down). Default of 500 MB. This
	// is a saftey mechanism to protect the host from the monitoring
	// agent
	MaxMem uint64
	// Filter filters collectors matching these terms.
	Filter []string
	// PProf is an IP:Port binding to be used for debugging with pprof and expvar package.
	// When enabled data is exposed via http://host:port/debug/pprof or /debug/vars
	// Examples: localhost:6060 for loopback or :6060 for all IP addresses.
	PProf string
	// MetricFilters takes regular expressions and includes only indicies that
	// match those filters from being monitored
	MetricFilters []string

	// KeepalivedCommunity, if not empty, enables the Keepalived collector with
	// the specified community.
	KeepalivedCommunity string

	//Override default network interface expression
	IfaceExpr string

	// UseNtlm specifies if HTTP requests should authenticate with NTLM.
	UseNtlm bool

	// AuthToken is an optional string that sets the X-Access-Token HTTP header
	// which is used to authenticate against Bosun
	AuthToken string

	// UserAgentMessage is an optional message that is appended to the User Agent
	UserAgentMessage string

	// SNMPTimeout is the number of seconds to wait for SNMP responses (default 30)
	SNMPTimeout int

	// UseSWbemServicesClient specifies if the wmi package should use SWbemServices.
	UseSWbemServicesClient bool

	// MetricPrefix prepended to all metrics path
	MetricPrefix string

	HAProxy        []HAProxy
	SNMP           []SNMP
	MIBS           map[string]MIB
	ICMP           []ICMP
	Vsphere        []Vsphere
	AWS            []AWS
	AzureEA        []AzureEA
	Process        []ProcessParams
	SystemdService []ServiceParams
	ProcessDotNet  []ProcessDotNet
	HTTPUnit       []HTTPUnit
	Riak           []Riak
	Github         []Github
	Elastic        []Elastic
	// ElasticIndexFilters takes regular expressions and excludes indicies that
	// match those filters from being monitored for metrics in the elastic.indices
	// namespace
	ElasticIndexFilters []string
	// ElasticIndexFiltersInc is like ElasticIndexFilters, but only includes indices that match
	ElasticIndexFiltersInc []string
	RabbitMQ               []RabbitMQ
	Nexpose                []Nexpose
	GoogleAnalytics        []GoogleAnalytics
	GoogleWebmaster        []GoogleWebmaster
	Cadvisor               []Cadvisor
	RedisCounters          []RedisCounters
	ExtraHop               []ExtraHop
	LocalListener          string
	TagOverride            []TagOverride
	HadoopHost             string
	HbaseRegions           bool
	Oracles                []Oracle
	Fastly                 []Fastly
}

func (*Conf) InitializeSWbemServices

func (c *Conf) InitializeSWbemServices()

type Elastic

type Elastic struct {
	Host            string // default is localhost
	Port            uint16 // default is 9200
	ClusterInterval string // default is DefaultFreq
	IndexInterval   string // default is 15 mins
	User            string // default is empty
	Password        string // default is empty
	Disable         bool   // default is false.
	Name            string // default is host_port
	Scheme          string // default is http
}

Optional Elastic instance configuration - if omitted then the defaults are used You can also define multiple instances where more than one node is running

type ExtraHop

type ExtraHop struct {
	Host                     string
	APIKey                   string
	FilterBy                 string
	FilterPercent            int
	AdditionalMetrics        []string
	CertificateSubjectMatch  string
	CertificateActivityGroup int
}

type Fastly

type Fastly struct {
	Key            string
	StatusBaseAddr string
}

type Github

type Github struct {
	Repo  string
	Token string
}

type GoogleAnalytics

type GoogleAnalytics struct {
	ClientID  string
	Secret    string
	Token     string
	JSONToken string
	Sites     []GoogleAnalyticsSite
}

type GoogleAnalyticsSite

type GoogleAnalyticsSite struct {
	Name     string
	Profile  string
	Offset   int
	Detailed bool
}

type GoogleWebmaster

type GoogleWebmaster struct {
	ClientID  string
	Secret    string
	Token     string
	JSONToken string
}

type HAProxy

type HAProxy struct {
	User      string
	Password  string
	Instances []HAProxyInstance
}

type HAProxyInstance

type HAProxyInstance struct {
	User     string
	Password string
	Tier     string
	URL      string
}

type HTTPUnit

type HTTPUnit struct {
	TOML  string
	Hiera string
	Freq  string
}

type ICMP

type ICMP struct {
	Host string
}

type MIB

type MIB struct {
	BaseOid string
	Metrics []MIBMetric // single key metrics
	Trees   []MIBTree   // tagged array metrics
}

type MIBMetric

type MIBMetric struct {
	Metric      string
	Oid         string
	Unit        string // metadata unit
	RateType    string // defaults to gauge
	Description string
	FallbackOid string // Oid to try if main one doesn't work. Used in cisco where different models use different oids
	Tags        string // static tags to populate for this metric. "direction=in"
	Scale       float64
}

type MIBTag

type MIBTag struct {
	Key string
	Oid string // If present will load from this oid. Use "idx" to populate with index of row instead of another oid.
}

type MIBTree

type MIBTree struct {
	BaseOid string
	Tags    []MIBTag
	Metrics []MIBMetric
}

type Nexpose

type Nexpose struct {
	Username string
	Password string
	Host     string
	Insecure bool
}

type Oracle

type Oracle struct {
	ClusterName string
	Instances   []OracleInstance
}

type OracleInstance

type OracleInstance struct {
	ConnectionString string
	Role             string
}

type ProcessDotNet

type ProcessDotNet struct {
	Name string
}

type ProcessParams

type ProcessParams struct {
	Command      string
	Name         string
	Args         string
	IncludeCount bool
}

type RabbitMQ

type RabbitMQ struct {
	URL string
}

type RedisCounters

type RedisCounters struct {
	Server   string
	Database int
}

type Riak

type Riak struct {
	URL string
}

type SNMP

type SNMP struct {
	Community string
	Host      string
	MIBs      []string
}

type ServiceParams

type ServiceParams struct {
	Name      string
	WatchProc bool
}

type TagOverride

type TagOverride struct {
	CollectorExpr string
	MatchedTags   map[string]string
	Tags          map[string]string
}

type Vsphere

type Vsphere struct {
	Host     string
	User     string
	Password string
}

Jump to

Keyboard shortcuts

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