【最佳实践】如何使用Metricbeat收集系统数据及Nginx服务数据

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: 如果您需要收集数据,但没有资源来运行资源密集型数据收集器,那么Beats会是您最佳的选择。这种无处不在(涵盖所有联网设备)的数据收集方式,能够让您快速检测到异常情况并做出反应。

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收集系统数据

  1. 登录阿里云Elasticsearch控制台,在左侧导航栏,单击Beats数据采集中心
  2. 新建采集器区域中,单击Metricbeat
  3. 安装并配置采集器。

    详情请参见安装采集器采集器YML配置,本文使用的配置如下。

    在这里插入图片描述

-   勾选**启用Monitoring**,系统会在Kibana控制台开启Metricbeat服务的监控。
-   勾选**启用Kibana Dashbord**,系统会在Kibana控制台中生成图表,无需额外配置Yml。由于阿里云Kibana配置在VPC内,因此需要先在Kibana配置页面开通Kibana私网访问功能,详情请参见[配置Kibana公网或私网访问白名单](https://help.aliyun.com/document_detail/122632.html?spm=a2c4g.11186623.2.23.15304aacqwkZwh#task-2444468)。
-   由于系统默认开启了system模块,因此无需进行**采集器Yml配置**。
  1. 单击下一步
  2. 选择采集器安装的ECS实例。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KC8LpZUe-1598239687594)(../images/p82419.png)]

    如果您是初次创建采集器,请先单击 前往授权,按照提示为阿里云Elasticsearch授予访问阿里云ECS的权限。
  3. 启动采集器并查看采集器安装情况。

    1. 单击启动

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

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

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6K2GQm8D-1598239687610)(../images/p86408.png)]

  4. 查看结果。

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

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

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

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZNe06DyW-1598239687626)(../images/p86416.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保持一致。

  1. 登录阿里云Elasticsearch控制台,在左侧导航栏,单击Beats数据采集中心
  2. 新建采集器区域中,单击Metricbeat
  3. 安装并配置采集器。

    详情请参见安装采集器采集器YML配置,本文使用的配置如下。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qW8r76bt-1598239687633)(../images/p86418.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私网访问功能。
  4. 单击下一步
  5. 选择采集器安装的ECS实例。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xQas71N7-1598239687645)(../images/p82419.png)]

    如果您是初次创建采集器,请先单击 前往授权,按照提示为阿里云Elasticsearch授予访问阿里云ECS的权限。
  6. 启动并查看采集器安装情况。

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

  7. 查看结果。

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

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PUBlBcAG-1598239687666)(../images/p86420.png)]

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

    具体步骤请参见[登录Kibana控制台](https://help.aliyun.com/document_detail/122668.html?spm=a2c4g.11186623.2.36.15304aacqwkZwh#task-761873)。

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

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

相关活动

更多折扣活动,请访问阿里云 Elasticsearch 官网

阿里云 Elasticsearch 商业通用版,1核2G ,SSD 20G首月免费
阿里云 Logstash 2核4G首月免费

image.png
image.png

相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
相关文章
|
12天前
|
自然语言处理 大数据 应用服务中间件
大数据-172 Elasticsearch 索引操作 与 IK 分词器 自定义停用词 Nginx 服务
大数据-172 Elasticsearch 索引操作 与 IK 分词器 自定义停用词 Nginx 服务
41 5
|
20天前
|
Kubernetes 监控 测试技术
k8s学习--基于Ingress-nginx实现灰度发布系统
k8s学习--基于Ingress-nginx实现灰度发布系统
k8s学习--基于Ingress-nginx实现灰度发布系统
|
16天前
|
应用服务中间件 Apache 开发工具
nginx服务企业应用
nginx服务企业应用
|
16天前
|
应用服务中间件 网络安全 nginx
nginx作为web服务以及nginx.conf详解
nginx作为web服务以及nginx.conf详解
|
20天前
|
Kubernetes 应用服务中间件 nginx
k8s基础使用--使用k8s部署nginx服务
本文介绍了Kubernetes中核心概念Deployment、Pod与Service的基本原理及应用。Pod作为最小调度单元,用于管理容器及其共享资源;Deployment则负责控制Pod副本数量,确保其符合预期状态;Service通过标签选择器实现Pod服务的负载均衡与暴露。此外,还提供了具体操作步骤,如通过`kubectl`命令创建Deployment和Service,以及如何验证其功能。实验环境包括一台master节点和两台worker节点,均已部署k8s-1.27。
|
14天前
|
应用服务中间件 Linux Shell
Linux 配置 Nginx 服务的详细步骤,绝对干货
Linux 配置 Nginx 服务的详细步骤,绝对干货
43 0
|
2月前
|
应用服务中间件 nginx Docker
本地通过域名访问虚拟机上nginx的服务、搭建域名访问环境一(反向代理配置)
这篇文章介绍了如何通过域名在本地访问虚拟机上的nginx服务,包括创建nginx容器、修改配置文件、修改本地host文件以及进行访问测试的详细步骤。文章提供了具体的Docker命令来创建并配置nginx容器,展示了配置文件的修改示例,说明了如何在本地系统的hosts文件中添加虚拟机IP和自定义域名,以及如何通过浏览器进行测试访问。
本地通过域名访问虚拟机上nginx的服务、搭建域名访问环境一(反向代理配置)
|
2月前
|
负载均衡 应用服务中间件 网络安全
Django后端架构开发:Nginx服务优化实践
Django后端架构开发:Nginx服务优化实践
49 2
|
2月前
|
缓存 Ubuntu 前端开发
在Ubuntu上手动与自动启动Nginx的踩坑经历、以及重启服务
本文分享了作者在Ubuntu系统上手动和自动启动Nginx服务的踩坑经历,包括创建启动脚本、解决依赖问题、配置服务自动启动以及通过命令行管理Nginx服务的方法。
280 0
在Ubuntu上手动与自动启动Nginx的踩坑经历、以及重启服务
|
2月前
|
缓存 应用服务中间件 nginx
[nginx]proxy_cache缓存系统
[nginx]proxy_cache缓存系统