作者:冯江涛
Beats 是轻量级(资源高效,无依赖性,小型)和开放源代码日志发送程序的集合,这些日志发送程序充当安装在基础结构中不同服务器上的代理,用于收集日志或指标(Metrics)。这些可以是日志文件(Filebeat),网络数据(Packetbeat),服务器指标(Metricbeat)或 Elastic 和社区开发的越来越多的 Beats 可以收集的任何其他类型的数据。 收集后,数据将直接发送到 Elasticsearch 或 Logstash 中进行其他处理。Beats 建立在名为 libbeat 的 Go 框架之上,该框架用于数据转发,这意味着社区一直在开发和贡献新的 Beats。
Elastic Beats
环境准备作为 Elastic Stack 的补充,在使用 Beats 之前,需要已安装好 Elasticearch 和 Kibana。Elasticsearch 用来存储,分析和检索数据,而 Kibana 作为可视化,监控和管理端。
接下来将基于 Elastic Stack 7.1.0 版本为基础,以 Metricbeat 组件为例,其他 Beats 组件使用方法类似。在安装 Beats 时,需要注意的一点是 Beats 的版本要和 Elasticsearch 及 Kibana 的版本一致,或至少是大版本是一致的。
Beats 组件的下载和安装根据不同操作系统,选择合适的安装包。下面以 Elastic Stack 7.10 为例来展示 Metricbeat 的安装过程。如果你想安装其它版本的 Metricbeat,请替换命令行中的版本 7.10.0,然后按照同样的方法来进行安装。
deb:curl -L -O https://artifacts.elastic.co/downloads/beats/metricbeat/metricbeat-7.10.0-amd64.deb sudo dpkg -i metricbeat-7.10.0-amd64.debrpm:
curl -L -O https://artifacts.elastic.co/downloads/beats/metricbeat/metricbeat-7.10.0-x86_64.rpm sudo rpm -vi metricbeat-7.10.0-x86_64.rpmmac:
curl -L -O https://artifacts.elastic.co/downloads/beats/metricbeat/metricbeat-7.10.0-darwin-x86_64.tar.gz tar xzvf metricbeat-7.10.0-darwin-x86_64.tar.gzbrew:
brew tap elastic/tap brew install elastic/tap/metricbeat-fulllinux:
curl -L -O https://artifacts.elastic.co/downloads/beats/metricbeat/metricbeat-7.10.0-linux-x86_64.tar.gz tar xzvf metricbeat-7.10.0-linux-x86_64.tar.gzwin:
下载
zip 安装包:metricbeat-7.10.0-windows-x86_64.zip:https://artifacts.elastic.co/downloads/beats/metricbeat/metricbeat-7.10.0-windows-x86_64.zipMSI 安装包:metricbeat-7.10.0-windows-x86_64.msi:https://artifacts.elastic.co/downloads/beats/metricbeat/metricbeat-7.10.0-windows-x86_64.msi解压并重命名 zip 安装包到 C:\Program Files\Metricbeat 。以管理员身份打开 CDM 指令窗口。进入 Metricbeat 目录执行安装.# 1.进入目录 cd C:\Program Files\Metricbeat # 2.安装Metricbeat为Windows服务 .\install-service-metricbeat.ps1更多 Beats 组件可以前往下载页面 Beats Download:https://www.elastic.co/cn/downloads/beats基础配置
进入解压后的 Metricbeat 目录可以看到,安装目录的根目录下如下文件及文件夹:
$ ls -l fields.yml kibana LICENSE.txt metricbeat # 完整的配置文件模板 metricbeat.reference.yml # 默认的配置文件 metricbeat.yml module modules.d NOTICE.txt README.md
我们只修改使用 metricbeat.yml 这个配置文件。
如果你的 Elasticsearch 和 Kibana 都安装在同一台主机上,并配置了默认的端口,可以跳过此步骤不修改配置,Metricbeat 默认指定了 localhost。
output.elasticsearch: hosts: ["localhost:9200"] # 如果ElasticSearch启用了认证需要配置账号密码 username: "YOUR_ACCOUNT" password: "YOUR_PASSWORD" setup.kibana: host: "localhost:5601" # 如果kibana启用了认证需要配置账号密码 username: "YOUR_ACCOUNT" password: "YOUR_PASSWORD"
配置 Metricbeat,指定运行的模块。
# 查看所有支持的模块 ./metricbeat modules list # 打开 system 模块 ./metricbeat modules enable system
设置初始化环境,在此之前确保 Elasticsearch 和 Kibana 已经正常运行
./metricbeat setup -e
上面的命令输出为:
./metricbeat setup Overwriting ILM policy is disabled. Set `setup.ilm.overwrite: true` for enabling. Index setup finished. Loading dashboards (Kibana must be running and reachable)
如上所示
在 setup 这个过程中,它将为 Beat 生成相应的 Dashboard,Index patterns,Index template, 索引生命周期管理策略以及相应的 Ingest pipeline。这个命令的运行时间比较长。需要耐心等待。上面的命令针对一个 Beat 来说,只需要运行一次就可以了。
启动 BeatsMetricbeat 启动后会发送 system metrics 数据到 Elasticsearch。
./metricbeat -e
是不是觉得记忆上面的安装步骤很麻烦啊?在 Kibana 中,Elastic 已经为我们如何添加数据做了详细的描述,而且安装后的版本一定是和你安装的 Elasticsearch 及 Kibana 的版本是一样的。
具体的操作步骤如下:
在上面显示了如下安装各种 Metrics 的具体步骤。以 System metrics 为例,在上面的页面中向下滚动:
在上面,我们选择所需要的操作系统。再接着按照上面的安装步骤一步一步向下走。我们就可以完成所需要的 Beat 的安装。
检查收集到的数据我们首先打开 Kibana,并启动 Dashboard:
在上面,我们搜索 metricbeat system,我们就可以发现已经预置的 Dashboard。
我们选择 [Metricbeat System] Overview ECS:
点击 Host Overview 可以查看 Metrics 的详情:
Docker 方式安装拉取镜像docker pull docker.elastic.co/beats/metricbeat:7.10.0启动 Docker 版 Metricbeat
通过 -E 设置 Elasticsearch 和 Kibana 的地址及其他参数(如果有必要)。
注意:如果是本机安装的服务,Docker 是无法通过 localhost 连接到 Elasticsearch 和 Kibana 的,可以通过增加参数 docker run --net=host,让 Docker 可以访问到宿主机的 hostname,或者可以通过 ip addr show docker0 查看 docker 的网关地址来访问宿主机。
docker run --net=host \ docker.elastic.co/beats/metricbeat:7.10.0 \ setup -E setup.kibana.host=elastichost:5601 \ -E output.elasticsearch.hosts=["elastichost:9200"]
人脸识别 是目前商业应用最成熟、最广泛的人工智能技术之一,成为开发者、企业接...
大数据市场如今正在呈爆炸式增长。根据调研机构Markets and Markets公司的调查,...
大家在开发Python的过程中,一定会遇到很多反斜杠的问题,很多人被反斜杠的数量...
【51CTO.com快译】 数据分析是对数据进行判断、细化、更改和建模的过程,目的是...
案例背景 永安稻香小镇的体验式数字农业基地是余杭街道依托“阿里以西10分钟”的...
本月DataWorks产品月刊为您带来 产品活动 1.参与阿里云DataWorks问卷调研 (Aliyu...
操作场景 您可以删除不需要的私有镜像。 删除私有镜像后,将无法找回,请谨慎操...
公司介绍 长沙营智信息技术有限公司旗下易撰网,2017年10月份上线以来,基于数据...
阿里巴巴、腾讯、支付宝、网易、IBM、谷歌、京东、 百度、滴滴等一线互联网公司...
【51CTO.com快译】不知道您是否听说过软件架构师最讨厌意大利面这个梗?它是指软...