logsend

package
v0.0.0-...-82cd86b Latest Latest
Warning

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

Go to latest
Published: Mar 25, 2016 License: MIT Imports: 19 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var Conf = &Configuration{
	WatchDir:          "",
	registeredSenders: make(map[string]*SenderRegister),
}
View Source
var LocalIps []string //本地IP
View Source
var Locker sync.Mutex
View Source
var Root string //根目录路径

worker的数控为最大CPU核数

View Source
var WatcherMap map[string]*File = make(map[string]*File)

监听的路径-文件映射

Functions

func CheckAgent

func CheckAgent(configFile string)

检测Agent的配置环境

func Ci2float

func Ci2float(i interface{}) (o interface{}, err error)

interface转浮点

func Ci2int

func Ci2int(i interface{}) (o interface{}, err error)

interface转整数

func Ci2string

func Ci2string(i interface{}) (o string, err error)

interface转字符串

func InitDefault

func InitDefault(conf map[string]string, sender Sender) error

1.初始化配置 2.监听消息发送通道

func InitEnv

func InitEnv()

func InitKafka

func InitKafka(conf map[string]string, sender Sender) error

1.初始化配置 2.监听消息发送通道

func InitLocalIps

func InitLocalIps()

初始化本地IP

func LoadRawConfig

func LoadRawConfig(f *flag.Flag)

载入默认配置

func MarshaLogLines

func MarshaLogLines(loglines []*LogLine) []byte

func ProcessStdin

func ProcessStdin() error

处理Pipe的标准输入命令

func ReadConfig

func ReadConfig(cfgFile string) map[string]map[string]string

读取ini格式的配置文件

func RegisterNewSender

func RegisterNewSender(name string, init func(map[string]string, Sender) error, get func() Sender)

func TimerCheck

func TimerCheck()

func WatchFiles

func WatchFiles(configFile string)

监听文件

Types

type Configuration

type Configuration struct {
	WatchDir     string
	ReadWholeLog bool
	ReadAlway    bool
	SenderName   string

	IsPoll bool
	// contains filtered or unexported fields
}

配置结构

type DefaultSender

type DefaultSender struct {
	// contains filtered or unexported fields
}

func (*DefaultSender) Name

func (self *DefaultSender) Name() string

display the name of sender

func (*DefaultSender) Receive

func (self *DefaultSender) Receive()

数据接收

func (*DefaultSender) Send

func (self *DefaultSender) Send(ll *LogLine)

func (*DefaultSender) SetConfig

func (self *DefaultSender) SetConfig(obj interface{}) error

注入配置

func (*DefaultSender) Stop

func (self *DefaultSender) Stop() error

type File

type File struct {
	Tail *tail.Tail
	// contains filtered or unexported fields
}

监听文件结构

func NewFile

func NewFile(fpath string, sender Sender) (*File, error)

创建监听文件

type KafkaProducer

type KafkaProducer struct {
	// contains filtered or unexported fields
}

func NewKafkaProducer

func NewKafkaProducer(brokers []string, topic string, bufferTime, bufferBytes, batchSz int) (*KafkaProducer, error)

构造生产者

func (*KafkaProducer) Close

func (k *KafkaProducer) Close() error

关闭生产者连接

func (*KafkaProducer) Write

func (k *KafkaProducer) Write(s string)

生产数据写入

type KafkaSender

type KafkaSender struct {
	// contains filtered or unexported fields
}

output to kafka

func (*KafkaSender) Name

func (self *KafkaSender) Name() string

func (*KafkaSender) Receive

func (self *KafkaSender) Receive()

func (*KafkaSender) Send

func (self *KafkaSender) Send(ll *LogLine)

func (*KafkaSender) SetConfig

func (self *KafkaSender) SetConfig(obj interface{}) error

func (*KafkaSender) Stop

func (self *KafkaSender) Stop() error

type LogLine

type LogLine struct {
	Ts   int64
	Line []byte
}

type Rule

type Rule struct {
	// contains filtered or unexported fields
}

规则引擎

func LoadConfigFromFile

func LoadConfigFromFile(fileName string) (rule *Rule, err error)

载入自定义配置文件

func NewRule

func NewRule(sregexp string, watchDir string) (*Rule, error)

创建规则

func (*Rule) CloseSender

func (self *Rule) CloseSender()

关闭Sender

func (*Rule) GetSender

func (self *Rule) GetSender() Sender

type Sender

type Sender interface {
	Send(*LogLine)
	Receive()
	SetConfig(interface{}) error
	Name() string
	Stop() error
}

sender abstract

func NewDefaultSender

func NewDefaultSender() Sender

工厂类,生成本Sender

func NewKafkaSender

func NewKafkaSender() Sender

工厂类,生成本Sender

type SenderRegister

type SenderRegister struct {
	// contains filtered or unexported fields
}

func (*SenderRegister) InitSender

func (self *SenderRegister) InitSender(val map[string]string) (sender Sender, err error)

初始化Sender

type Worker

type Worker struct {
	Id   int
	Name string
}

数据处理worker

func NewWorker

func NewWorker(id int, name string) *Worker

Jump to

Keyboard shortcuts

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