Documentation
¶
Index ¶
- type Adapter
- type AdapterOption
- func WithAdapterServerAddr(addr string) AdapterOption
- func WithHealthAddr(addr string) AdapterOption
- func WithLogsEgressAPIConnCount(m int) AdapterOption
- func WithLogsEgressAPIConnTTL(d int) AdapterOption
- func WithMaxBindings(i int) AdapterOption
- func WithMetricsToSyslogEnabled(enabled bool) AdapterOption
- func WithSyslogDialTimeout(d time.Duration) AdapterOption
- func WithSyslogIOTimeout(d time.Duration) AdapterOption
- func WithSyslogKeepalive(d time.Duration) AdapterOption
- func WithSyslogSkipCertVerify(b bool) AdapterOption
- type Config
- type LogClient
- type MetricClient
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Adapter ¶
type Adapter struct {
// contains filtered or unexported fields
}
Adapter receives bindings from the scheduler, connects to the RLP for log data, and streams it out to a syslog endpoint.
func NewAdapter ¶
func NewAdapter( logsEgressAPIAddr string, logsEgressAPIAddrWithAZ string, logsEgressAPITLSConfig *tls.Config, adapterServerTLSConfig *tls.Config, metricClient MetricClient, logClient LogClient, sourceIndex string, opts ...AdapterOption, ) *Adapter
NewAdapter returns an Adapter
func (*Adapter) HealthAddr ¶
func (*Adapter) ServerAddr ¶
type AdapterOption ¶
type AdapterOption func(*Adapter)
AdapterOption is a type that will manipulate a config
func WithAdapterServerAddr ¶
func WithAdapterServerAddr(addr string) AdapterOption
WithAdapterServerAddr sets the address for the gRPC server to bind to.
func WithHealthAddr ¶
func WithHealthAddr(addr string) AdapterOption
WithHealthAddr sets the address for the health endpoint to bind to.
func WithLogsEgressAPIConnCount ¶
func WithLogsEgressAPIConnCount(m int) AdapterOption
WithLogsEgressAPIConnCount sets the maximum number of connections to the Loggregator API
func WithLogsEgressAPIConnTTL ¶
func WithLogsEgressAPIConnTTL(d int) AdapterOption
WithLogsEgressAPIConnTTL sets the number of seconds for a connection to the Loggregator API to live
func WithMaxBindings ¶
func WithMaxBindings(i int) AdapterOption
WithMaxBindings sets the maximum bindings allowed per adapter.
func WithMetricsToSyslogEnabled ¶
func WithMetricsToSyslogEnabled(enabled bool) AdapterOption
WithEnableMetricsToSyslog returns a AdapterOption to override the default setting for writing metrics to syslog. By default this feature is disabled.
func WithSyslogDialTimeout ¶
func WithSyslogDialTimeout(d time.Duration) AdapterOption
WithSyslogDialTimeout sets the TCP dial timeout for connecting to a syslog drain
func WithSyslogIOTimeout ¶
func WithSyslogIOTimeout(d time.Duration) AdapterOption
WithSyslogIOTimeout sets the TCP IO timeout for writing to a syslog drain
func WithSyslogKeepalive ¶
func WithSyslogKeepalive(d time.Duration) AdapterOption
WithSyslogKeepalive configures the keepalive interval for HTTPS, TCP, and TLS syslog drains.
func WithSyslogSkipCertVerify ¶
func WithSyslogSkipCertVerify(b bool) AdapterOption
WithSyslogSkipCertVerify sets the TCP InsecureSkipVerify property for syslog
type Config ¶
type Config struct {
SourceIndex string `env:"ADAPTER_INSTANCE_INDEX, required"`
CAFile string `env:"CA_FILE_PATH, required"`
CertFile string `env:"CERT_FILE_PATH, required"`
KeyFile string `env:"KEY_FILE_PATH, required"`
CommonName string `env:"TLS_COMMON_NAME, required"`
RLPCAFile string `env:"LOGS_API_CA_FILE, required"`
RLPCertFile string `env:"LOGS_API_CERT_FILE_PATH, required"`
RLPKeyFile string `env:"LOGS_API_KEY_FILE_PATH, required"`
RLPCommonName string `env:"LOGS_API_COMMON_NAME, required"`
LogsAPIAddr string `env:"LOGS_API_ADDR, required"`
LogsAPIAddrWithAZ string `env:"LOGS_API_ADDR_WITH_AZ, required"`
HealthHostport string `env:"HEALTH_HOSTPORT"`
AdapterHostport string `env:"HOSTPORT"`
PprofHostport string `env:"PPROF_HOSTPORT"`
SyslogKeepalive time.Duration `env:"SYSLOG_KEEPALIVE"`
SyslogDialTimeout time.Duration `env:"SYSLOG_DIAL_TIMEOUT"`
SyslogIOTimeout time.Duration `env:"SYSLOG_IO_TIMEOUT"`
SyslogSkipCertVerify bool `env:"SYSLOG_SKIP_CERT_VERIFY"`
MetricsToSyslogEnabled bool `env:"METRICS_TO_SYSLOG_ENABLED"`
MaxBindings int `env:"MAX_BINDINGS"`
MetricIngressAddr string `env:"METRIC_INGRESS_ADDR, required"`
MetricIngressCN string `env:"METRIC_INGRESS_CN, required"`
MetricEmitterInterval time.Duration `env:"METRIC_EMITTER_INTERVAL"`
}
Config stores configuration settings for the adapter.
func LoadConfig ¶
func LoadConfig() *Config
LoadConfig will load and validate the config from the current environment. If validation fails LoadConfig will log the error and exit the process with status code 1.
type LogClient ¶
type LogClient interface {
EmitLog(message string, opts ...loggregator.EmitLogOption)
}
LogClient is used to emit logs.
type MetricClient ¶
type MetricClient interface {
NewCounterMetric(string, ...pulseemitter.MetricOption) pulseemitter.CounterMetric
NewGaugeMetric(string, string, ...pulseemitter.MetricOption) pulseemitter.GaugeMetric
}
MetricClient is used to emit metrics.