Creating a Metricbeat Module

https://www.elastic.co/guide/en/beats/devguide/current/index.html 

一、本地正确安装golang

 yum install -y golang  或者https://golang.org/doc/install

二、设置好GOPATH

vim ~/.bash_profile

export GOROOT=/usr/local/go

export PATH=$PATH:$GOROOT/bin

export GOPATH=/usr/local/go

三、获取metricbeat源码

将beat克隆下来,目录为$GOROOT/$yourdirectory/src/github.com/elastic/beats

    git clonehttps://github.com/elastic/beats.git

或者: go get  github.com/elastic/beats/metricbeat 

四、创建metricset

进入到 $GOROOT/$yourdirectory/src/github.com/elastic/beats/metricbeat/目录下执行

    make create-metricset (依赖  yum install -y python-virtualenv)

按提示输入自定义的module name & metricset name(module name可以是已存在的module,可向已存在的module添加新的metricset)

    Module name: 

    Metricset name: 

五、编辑自定义脚本

进入到{metricbeat}/module/{module name}/{metricset name}/编辑自定义脚本

{metricset name}.go # 改脚本模板会自动生成,一般情况下只需修改 func Fetch()自定义数据采集及数据输出

六、编译metricbeat

到{metricbeat}/module/{module name}/目录下

执行 make collect  #将所做的修改录入metricbeat

执行 make  #编译

七、Debug

编译完后会出现一个 metricbeat二进制文件,到modules.d目录下可将需要采集数据的配置文件去掉disabled(默认只有system是没有disabled的)

运行  ./metricbeat -e -d "*"  可debug查看编译完后的metricbeat是否工作正常,采集的数据是否正常

八、使用编译好的metricbeat

将正常工作的二进制文件 metricbeat复制到原有的metricbeat二进制文件目录下,将其替换,将生成的modules.d文件夹下所有文件复制到/etc/metricbeat/modules.d/下替换原有的文件

    systemctl stop metricbeat

    cp metcibeat  /usr/bin/metricbeat

    cp metricbeat /usr/share/metricbeat/bin/metricbeat

    cp -r modules.d/*  /etc/metricbeat/modules.d/

九、启动Metricbeat service

修改配置文件/etc/metricbeat/metricbeat.yml并启动服务

配置其 output等参数

    systemctl start metricbeat

你可能感兴趣的:(Creating a Metricbeat Module)