基于metricbeat构建属于自己的beat

简述

Beats是开源数据发送者,可以将其作为代理安装在您的服务器上,以将不同类型的运营数据发送到Elasticsearch。Beats可以直接发送数据到Elasticsearch或通过Logstash发送到Elasticsearch,可以使用它来分析和转换数据。
Metricbeat是一个服务器监视代理程序,它定期从服务器上运行的操作系统和服务中收集指标。配合kibana的dashboard可以直观的监控系统状态。

依赖:

  1. Golang 1.9.2 或更高版本,$GOPATH 正确配置
  2. python
  3. virtualenv

Step 1 - 获取metricbeat源码

go get github.com/elastic/beats/metricbeat
git checkout v6.2.4

Step 2 - 新建beat

python ${GOPATH}/src/github.com/elastic/beats/script/generate.py --type=metricbeat

按照提示输入beat的名称和路径

Step 3 - 初始化beat并创建metricset

make setup

setup主要完成了以下三个操作

  1. 复制依赖包
  2. make ceate metricbeat
  3. make collect
    每个操作具体执行了什么,可以通过查看Makefile来确定

如果使用的是python2的话,执行makesetup时会报错
解决方法:
1.将raw_input改为input
2.复制vendor/github.com/elastic/beats/metricbeat/scripts/generate_imports_helper.py 到 vendor/github.com/elastic/beats/script/

Step 4 - 构建和运行

make
make update

在操作过程中需使用自己定义的beat的名称对{beatname}进行替换
修改配置文件将metricbeat替换成{beatname}

./beatname  -e -f {beatname}.yml -d "*"

Step 5 - 打包

make package

打包过程中可能会遇到如下问题:
Q1:获取docker镜像失败
A1: 配置docker镜像加速器

你可能感兴趣的:(基于metricbeat构建属于自己的beat)