本文整理汇总了Golang中github.com/elastic/beats/libbeat/publisher.Client.PublishEvents方法的典型用法代码示例。如果您正苦于以下问题:Golang Client.PublishEvents方法的具体用法?Golang Client.PublishEvents怎么用?Golang Client.PublishEvents使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/elastic/beats/libbeat/publisher.Client
的用法示例。
在下文中一共展示了Client.PublishEvents方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: Scanner
func Scanner(config config.PathConfig, client publisher.Client) {
duration, _ := time.ParseDuration(config.Period)
ticker := time.NewTicker(duration)
defer ticker.Stop()
for {
select {
case <-ticker.C:
}
events := []common.MapStr{}
logp.Debug("mod", "Scanning glob: %s", config.Glob)
files, _ := filepath.Glob(config.Glob)
for _, file := range files {
logp.Debug("mod", "Get stats for file: %s", file)
stat, _ := os.Lstat(file)
event := common.MapStr{
"@timestamp": common.Time(time.Now()),
"type": "modbeat",
"name": stat.Name(),
"path": file,
"mode": stat.Mode(),
"modtime": stat.ModTime(),
"size": stat.Size(),
}
events = append(events, event)
}
client.PublishEvents(events)
logp.Debug("mod", "Events sent for %s files", len(events))
}
}