基于Elasticsearch Serverless监控ECS指标

当您需要查看并分析ECS的指标数据时,可通过Prometheus采集ECS日志并发送到阿里云Elasticsearch Serverless中,并在控制台完成可视化查询、分析和展示。本文介绍具体的实现方法。

操作流程

  1. 步骤一:准备环境

  2. 步骤二:下载并启动node_exporter

  3. 步骤三:下载、配置并启动Prometheus

  4. 步骤四:查看ECS指标监控信息。

    1. 方法一:在Elasticsearch Serverless服务控制台上查看ECS指标监控信息

    2. 方法二:通过Grafana Dashboard查看ECS指标监控信息

步骤一:准备环境

  1. 开通阿里云Elasticsearch Serverless服务,并创建应用和指标类型的数据流。

    具体操作请参见开通服务创建应用创建数据流

  2. 创建阿里云ECS实例,选择Linux操作系统。

    具体操作,请参见自定义购买实例

步骤二:下载并启动node_exporter

node_exporter用于收集各种与硬件和内核相关的指标,并提供给Prometheus进行读取,详细信息请参见node_exporter

  1. 连接ECS实例。

    具体操作请参见通过密码或密钥认证登录Linux实例

    说明

    本文档以普通用户权限为例。

  2. 下载node_exporter安装包。

    本示例以node_exporter 1.4.0版本为例,下载命令如下。

    wget https://github.com/prometheus/node_exporter/releases/download/v1.4.0/node_exporter-1.4.0.linux-amd64.tar.gz
  3. 解压安装包。

    tar -zxf node_exporter-1.4.0.linux-amd64.tar.gz
  4. 启动node_exporter。

    cd node_exporter-1.4.0.linux-amd64/
    nohup ./node_exporter > node.log 2>&1 &

步骤三:下载、配置并启动Prometheus

  1. 连接ECS实例。

    具体操作请参见通过密码或密钥认证登录Linux实例

    说明

    本文档以普通用户权限为例。

  2. 在根目录下载Prometheus安装包。

    本示例以Prometheus 2.40.1版本为例,下载命令如下。

    cd ~
    wget https://github.com/prometheus/prometheus/releases/download/v2.40.1/prometheus-2.40.1.linux-amd64.tar.gz
  3. 解压安装包。

    tar -zxf prometheus-2.40.1.linux-amd64.tar.gz
  4. 在Prometheus目录的prometheus.yml文件中,配置node_exporterremote_write

    cd prometheus-2.40.1.linux-amd64/
    vim prometheus.yml

    配置示例如下。配置示例

    scrape_configs:
      # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
      - job_name: 'prometheus'
    
        # metrics_path defaults to '/metrics'
        # scheme defaults to 'http'.
    
        static_configs:
        - targets: ['localhost:9090']
    
      #配置node_exporter
      - job_name: "node"
        static_configs:
        - targets: ["127.0.0.1:9100"]
    
    #配置remote_write,确保Prometheus能够访问Elasticsearch Serverless服务,即网络是通的。
    remote_write:
      - url: "https://[域名]/[应用]/[数据流]/prometheus/metrics/push"
        headers:
         X-Api-Key: <your_token>

    参数

    说明

    node_exporter

    配置node_exporter的连接信息。targets需要配置为node_exporter的访问地址和端口

    由于本示例使用同一个ECS实例部署Prometheus和node_exporter,因此node_exporter的访问地址使用本地访问IP地址127.0.0.1,端口使用默认的9100端口。

    remote_write

    配置Elasticsearch Serverless服务的连接信息。需要配置以下基础参数,更多高级参数请可见remote_write

    • url访问Elasticsearch Serverless服务的URL,格式为:https://[域名]/[应用名]/[数据流名]/prometheus/metrics/push。

      • [域名]:Elasticsearch Serverless服务的访问地址,不带https://和端口号,获取方式请参见查看应用的基本信息。如果安装Prometheus和node_exporter的ECS与Elasticsearch Serverless服务在同一地域下,可使用VPC访问地址或公网访问地址。如果不在同一地域下,只能使用公网访问地址。

      • [应用名]:您在步骤一:准备环境中创建的Serverless应用的名称,获取方式请参见应用管理

      • [数据流名]:您在步骤一:准备环境中创建的指标类型的数据流的名称,获取方式请参见数据流管理

    • X-Api-Key:配置访问鉴权信息。<your_token>需要替换为您在步骤一:准备环境中创建的Serverless应用的Token,获取方式请参见管理Token

  5. 启动Prometheus。

    nohup ./prometheus --config.file="prometheus.yml" > node2serverless.log 2>&1 &

步骤四:查看ECS指标监控信息

方法一:在Elasticsearch Serverless服务控制台上查看

  1. 进入Elasticsearch Serverless服务页面。

  2. 指标监控页面,创建Grafana指标监控大盘。

    具体操作请参见指标监控

  3. 选择指标数据流、Metrics及监控时间段,查看对应时间段内的指标监控信息。

    查看ECS指标监控信息
    说明

    您也可以设置查询选项以及大盘的显示样式,具体操作请参见Grafana Dashboard

方法二:通过Grafana Dashboard查看

  1. 连接ECS实例。

    具体操作请参见通过密码或密钥认证登录Linux实例

    说明

    本文档以普通用户权限为例。

  2. 下载Grafana安装包。

    本示例以Grafana 9.4.7版本为例,下载命令如下。

    wget https://dl.grafana.com/enterprise/release/grafana-enterprise-9.4.7.linux-amd64.tar.gz
  3. 解压安装包。

    tar -zxf grafana-enterprise-9.4.7.linux-amd64.tar.gz
  4. 启动Grafana

    cd grafana-9.4.7/
    nohup ./bin/grafana-server > grafana2serverless.log  2>&1 &
  5. 在浏览器中输入Grafana的访问地址http://<ECS的公网IP地址>:3000,进入Grafana登录页面,输入用户名和密码进入Grafana控制台。

    1. 首次登录Grafana控制台需要使用默认用户名和密码,均为admin。登录后,系统会提示修改密码,密码修改完成后即可进入Grafana控制台。

    2. ECS的公网IP地址:进入ECS管理控制台,在对应实例的IP地址列获取。image

    3. Grafana的默认访问端口号为3000,在浏览器中访问3000端口时,需要配置ECS的入方向的安全组规则,设置目的为3000,为您客户端的IP地址。详细信息请参见添加安全组规则image

  6. 在Grafana中,创建Prometheus的DataSource。

    1. 在Grafana控制台的左侧导航栏,选择image > Data sources

    2. Data sources页签,单击Add data source

    3. Time series databases列表中,单击Prometheus

    4. Settings页签中,配置Prometheus数据源信息。

      image

      必须配置的参数说明如下。

      参数

      说明

      URL

      访问Elastic Serverless的URL,使用控制台上的公网访问地址。

      headers

      Serverless数据流的配置:

    5. 单击Save&test。配置成功后,系统提示Data source is working

  7. 在Grafana中,导入node_exporter自带的Grafana Dashboard,并配置Prometheus数据源。

    1. 在Grafana控制台的左侧导航栏,选择image > Import

    2. Import via grafana.com文本框中,填写node_exporter的Grafana地址或ID:即https://grafana.com/grafana/dashboards/1860或1860。image

    3. 单击Load

    4. 在配置页面选择Prometheus数据源为您已创建的数据源。image

    5. 单击Import

  8. 在Dashboard页面右上角,选择查询时间,查看对应时间段内的指标监控Dashboard。

    image
    说明

    关于Grafana更详细的操作教程,请参见Grafana documentation

阿里云首页 检索分析服务Elasticsearch版 相关技术圈