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

本文介绍如何通过阿里云Metricbeat采集器收集系统数据(CPU使用率、内存、磁盘IO和网络IO统计数据)和Nginx服务数据,并生成可视化图表。

前提条件

您已完成以下操作:

  • 创建阿里云Elasticsearch(简称ES)实例。

    详情请参见创建阿里云Elasticsearch实例

  • 开启阿里云ES实例的自动创建索引功能。

    出于安全考虑,阿里云ES默认不允许自动创建索引。但是Beats目前依赖该功能,因此如果采集器Output选择为Elasticsearch,需要开启自动创建索引功能,详情请参见快速访问与配置

  • 创建阿里云ECS实例,且该ECS实例与阿里云ES实例处于同一专有网络VPC(Virtual Private Cloud)下。

    详情请参见自定义购买实例

    重要

    Beats目前仅支持Alibaba Cloud Linux (Alinux)、RedHat和CentOS这三种操作系统。

  • 在目标ECS实例上安装云助手和Docker服务。

    详情请参见安装云助手Agent部署并使用Docker

使用Metricbeat收集系统数据

  1. 登录阿里云Elasticsearch控制台
  2. 在左侧导航栏,单击Beats数据采集中心

  3. 创建采集器区域中,单击Metricbeat

  4. 安装并配置采集器。

    详情请参见采集ECS服务日志采集器YML配置,本文使用的配置如下。Metricbeat

    说明
    • 勾选启用Monitoring,系统会在Kibana控制台开启Metricbeat服务的监控。

    • 勾选启用Kibana Dashboard,系统会在Kibana控制台中生成图表,无需额外配置Yml。由于阿里云Kibana配置在VPC内,因此需要先在Kibana配置页面开通Kibana私网访问功能,详情请参见配置Kibana公网或私网访问白名单

    • 由于系统默认开启了system模块,因此无需进行采集器Yml配置

  5. 单击下一步

  6. 选择采集器安装的ECS实例。

    说明

    如果您是初次创建采集器,请先单击前往授权,按照提示为阿里云ES授予访问阿里云ECS的权限。

  7. 启动采集器并查看采集器安装情况。

    1. 单击启动

      启动成功后,系统弹出启动成功对话框。

    2. 单击前往采集中心查看,返回Beats数据采集中心页面,在采集器管理区域中,查看启动成功的Metricbeat采集器。

    3. 等待采集器状态变为已生效1/1后,单击右侧操作栏下的查看运行实例

    4. 查看运行实例页面,查看采集器安装情况,当显示为心跳正常时,说明采集器安装成功。

  8. 查看结果。

    1. 登录目标阿里云ES实例的Kibana控制台。

      登录控制台的具体步骤请参见登录Kibana控制台

    2. 在左侧导航栏,单击Dashboard

    3. Dashboard列表中,单击[Metricbeat System] Overview,再单击对应的Metricbeat系统,查看该系统的监控仪表板。

      仪表板

使用Metricbeat收集Nginx服务数据

前提条件:开启Nginx服务的stub_status。由于ngx_http_stub_status_module模块是Nginx中用来统计Nginx服务所接收和处理的请求数量,因此需要在nginx.conf文件中启用stub_status。修改nginx.conf文件的方法,请参见Linux系统的ECS实例中如何修改Nginx、Tomcat等Web服务的端口监听地址

location /status {
           stub_status on;
           access_log off;
        }
重要

下文中metricbeat.yml文件中配置的server_status_path要与nginx.conf中的status保持一致。

  1. 登录阿里云Elasticsearch控制台
  2. 在左侧导航栏,单击Beats数据采集中心

  3. 创建采集器区域中,单击Metricbeat

  4. 安装并配置采集器。

    详情请参见采集ECS服务日志采集器YML配置

    metricbeat.yml中添加如下脚本。

    image

    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 Dashboard,系统会在Kibana控制台中生成图表,无需额外配置Yml。由于阿里云Kibana配置在VPC内,因此需要先在Kibana配置页面开通Kibana私网访问功能,详情请参见配置Kibana公网或私网访问白名单

  5. 单击下一步

  6. 选择采集器安装的ECS实例。

    选择采集器安装的实例

    说明

    如果您是初次创建采集器,请先单击前往授权,按照提示为阿里云ES授予访问阿里云ECS的权限。

  7. 启动并查看采集器安装情况。

    详细操作方法请参见使用Metricbeat收集系统数据

  8. 查看结果。

    1. 在浏览器中,访问<Nginx hosts>/status,打开监控页面。

      访问监控页面

    2. 登录目标阿里云ES实例的Kibana控制台。

      登录控制台的具体步骤请参见登录Kibana控制台

    3. 在左侧导航栏,单击Dashboard

    4. Dashboard列表中,单击[Metricbeat Nginx] Overview,查看Nginx服务的监控仪表板。

      nginx监控仪表板