Package run
Overview ▹
Index ▹
Constants
const (
// DefaultBindAddress is the default address for various RPC services.
DefaultBindAddress = ":8088"
)
type BuildInfo ¶
BuildInfo represents the build details for the server code.
type BuildInfo struct {
Version string
Commit string
Branch string
Time string
}
type Command ¶
Command represents the command executed by "influxd run".
type Command struct {
Version string
Branch string
Commit string
BuildTime string
Closed chan struct{}
Stdin io.Reader
Stdout io.Writer
Stderr io.Writer
Logger zap.Logger
Server *Server
// contains filtered or unexported fields
}
func NewCommand ¶
func NewCommand() *Command
NewCommand return a new instance of Command.
func (*Command) Close ¶
func (cmd *Command) Close() error
Close shuts down the server.
func (*Command) ParseConfig ¶
func (cmd *Command) ParseConfig(path string) (*Config, error)
ParseConfig parses the config at path. It returns a demo configuration if path is blank.
func (*Command) ParseFlags ¶
func (cmd *Command) ParseFlags(args ...string) (Options, error)
ParseFlags parses the command line flags from args and returns an options set.
func (*Command) Run ¶
func (cmd *Command) Run(args ...string) error
Run parses the config from args and runs the server.
type Config ¶
Config represents the configuration format for the influxd binary.
type Config struct {
Meta *meta.Config `toml:"meta"`
Data tsdb.Config `toml:"data"`
Coordinator coordinator.Config `toml:"coordinator"`
Retention retention.Config `toml:"retention"`
Precreator precreator.Config `toml:"shard-precreation"`
Admin admin.Config `toml:"admin"`
Monitor monitor.Config `toml:"monitor"`
Subscriber subscriber.Config `toml:"subscriber"`
HTTPD httpd.Config `toml:"http"`
GraphiteInputs []graphite.Config `toml:"graphite"`
CollectdInputs []collectd.Config `toml:"collectd"`
OpenTSDBInputs []opentsdb.Config `toml:"opentsdb"`
UDPInputs []udp.Config `toml:"udp"`
ContinuousQuery continuous_querier.Config `toml:"continuous_queries"`
// Server reporting
ReportingDisabled bool `toml:"reporting-disabled"`
// BindAddress is the address that all TCP services use (Raft, Snapshot, Cluster, etc.)
BindAddress string `toml:"bind-address"`
}
func NewConfig ¶
func NewConfig() *Config
NewConfig returns an instance of Config with reasonable defaults.
func NewDemoConfig ¶
func NewDemoConfig() (*Config, error)
NewDemoConfig returns the config that runs when no config is specified.
func (*Config) ApplyEnvOverrides ¶
func (c *Config) ApplyEnvOverrides() error
ApplyEnvOverrides apply the environment configuration on top of the config.
func (*Config) FromToml ¶
func (c *Config) FromToml(input string) error
FromToml loads the config from TOML.
func (*Config) FromTomlFile ¶
func (c *Config) FromTomlFile(fpath string) error
FromTomlFile loads the config from a TOML file.
func (*Config) Validate ¶
func (c *Config) Validate() error
Validate returns an error if the config is invalid.
type Options ¶
Options represents the command line options that can be parsed.
type Options struct {
ConfigPath string
PIDFile string
CPUProfile string
MemProfile string
}
func (*Options) GetConfigPath ¶
func (opt *Options) GetConfigPath() string
GetConfigPath returns the config path from the options. It will return a path by searching in this order:
1. The CLI option in ConfigPath
2. The environment variable INFLUXDB_CONFIG_PATH
3. The first influxdb.conf file on the path:
- ~/.influxdb
- /etc/influxdb
type PrintConfigCommand ¶
PrintConfigCommand represents the command executed by "influxd config".
type PrintConfigCommand struct {
Stdin io.Reader
Stdout io.Writer
Stderr io.Writer
}
func NewPrintConfigCommand ¶
func NewPrintConfigCommand() *PrintConfigCommand
NewPrintConfigCommand return a new instance of PrintConfigCommand.
func (*PrintConfigCommand) Run ¶
func (cmd *PrintConfigCommand) Run(args ...string) error
Run parses and prints the current config loaded.
type Server ¶
Server represents a container for the metadata and storage data and services. It is built using a Config and it manages the startup and shutdown of all services in the proper order.
type Server struct {
BindAddress string
Listener net.Listener
Logger zap.Logger
MetaClient *meta.Client
TSDBStore *tsdb.Store
QueryExecutor *influxql.QueryExecutor
PointsWriter *coordinator.PointsWriter
Subscriber *subscriber.Service
Services []Service
// These references are required for the tcp muxer.
SnapshotterService *snapshotter.Service
Monitor *monitor.Monitor
// Profiling
CPUProfile string
MemProfile string
// contains filtered or unexported fields
}
func NewServer ¶
func NewServer(c *Config, buildInfo *BuildInfo) (*Server, error)
NewServer returns a new instance of Server built from a config.
func (*Server) Close ¶
func (s *Server) Close() error
Close shuts down the meta and data stores and all services.
func (*Server) Err ¶
func (s *Server) Err() <-chan error
Err returns an error channel that multiplexes all out of band errors received from all services.
func (*Server) Open ¶
func (s *Server) Open() error
Open opens the meta and data store and all services.
func (*Server) SetLogOutput ¶
func (s *Server) SetLogOutput(w io.Writer)
SetLogOutput sets the logger used for all messages. It must not be called after the Open method has been called.
func (*Server) Statistics ¶
func (s *Server) Statistics(tags map[string]string) []models.Statistic
Statistics returns statistics for the services running in the Server.
type Service ¶
Service represents a service attached to the server.
type Service interface {
WithLogger(log zap.Logger)
Open() error
Close() error
}
ActiveGo 1.8