README ¶
OpenTSDB Input
InfluxDB supports both the telnet and HTTP OpenTSDB protocol. This means that InfluxDB can act as a drop-in replacement for your OpenTSDB system.
Configuration
The OpenTSDB inputs allow the binding address, target database, and target retention policy within that database, to be set. If the database does not exist, it will be created automatically when the input is initialized. If you also decide to configure retention policy (without configuration the input will use the auto-created default retention policy), both the database and retention policy must already exist.
The write-consistency-level can also be set. If any write operations do not meet the configured consistency guarantees, an error will occur and the data will not be indexed. The default consistency-level is ONE
.
The OpenTSDB input also performs internal batching of the points it receives, as batched writes to the database are more efficient. The default batch size is 1000, pending batch factor is 5, with a batch timeout of 1 second. This means the input will write batches of maximum size 1000, but if a batch has not reached 1000 points within 1 second of the first point being added to a batch, it will emit that batch regardless of size. The pending batch factor controls how many batches can be in memory at once, allowing the input to transmit a batch, while still building other batches.
Documentation ¶
Index ¶
Constants ¶
const ( // DefaultBindAddress is the default address that the service binds to. DefaultBindAddress = ":4242" // DefaultDatabase is the default database used for writes. DefaultDatabase = "opentsdb" // DefaultRetentionPolicy is the default retention policy used for writes. DefaultRetentionPolicy = "" // DefaultConsistencyLevel is the default write consistency level. DefaultConsistencyLevel = "one" // DefaultBatchSize is the default Graphite batch size. DefaultBatchSize = 1000 // DefaultBatchTimeout is the default Graphite batch timeout. DefaultBatchTimeout = time.Second // DefaultBatchPending is the default number of batches that can be in the queue. DefaultBatchPending = 5 // DefaultCertificate is the default location of the certificate used when TLS is enabled. DefaultCertificate = "/etc/ssl/influxdb.pem" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct { Enabled bool `toml:"enabled"` BindAddress string `toml:"bind-address"` Database string `toml:"database"` RetentionPolicy string `toml:"retention-policy"` ConsistencyLevel string `toml:"consistency-level"` TLSEnabled bool `toml:"tls-enabled"` Certificate string `toml:"certificate"` BatchSize int `toml:"batch-size"` BatchPending int `toml:"batch-pending"` BatchTimeout toml.Duration `toml:"batch-timeout"` LogPointErrors bool `toml:"log-point-errors"` }
Config represents the configuration of the OpenTSDB service.
func (*Config) WithDefaults ¶
WithDefaults takes the given config and returns a new config with any required default values set.
type Handler ¶
type Handler struct { Database string RetentionPolicy string PointsWriter interface { WritePoints(database, retentionPolicy string, consistencyLevel models.ConsistencyLevel, points []models.Point) error } Logger *log.Logger // contains filtered or unexported fields }
Handler is an http.Handler for the service.
type Service ¶
type Service struct { BindAddress string Database string RetentionPolicy string PointsWriter interface { WritePoints(database, retentionPolicy string, consistencyLevel models.ConsistencyLevel, points []models.Point) error } MetaClient interface { CreateDatabase(name string) (*meta.DatabaseInfo, error) } LogPointErrors bool Logger *log.Logger // contains filtered or unexported fields }
Service manages the listener and handler for an HTTP endpoint.
func NewService ¶
NewService returns a new instance of Service.
func (*Service) SetLogOutput ¶ added in v0.13.0
SetLogOutput sets the writer to which all logs are written. It must not be called after Open is called.
type Statistics ¶ added in v1.0.0
type Statistics struct { HTTPConnectionsHandled int64 ActiveTelnetConnections int64 HandledTelnetConnections int64 TelnetPointsReceived int64 TelnetBytesReceived int64 TelnetReadError int64 TelnetBadLine int64 TelnetBadTime int64 TelnetBadTag int64 TelnetBadFloat int64 BatchesTransmitted int64 PointsTransmitted int64 BatchesTransmitFail int64 ActiveConnections int64 HandledConnections int64 InvalidDroppedPoints int64 }
Statistics maintains statistics for the subscriber service.