Elas
tic Beats(其中包含Metricbeat)是一组轻量型的数据采集器,可以方便地将数据发送给Elasticsearch服务。由于是轻量型的,Beats不会产生太多的运行开销,因此,可以在硬件资源有限的设备(如 IoT 设备、边缘设备或嵌入式设备)上运行和收集数据。如果您需要收集数据,但没有资源来运行资源密集型数据收集器,那么Beats会是您最佳的选择。这种无处不在(涵盖所有联网设备)的数据收集方式,能够让您快速检测到异常情况并做出反应,例如系统范围内的问题和安全事件等。
Metricbeat可以收集并预处理系统和服务指标数据。系统指标包括运行中的进程的相关信息,以及CPU、内存、磁盘、网络利用率等方面的数据。借助丰富的模块,可以收集来自不同服务的数据,包括Kafka、Palo Alto Networks、Redis等。
阿里云Elasticsearch提供了全套Beats采集器供您使用,一键即可安装部署。阿里云Elasticsearch为您提供1个月的免费试用活动,单击此处即可免费试用。本文介绍如何通过阿里云Metricbeat采集器收集系统数据(CPU使用率、内存、磁盘IO和网络IO统计数据)和Nginx服务数据,并生成可视化图表。
前提条件您已完成以下操作:
- 创建阿里云Elasticsearch实例。
详情请参见创建阿里云Elasticsearch实例。
- 开启阿里云Elasticsearch实例的自动创建索引功能。
处于安全考虑,阿里云Elasticsearch默认不允许自动创建索引。但是Beats目前依赖该功能,因此如果采集器Output选择为Elasticsearch,需要开启自动创建索引功能,详情请参见开启自动创建索引。
- 创建阿里云ECS实例,且该ECS实例与阿里云Elasticsearch实例处于同一专有网络下。
详情请参见使用向导创建实例。
说明: Beats目前仅支持Aliyun Linux、RedHat和CentOS这三种操作系统。
- 在目标ECS实例上安装云助手和Docker服务。
详情请参见安装云助手客户端和搭建Docker。
使用Metricbeat收集系统数据- 登录阿里云Elasticsearch控制台,在左侧导航栏,单击Beats数据采集中心。
- 在新建采集器区域中,单击Metricbeat。
- 安装并配置采集器。
详情请参见安装采集器和采集器YML配置,本文使用的配置如下。
- 勾选**启用Monitoring**,系统会在Kibana控制台开启Metricbeat服务的监控。- 勾选**启用Kibana Dashbord**,系统会在Kibana控制台中生成图表,无需额外配置Yml。由于阿里云Kibana配置在VPC内,因此需要先在Kibana配置页面开通Kibana私网访问功能,详情请参见[配置Kibana公网或私网访问白名单](https://help.aliyun.com/document ... qwkZwh#task-2444468)。- 由于系统默认开启了system模块,因此无需进行**采集器Yml配置**。
- 单击下一步。
- 选择采集器安装的ECS实例。
如果您是初次创建采集器,请先单击前往授权,按照提示为阿里云Elasticsearch授予访问阿里云ECS的权限。
- 启动采集器并查看采集器安装情况。
- 单击启动。
启动成功后,系统弹出启动成功对话框。
- 单击前往采集中心查看,返回Beats数据采集中心页面,在采集器管理区域中,查看启动成功的Metricbeat采集器。
- 等待采集器状态变为已生效1/1后,单击右侧操作栏下的查看运行实例。
- 在查看运行实例页面,查看采集器安装情况,当显示为心跳正常时,说明采集器安装成功。
如果安装失败,可参见Beats安装失败的排查与解决方法进行排查。
- 查看结果。
- 登录目标阿里云Elasticsearch实例的Kibana控制台。
具体步骤请参见登录Kibana控制台。
- 在左侧导航栏,单击Dashboard。
- 在Dashboard列表中,单击**[Metricbeat System] Overview**,再单击对应的Metricbeat系统,查看该系统的监控仪表板。
使用Metricbeat收集Nginx服务数据前提条件:开启Nginx服务的stub_status。由于ngx_http_stub_status_module模块是Nginx中用来统计Nginx服务所接收和处理的请求数量,因此需要在nginx.conf文件中启用stub_status。
location /status { stub_status on; access_log off; }
说明: 下文中metricbeat.yml文件中配置的server_status_path要与nginx.conf中的status保持一致。
- 登录阿里云Elasticsearch控制台,在左侧导航栏,单击Beats数据采集中心。
- 在新建采集器区域中,单击Metricbeat。
- 安装并配置采集器。
详情请参见安装采集器和采集器YML配置,本文使用的配置如下。
需要在metricbeat.yml中添加如下脚本。
metricbeat.modules:- module: nginx metricsets: ["stubstatus"] enabled: true period: 10s # Nginx hosts hosts: ["http://121.41.**.**"] # Path to server status. Default server-status server_status_path: "status"
- 勾选启用Monitoring,系统会在Kibana控制台开启Metricbeat服务的监控。
- 勾选启用Kibana Dashbord,系统会在Kibana控制台中生成图表,无需额外配置Yml。由于阿里云Kibana配置在VPC内,因此需要先在Kibana配置页面开通Kibana私网访问功能,详情请参见t614906.md#。
- 单击下一步。
- 选择采集器安装的ECS实例。
如果您是初次创建采集器,请先单击前往授权,按照提示为阿里云Elasticsearch授予访问阿里云ECS的权限。
- 启动并查看采集器安装情况。
详细操作方法请参见使用Metricbeat收集系统数据。
- 查看结果。
- 在浏览器中,访问/status,打开监控页面。
- 登录目标阿里云Elasticsearch实例的Kibana控制台。
具体步骤请参见登录Kibana控制台。
- 在左侧导航栏,单击Dashboard。
- 在Dashboard列表中,单击**[Metricbeat Nginx] Overview**,查看Nginx服务的监控仪表板。