Package collectd
Overview ▹
Index ▹
Constants
const (
// DefaultBindAddress is the default port to bind to.
DefaultBindAddress = ":25826"
// DefaultDatabase is the default DB to write to.
DefaultDatabase = "collectd"
// DefaultRetentionPolicy is the default retention policy of the writes.
DefaultRetentionPolicy = ""
// DefaultBatchSize is the default write batch size.
DefaultBatchSize = 5000
// DefaultBatchPending is the default number of pending write batches.
DefaultBatchPending = 10
// DefaultBatchDuration is the default batch timeout duration.
DefaultBatchDuration = toml.Duration(10 * time.Second)
// DefaultTypesDB is the default location of the collectd types db file.
DefaultTypesDB = "/usr/share/collectd/types.db"
// DefaultReadBuffer is the default buffer size for the UDP listener.
// Sets the size of the operating system's receive buffer associated with
// the UDP traffic. Keep in mind that the OS must be able
// to handle the number set here or the UDP listener will error and exit.
//
// DefaultReadBuffer = 0 means to use the OS default, which is usually too
// small for high UDP performance.
//
// Increasing OS buffer limits:
// Linux: sudo sysctl -w net.core.rmem_max=<read-buffer>
// BSD/Darwin: sudo sysctl -w kern.ipc.maxsockbuf=<read-buffer>
DefaultReadBuffer = 0
// DefaultSecurityLevel is the default security level.
DefaultSecurityLevel = "none"
// DefaultAuthFile is the default location of the user/password file.
DefaultAuthFile = "/etc/collectd/auth_file"
)
func TypesDBFile ¶
func TypesDBFile(path string) (typesdb *api.TypesDB, err error)
TypesDBFile reads a collectd types db from a file.
type Config ¶
Config represents a configuration for the collectd service.
type Config struct {
Enabled bool `toml:"enabled"`
BindAddress string `toml:"bind-address"`
Database string `toml:"database"`
RetentionPolicy string `toml:"retention-policy"`
BatchSize int `toml:"batch-size"`
BatchPending int `toml:"batch-pending"`
BatchDuration toml.Duration `toml:"batch-timeout"`
ReadBuffer int `toml:"read-buffer"`
TypesDB string `toml:"typesdb"`
SecurityLevel string `toml:"security-level"`
AuthFile string `toml:"auth-file"`
}
func NewConfig ¶
func NewConfig() Config
NewConfig returns a new instance of Config with defaults.
func (*Config) Validate ¶
func (c *Config) Validate() error
Validate returns an error if the Config is invalid.
func (*Config) WithDefaults ¶
func (c *Config) WithDefaults() *Config
WithDefaults takes the given config and returns a new config with any required default values set.
type Service ¶
Service represents a UDP server which receives metrics in collectd's binary protocol and stores them in InfluxDB.
type Service struct {
Config *Config
MetaClient metaClient
PointsWriter pointsWriter
Logger zap.Logger
// contains filtered or unexported fields
}
func NewService ¶
func NewService(c Config) *Service
NewService returns a new instance of the collectd service.
func (*Service) Addr ¶
func (s *Service) Addr() net.Addr
Addr returns the listener's address. It returns nil if listener is closed.
func (*Service) Close ¶
func (s *Service) Close() error
Close stops the service.
func (*Service) Open ¶
func (s *Service) Open() error
Open starts the service.
func (*Service) SetTypes ¶
func (s *Service) SetTypes(types string) (err error)
SetTypes sets collectd types db.
func (*Service) Statistics ¶
func (s *Service) Statistics(tags map[string]string) []models.Statistic
Statistics returns statistics for periodic monitoring.
func (*Service) UnmarshalValueList ¶
func (s *Service) UnmarshalValueList(vl *api.ValueList) []models.Point
UnmarshalValueList translates a ValueList into InfluxDB data points.
func (*Service) WithLogger ¶
func (s *Service) WithLogger(log zap.Logger)
WithLogger sets the service's logger.
type Statistics ¶
Statistics maintains statistics for the collectd service.
type Statistics struct {
PointsReceived int64
BytesReceived int64
PointsParseFail int64
ReadFail int64
BatchesTransmitted int64
PointsTransmitted int64
BatchesTransmitFail int64
InvalidDroppedPoints int64
}
Subdirectories
| Name | Synopsis |
|---|---|
| .. | |
| test_client | |
ActiveGo 1.8