Creating a Metricbeat Module

CadenOF · · 1859 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

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


有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:CadenOF

查看原文:Creating a Metricbeat Module

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1859 次点击  
加入收藏 微博
1 回复  |  直到 2019-09-18 15:38:25
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传