mgr

package
v1.4.6 Latest Latest
Warning

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

Go to latest
Published: Mar 28, 2018 License: Apache-2.0 Imports: 31 Imported by: 14

Documentation

Index

Constants

View Source
const (
	StatusOK   = "ok"
	StatusBad  = "bad"
	StatusLost = "lost"
)
View Source
const (
	StatsShell = "stats"
	PREFIX     = "/logkit"
)
View Source
const (
	SpeedUp     = "up"
	SpeedDown   = "down"
	SpeedStable = "stable"

	RunnerRunning = "running"
	RunnerStopped = "stopped"
)
View Source
const DefaultMyTag = "default"
View Source
const DefaultTryTimes = 3
View Source
const (
	KeyMetricType = "type"
)
View Source
const KeyRouterConfig = "router"
View Source
const KeySendConfig = "senders"

Variables

View Source
var DEFAULT_LOGKIT_REST_DIR = "/.logkitconfs"
View Source
var DEFAULT_PORT = 3000
View Source
var DIR_NOT_EXIST_SLEEP_TIME = "300" //300 s
View Source
var KeySampleLog = "sampleLog"

Functions

func Bool2String added in v1.4.6

func Bool2String(i bool) string

func GetMySlaveUrl added in v1.3.6

func GetMySlaveUrl(address, schema string) (uri string, err error)

func MergeEnvTags added in v1.4.6

func MergeEnvTags(name string, tags map[string]interface{}) map[string]interface{}

MergeEnvTags 获取环境变量里的内容

func MergeExtraInfoTags added in v1.4.6

func MergeExtraInfoTags(meta *reader.Meta, tags map[string]interface{}) map[string]interface{}

func NewMetric

func NewMetric(tp string) (metric.Collector, error)

func ParseData added in v1.4.3

func ParseData(parserConfig conf.MapConf) (parsedData []Data, err error)

parse模块中各种type的日志都能获取解析后的数据

func RawData added in v1.4.3

func RawData(readerConfig conf.MapConf) (rawData string, err error)

reader模块中各种type的日志都能获取raw_data

func Register added in v1.3.6

func Register(masters []string, myhost, tag string) error

func RespError added in v1.4.0

func RespError(c echo.Context, respCode int, errCode, errMsg string) error

func RespSuccess added in v1.4.0

func RespSuccess(c echo.Context, data interface{}) error

func SendData added in v1.4.3

func SendData(senderConfig map[string]interface{}) error

func TransformData added in v1.4.3

func TransformData(transformerConfig map[string]interface{}) ([]Data, error)

Types

type CleanInfo

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

type Cluster added in v1.3.6

type Cluster struct {
	ClusterConfig
	// contains filtered or unexported fields
}

func NewCluster added in v1.3.6

func NewCluster(cc *ClusterConfig) *Cluster

func (*Cluster) AddSlave added in v1.3.6

func (cc *Cluster) AddSlave(url, tag string)

func (*Cluster) RunRegisterLoop added in v1.3.6

func (cc *Cluster) RunRegisterLoop() error

func (*Cluster) UpdateSlaveStatus added in v1.3.6

func (cc *Cluster) UpdateSlaveStatus()

type ClusterConfig added in v1.3.6

type ClusterConfig struct {
	MasterUrl []string `json:"master_url"`
	IsMaster  bool     `json:"is_master"`
	Enable    bool     `json:"enable"`
	Address   string   `json:"address"`
	Tag       string   `json:"tag"`
}

type ClusterStatus added in v1.3.6

type ClusterStatus struct {
	Status map[string]RunnerStatus `json:"status"`
	Tag    string                  `json:"tag"`
	Err    string                  `json:"error"`
}

type LogExportRunner

type LogExportRunner struct {
	RunnerInfo
	// contains filtered or unexported fields
}

func NewLogExportRunner

func NewLogExportRunner(rc RunnerConfig, cleanChan chan<- cleaner.CleanSignal, ps *parser.ParserRegistry, sr *sender.SenderRegistry) (runner *LogExportRunner, err error)

func NewLogExportRunnerWithService

func NewLogExportRunnerWithService(info RunnerInfo, reader reader.Reader, cleaner *cleaner.Cleaner, parser parser.LogParser,
	transformers []transforms.Transformer, senders []sender.Sender, router *router.Router, meta *reader.Meta) (runner *LogExportRunner, err error)

func (*LogExportRunner) Cleaner

func (r *LogExportRunner) Cleaner() CleanInfo

func (*LogExportRunner) LagStats

func (r *LogExportRunner) LagStats() (rl *LagInfo, err error)

func (*LogExportRunner) Name

func (r *LogExportRunner) Name() string

func (*LogExportRunner) Reset added in v1.3.1

func (r *LogExportRunner) Reset() (err error)

func (*LogExportRunner) Run

func (r *LogExportRunner) Run()

func (*LogExportRunner) Status

func (r *LogExportRunner) Status() RunnerStatus

func (*LogExportRunner) StatusBackup added in v1.3.5

func (r *LogExportRunner) StatusBackup()

func (*LogExportRunner) StatusRestore added in v1.3.5

func (r *LogExportRunner) StatusRestore()

func (*LogExportRunner) Stop

func (r *LogExportRunner) Stop()

func (*LogExportRunner) TokenRefresh added in v1.4.4

func (r *LogExportRunner) TokenRefresh(tokens AuthTokens) error

type Manager

type Manager struct {
	ManagerConfig
	DefaultDir string

	Version    string
	SystemInfo string
	// contains filtered or unexported fields
}

func NewCustomManager

func NewCustomManager(conf ManagerConfig, pr *parser.ParserRegistry, sr *sender.SenderRegistry) (*Manager, error)

func NewManager

func NewManager(conf ManagerConfig) (*Manager, error)

func (*Manager) Add

func (m *Manager) Add(confPath string)

func (*Manager) AddRunner added in v1.4.3

func (m *Manager) AddRunner(name string, conf RunnerConfig) (err error)

func (*Manager) Configs added in v1.4.2

func (m *Manager) Configs() (rss map[string]RunnerConfig)

func (*Manager) DeleteRunner added in v1.4.3

func (m *Manager) DeleteRunner(name string) (err error)

func (*Manager) ForkRunner added in v1.2.3

func (m *Manager) ForkRunner(confPath string, nconf RunnerConfig, errReturn bool) error

func (*Manager) Remove

func (m *Manager) Remove(confPath string) (err error)

func (*Manager) RemoveWithConfig added in v1.3.5

func (m *Manager) RemoveWithConfig(confPath string, isDelete bool) (err error)

func (*Manager) ResetRunner added in v1.4.3

func (m *Manager) ResetRunner(name string) (err error)

func (*Manager) RestoreWebDir added in v1.2.3

func (m *Manager) RestoreWebDir()

func (*Manager) StartRunner added in v1.4.3

func (m *Manager) StartRunner(name string) (err error)

func (*Manager) Status

func (m *Manager) Status() (rss map[string]RunnerStatus)

func (*Manager) Stop

func (m *Manager) Stop() error

func (*Manager) StopRunner added in v1.4.3

func (m *Manager) StopRunner(name string) (err error)

func (*Manager) UpdateRunner added in v1.4.3

func (m *Manager) UpdateRunner(name string, conf RunnerConfig) (err error)

func (*Manager) UpdateToken added in v1.4.4

func (m *Manager) UpdateToken(tokens []AuthTokens) (err error)

func (*Manager) Watch

func (m *Manager) Watch(confsPath []string) (err error)

type ManagerConfig

type ManagerConfig struct {
	BindHost string `json:"bind_host"`

	Idc          string        `json:"idc"`
	Zone         string        `json:"zone"`
	RestDir      string        `json:"rest_dir"`
	Cluster      ClusterConfig `json:"cluster"`
	DisableWeb   bool          `json:"disable_web"`
	ServerBackup bool          `json:"-"`
}

type MetricConfig added in v1.3.6

type MetricConfig struct {
	MetricType string                 `json:"type"`
	Attributes map[string]bool        `json:"attributes"`
	Config     map[string]interface{} `json:"config"`
}

type MetricRunner

type MetricRunner struct {
	RunnerName string `json:"name"`
	// contains filtered or unexported fields
}

func NewMetricRunner

func NewMetricRunner(rc RunnerConfig, sr *sender.SenderRegistry) (runner *MetricRunner, err error)

func (*MetricRunner) Cleaner

func (_ *MetricRunner) Cleaner() CleanInfo

func (*MetricRunner) Name

func (mr *MetricRunner) Name() string

func (*MetricRunner) Reset added in v1.3.6

func (mr *MetricRunner) Reset() (err error)

func (*MetricRunner) Run

func (r *MetricRunner) Run()

func (*MetricRunner) Status

func (mr *MetricRunner) Status() RunnerStatus

func (*MetricRunner) StatusBackup added in v1.3.6

func (mr *MetricRunner) StatusBackup()

func (*MetricRunner) StatusRestore added in v1.3.6

func (mr *MetricRunner) StatusRestore()

func (*MetricRunner) Stop

func (mr *MetricRunner) Stop()

func (*MetricRunner) TokenRefresh added in v1.4.4

func (mr *MetricRunner) TokenRefresh(tokens AuthTokens) error

type PostParseRet added in v1.2.3

type PostParseRet struct {
	SamplePoints []Data `json:"SamplePoints"`
}

PostParseRet 返回值

type RegisterReq added in v1.3.6

type RegisterReq struct {
	Url string `json:"url"`
	Tag string `json:"tag"`
}

type Resetable added in v1.3.1

type Resetable interface {
	Reset() error
}

type RestService

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

func NewRestService

func NewRestService(mgr *Manager, router *echo.Echo) *RestService

func (*RestService) ClusterStatus added in v1.3.6

func (rs *RestService) ClusterStatus() echo.HandlerFunc

master API GET /logkit/cluster/status?tag=tagValue&url=urlValue

func (*RestService) DeleteClusterConfig added in v1.3.6

func (rs *RestService) DeleteClusterConfig() echo.HandlerFunc

DELETE /logkti/cluster/configs/<name>?tag=tagValue&url=urlValue

func (*RestService) DeleteConfig added in v1.2.3

func (rs *RestService) DeleteConfig() echo.HandlerFunc

delete /logkit/configs/<name>

func (*RestService) DeleteSlaves added in v1.3.6

func (rs *RestService) DeleteSlaves() echo.HandlerFunc

DELETE /logkit/cluster/slaves?tag=tagValue&url=urlValue

func (*RestService) GetClusterConfig added in v1.4.1

func (rs *RestService) GetClusterConfig() echo.HandlerFunc

master API Get /logkit/cluster/configs:name?tag=tagValue&url=urlValue

func (*RestService) GetClusterConfigs added in v1.3.6

func (rs *RestService) GetClusterConfigs() echo.HandlerFunc

master API Get /logkit/cluster/configs?tag=tagValue&url=urlValue

func (*RestService) GetClusterRunners added in v1.4.0

func (rs *RestService) GetClusterRunners() echo.HandlerFunc

master API GET /logkit/cluster/runners?tag=tagValue&url=urlValue

func (*RestService) GetConfig added in v1.2.3

func (rs *RestService) GetConfig() echo.HandlerFunc

get /logkit/configs/:name

func (*RestService) GetConfigs added in v1.2.3

func (rs *RestService) GetConfigs() echo.HandlerFunc

get /logkit/configs

func (*RestService) GetErrorCodeHumanize added in v1.4.0

func (rs *RestService) GetErrorCodeHumanize() echo.HandlerFunc

get /logkit/errorcode

func (*RestService) GetMetricKeys added in v1.3.6

func (rs *RestService) GetMetricKeys() echo.HandlerFunc

GET /logkit/metric/keys

func (*RestService) GetMetricOptions added in v1.3.6

func (rs *RestService) GetMetricOptions() echo.HandlerFunc

GET /logkit/metric/options

func (*RestService) GetMetricUsages added in v1.3.6

func (rs *RestService) GetMetricUsages() echo.HandlerFunc

GET /logkit/metric/usages

func (*RestService) GetParserKeyOptions added in v1.2.3

func (rs *RestService) GetParserKeyOptions() echo.HandlerFunc

get /logkit/parser/options 获取解析选项

func (*RestService) GetParserSampleLogs added in v1.2.3

func (rs *RestService) GetParserSampleLogs() echo.HandlerFunc

get /logkit/parser/samplelogs 获取样例日志

func (*RestService) GetParserUsages added in v1.2.3

func (rs *RestService) GetParserUsages() echo.HandlerFunc

get /logkit/parser/usages 获得解析用途说明

func (*RestService) GetReaderKeyOptions added in v1.2.3

func (rs *RestService) GetReaderKeyOptions() echo.HandlerFunc

get /logkit/reader/options 获取Reader参数配置

func (*RestService) GetReaderUsages added in v1.2.3

func (rs *RestService) GetReaderUsages() echo.HandlerFunc

get /logkit/reader/usages 获取Reader用途

func (*RestService) GetRunners added in v1.4.0

func (rs *RestService) GetRunners() echo.HandlerFunc

get /logkit/runners

func (*RestService) GetSenderKeyOptions added in v1.2.3

func (rs *RestService) GetSenderKeyOptions() echo.HandlerFunc

get /logkit/sender/options 获取sender配置参数

func (*RestService) GetSenderRouterOption added in v1.4.2

func (rs *RestService) GetSenderRouterOption() echo.HandlerFunc

get /logkit/sender/router/option 获取所有sender router的配置项

func (*RestService) GetSenderRouterUsage added in v1.4.2

func (rs *RestService) GetSenderRouterUsage() echo.HandlerFunc

get /logkit/sender/router/usage 获取所有sender router匹配方式的名字和作用

func (*RestService) GetSenderUsages added in v1.2.3

func (rs *RestService) GetSenderUsages() echo.HandlerFunc

get /logkit/sender/usages 获取sender用途说明

func (*RestService) GetTransformerOptions added in v1.3.2

func (rs *RestService) GetTransformerOptions() echo.HandlerFunc

GET /logkit/transformer/options

func (*RestService) GetTransformerSampleConfigs added in v1.3.2

func (rs *RestService) GetTransformerSampleConfigs() echo.HandlerFunc

GET /logkit/transformer/sampleconfigs

func (*RestService) GetTransformerUsages added in v1.3.2

func (rs *RestService) GetTransformerUsages() echo.HandlerFunc

GET /logkit/transformer/usages

func (*RestService) GetVersion added in v1.3.1

func (rs *RestService) GetVersion() echo.HandlerFunc

func (*RestService) IsMaster added in v1.4.0

func (rs *RestService) IsMaster() echo.HandlerFunc

master API GET /logkit/cluster/ismaster

func (*RestService) Ping added in v1.3.6

func (rs *RestService) Ping() echo.HandlerFunc

master API GET /logkit/cluster/ping

func (*RestService) PostClusterConfig added in v1.3.6

func (rs *RestService) PostClusterConfig() echo.HandlerFunc

POST /logkit/cluster/configs/<name>?tag=tagValue&url=urlValue

func (*RestService) PostClusterConfigReset added in v1.3.6

func (rs *RestService) PostClusterConfigReset() echo.HandlerFunc

POST /logkit/cluster/configs/<name>/reset?tag=tagValue&url=urlValue

func (*RestService) PostClusterConfigStart added in v1.3.6

func (rs *RestService) PostClusterConfigStart() echo.HandlerFunc

POST /logkit/cluster/configs/<name>/start?tag=tagValue&url=urlValue

func (*RestService) PostClusterConfigStop added in v1.3.6

func (rs *RestService) PostClusterConfigStop() echo.HandlerFunc

POST /logkit/cluster/configs/<name>/stop?tag=tagValue&url=urlValue

func (*RestService) PostConfig added in v1.2.3

func (rs *RestService) PostConfig() echo.HandlerFunc

post /logkit/configs/<name>

func (*RestService) PostConfigReset added in v1.3.1

func (rs *RestService) PostConfigReset() echo.HandlerFunc

POST /logkit/configs/<name>/reset

func (*RestService) PostConfigStart added in v1.3.5

func (rs *RestService) PostConfigStart() echo.HandlerFunc

POST /logkit/configs/<name>/start

func (*RestService) PostConfigStop added in v1.3.5

func (rs *RestService) PostConfigStop() echo.HandlerFunc

POST /logkit/configs/<name>/stop

func (*RestService) PostParse added in v1.2.3

func (rs *RestService) PostParse() echo.HandlerFunc

post /logkit/parser/parse 接受解析请求

func (*RestService) PostParserCheck added in v1.2.4

func (rs *RestService) PostParserCheck() echo.HandlerFunc

POST /logkit/parser/check

func (*RestService) PostRead added in v1.4.3

func (rs *RestService) PostRead() echo.HandlerFunc

POST /logkit/reader/read 请求校验reader配置

func (*RestService) PostReaderCheck added in v1.2.4

func (rs *RestService) PostReaderCheck() echo.HandlerFunc

POST /logkit/reader/check 请求校验reader配置

func (*RestService) PostRegister added in v1.3.6

func (rs *RestService) PostRegister() echo.HandlerFunc

master API POST /logkit/cluster/register

func (*RestService) PostSend added in v1.4.3

func (rs *RestService) PostSend() echo.HandlerFunc

POST /logkit/sender/send 请求校验sender配置

func (*RestService) PostSenderCheck added in v1.2.4

func (rs *RestService) PostSenderCheck() echo.HandlerFunc

POST /logkit/sender/check 请求校验sender配置

func (*RestService) PostSlaveTag added in v1.3.6

func (rs *RestService) PostSlaveTag() echo.HandlerFunc

POST /logkit/cluster/slaves/tag?tag=tagValue&url=urlValue

func (*RestService) PostTag added in v1.3.6

func (rs *RestService) PostTag() echo.HandlerFunc

slave API POST /logkit/cluster/tag

func (*RestService) PostTransform added in v1.4.1

func (rs *RestService) PostTransform() echo.HandlerFunc

POST /logkit/transformer/transform Transform (multiple logs/single log) in (json array/json object) format with registered transformers Return result string in json array format

func (*RestService) PostTransformerCheck added in v1.4.3

func (rs *RestService) PostTransformerCheck() echo.HandlerFunc

POST /logkit/transformer/check

func (*RestService) PutClusterConfig added in v1.3.6

func (rs *RestService) PutClusterConfig() echo.HandlerFunc

PUT /logkit/cluster/configs/<name>?tag=tagValue&url=urlValue

func (*RestService) PutConfig added in v1.3.1

func (rs *RestService) PutConfig() echo.HandlerFunc

put /logkit/configs/<name>

func (*RestService) Register added in v1.3.6

func (rs *RestService) Register() error

func (*RestService) Slaves added in v1.3.6

func (rs *RestService) Slaves() echo.HandlerFunc

master API GET /logkit/cluster/slaves?tag=tagValue&url=urlValue

func (*RestService) Status added in v1.2.3

func (rs *RestService) Status() echo.HandlerFunc

get /logkit/status

func (*RestService) Stop

func (rs *RestService) Stop()

Stop will stop RestService

type Runner

type Runner interface {
	Name() string
	Run()
	Stop()
	Cleaner() CleanInfo
	Status() RunnerStatus
}

func NewCustomRunner

func NewCustomRunner(rc RunnerConfig, cleanChan chan<- cleaner.CleanSignal, ps *parser.ParserRegistry, sr *sender.SenderRegistry) (runner Runner, err error)

func NewRunner

func NewRunner(rc RunnerConfig, cleanChan chan<- cleaner.CleanSignal) (runner Runner, err error)

NewRunner 创建Runner

func NewRunnerWithService

func NewRunnerWithService(info RunnerInfo, reader reader.Reader, cleaner *cleaner.Cleaner, parser parser.LogParser, transformers []transforms.Transformer,
	senders []sender.Sender, router *router.Router, meta *reader.Meta) (runner Runner, err error)

type RunnerConfig

type RunnerConfig struct {
	RunnerInfo
	MetricConfig  []MetricConfig           `json:"metric,omitempty"`
	ReaderConfig  conf.MapConf             `json:"reader"`
	CleanerConfig conf.MapConf             `json:"cleaner,omitempty"`
	ParserConf    conf.MapConf             `json:"parser"`
	Transforms    []map[string]interface{} `json:"transforms,omitempty"`
	SenderConfig  []conf.MapConf           `json:"senders"`
	Router        router.RouterConfig      `json:"router,omitempty"`
	IsInWebFolder bool                     `json:"web_folder,omitempty"`
	IsStopped     bool                     `json:"is_stopped,omitempty"`
}

RunnerConfig 从多数据源读取,经过解析后,发往多个数据目的地

func Compatible

func Compatible(rc RunnerConfig) RunnerConfig

Compatible 用于新老配置的兼容

func TrimSecretInfo added in v1.4.6

func TrimSecretInfo(conf RunnerConfig) RunnerConfig

TrimSecretInfo 将配置文件中的 token 信息去掉

type RunnerInfo

type RunnerInfo struct {
	RunnerName       string `json:"name"`
	CollectInterval  int    `json:"collect_interval,omitempty"` // metric runner收集的频率
	MaxBatchLen      int    `json:"batch_len,omitempty"`        // 每个read batch的行数
	MaxBatchSize     int    `json:"batch_size,omitempty"`       // 每个read batch的字节数
	MaxBatchInterval int    `json:"batch_interval,omitempty"`   // 最大发送时间间隔
	MaxBatchTryTimes int    `json:"batch_try_times,omitempty"`  // 最大发送次数,小于等于0代表无限重试
	CreateTime       string `json:"createtime"`
	EnvTag           string `json:"env_tag,omitempty"`
	ExtraInfo        bool   `json:"extra_info,omitempty"`
}

type RunnerStatus

type RunnerStatus struct {
	Name           string               `json:"name"`
	Logpath        string               `json:"logpath"`
	ReadDataSize   int64                `json:"readDataSize"`
	ReadDataCount  int64                `json:"readDataCount"`
	Elaspedtime    float64              `json:"elaspedtime"`
	Lag            LagInfo              `json:"lag"`
	ReaderStats    StatsInfo            `json:"readerStats"`
	ParserStats    StatsInfo            `json:"parserStats"`
	SenderStats    map[string]StatsInfo `json:"senderStats"`
	TransformStats map[string]StatsInfo `json:"transformStats"`
	Error          string               `json:"error,omitempty"`

	ReadSpeedKB      float64 `json:"readspeed_kb"`
	ReadSpeed        float64 `json:"readspeed"`
	ReadSpeedTrendKb string  `json:"readspeedtrend_kb"`
	ReadSpeedTrend   string  `json:"readspeedtrend"`
	RunningStatus    string  `json:"runningStatus"`
	Tag              string  `json:"tag,omitempty"`
	Url              string  `json:"url,omitempty"`
	// contains filtered or unexported fields
}

type Service added in v1.2.3

type Service struct {
	Prefix string
}

type Slave added in v1.3.6

type Slave struct {
	Url       string    `json:"url"`
	Tag       string    `json:"tag"`
	Status    string    `json:"status"`
	LastTouch time.Time `json:"last_touch"`
}

type SlaveConfig added in v1.3.6

type SlaveConfig struct {
	Configs map[string]RunnerConfig `json:"configs"`
	Tag     string                  `json:"tag"`
	Err     string                  `json:"error"`
}

type StatusPersistable added in v1.3.5

type StatusPersistable interface {
	StatusBackup()
	StatusRestore()
}

type TagReq added in v1.3.6

type TagReq struct {
	Tag string `json:"tag"`
}

type TokenRefreshable added in v1.4.4

type TokenRefreshable interface {
	TokenRefresh(AuthTokens) error
}

type Version added in v1.3.1

type Version struct {
	Version string `json:"version"`
}

Jump to

Keyboard shortcuts

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