美文网首页
mac beats开发环境搭建

mac beats开发环境搭建

作者: 夏可十二 | 来源:发表于2018-11-08 19:36 被阅读204次

    go语言环境搭建

    sdk

    方式一:brew install go
    方式二:官网下载golang
    推荐这种方式,可以选择尽量新的版本,默认安装路径为/usr/local/go,然后设置path
    export GOROOT=/usr/local/go
    export PATH=$PATH:$GOROOT/bin
    GOPATH默认为~/go,也可以设置export GOPATH=你想设置的目录,多个用冒号隔开,windows用分号
    ps:记得source

    image

    ide

    方式一:golang
    方式二:idea
    但是笔者认为都是同一家族的,只想安装插件,所以选择idea。
    如果已经安装,请查看当前idea的版本,注意要求idea的版本不低于2017.3,因为低版本没有对go的插件支持
    如果已经安装了老的版本,可以再到官网下载Download IntelliJ IDEA: The Java IDE for Professional Developers by JetBrains安装个新的,共用同一份设置,两者并存,笔者就是这么做的,哈哈。

    image

    安装go插件

    方式一:通过idea找到插件之后,点击install按钮,安装完然后重启

    image
    方式二:通过官网下载Go - Plugins | JetBrains插件包
    记得要找支持自己idea版本的插件下载到本地,笔者根据自己idea的版本选择的182最新的版本
    image
    然后idea安装下载的插件然后重启
    image

    python2

    brew install python@2

    virtualenv

    pip install virtualenv

    beats

    git clone 源码

    mkdir -p ${GOPATH}/src/github.com/elastic
    cd ${GOPATH}/src/github.com/elastic
    git clone https://github.com/elastic/beats.git

    make

    cd 到某个模块
    make collect
    make update
    make
    然后会在本目录生成一个可执行文件


    image

    开发--processor

    第一步:新增目录与代码文件

    image
    第二步:编写代码
    package add_processor
    
    import (
    "fmt"
    "strings"
    
    "github.com/elastic/beats/libbeat/beat"
    "github.com/elastic/beats/libbeat/common"
    "github.com/elastic/beats/libbeat/processors"
    )
    
    type filter struct {
        Fields []string
    }
    
    func init() {
        processors.RegisterPlugin("add_processor", newProcessor)
    }
    
    func newProcessor(c *common.Config) (processors.Processor, error) {
        config := struct {
            Fields []string `config:"fields"`
    
        }{}
        err := c.Unpack(&config)
        if err != nil {
            return nil, fmt.Errorf("fail to unpack the add_processor configuration: %s", err)
        }
    
        f := &filter{Fields: config.Fields}
        return f, nil
    }
    
    func (f *filter) Run(event *beat.Event) (*beat.Event, error) {
        //code
        return event, nil
    }
    
    func (f *filter) String() string {
        var fields []string
        for i := 0; i < len(f.Fields); i++ {
            fields = append(fields, f.Fields[i])
        }
        return "add_processor=" + strings.Join(fields, ", ")
    }
    

    第三步:增加配置项
    文件位置:filebeat/beater/filebeat.go
    import中增加刚刚新建的processor目录
    _ "github.com/elastic/beats/filebeat/processor/add_processor"

    相关文章

      网友评论

          本文标题:mac beats开发环境搭建

          本文链接:https://www.haomeiwen.com/subject/rhfgxqtx.html