综合技术交流
直播中

李郝荫

7年用户 1333经验值
私信 关注
[经验]

通过使用Metricbeat收集系统数据及Nginx服务数据

Elastic 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配置,本文使用的配置如下。
    20200824115343153.png

-   勾选**启用Monitoring**,系统会在Kibana控制台开启Metricbeat服务的监控。-   勾选**启用Kibana Dashbord**,系统会在Kibana控制台中生成图表,无需额外配置Yml。由于阿里云Kibana配置在VPC内,因此需要先在Kibana配置页面开通Kibana私网访问功能,详情请参见[配置Kibana公网或私网访问白名单](https://help.aliyun.com/document ... qwkZwh#task-2444468)。-   由于系统默认开启了system模块,因此无需进行**采集器Yml配置**。
  • 单击下一步
  • 选择采集器安装的ECS实例。
    20200824115831132.png
    如果您是初次创建采集器,请先单击前往授权,按照提示为阿里云Elasticsearch授予访问阿里云ECS的权限。
  • 启动采集器并查看采集器安装情况。

    • 单击启动
      启动成功后,系统弹出启动成功对话框。
    • 单击前往采集中心查看,返回Beats数据采集中心页面,在采集器管理区域中,查看启动成功的Metricbeat采集器。
    • 等待采集器状态变为已生效1/1后,单击右侧操作栏下的查看运行实例
    • 查看运行实例页面,查看采集器安装情况,当显示为心跳正常时,说明采集器安装成功。
      如果安装失败,可参见Beats安装失败的排查与解决方法进行排查。
      20200824115558236.png

  • 查看结果。

    • 登录目标阿里云Elasticsearch实例的Kibana控制台。
      具体步骤请参见登录Kibana控制台。
    • 在左侧导航栏,单击Dashboard
    • Dashboard列表中,单击**[Metricbeat System] Overview**,再单击对应的Metricbeat系统,查看该系统的监控仪表板。
      2020082411563744.png

使用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配置,本文使用的配置如下。
    2020082411573780.png
    需要在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实例。
    20200824115508165.png
    如果您是初次创建采集器,请先单击前往授权,按照提示为阿里云Elasticsearch授予访问阿里云ECS的权限。
  • 启动并查看采集器安装情况。
    详细操作方法请参见使用Metricbeat收集系统数据。
  • 查看结果。

    • 在浏览器中,访问/status,打开监控页面。
      20200824115908551.png
    • 登录目标阿里云Elasticsearch实例的Kibana控制台。
      具体步骤请参见登录Kibana控制台。
    • 在左侧导航栏,单击Dashboard
    • Dashboard列表中,单击**[Metricbeat Nginx] Overview**,查看Nginx服务的监控仪表板。
      20200824115934120.png


更多回帖

发帖
×
20
完善资料,
赚取积分