基于Elasticsearch Serverless监控ECS指标
当您需要查看并分析ECS的指标数据时,可通过Prometheus采集ECS日志并发送到阿里云Elasticsearch Serverless中,并在控制台完成可视化查询、分析和展示。本文介绍具体的实现方法。
操作流程
步骤一:准备环境
开通阿里云Elasticsearch Serverless服务,并创建应用和指标类型的数据流。
创建阿里云ECS实例,选择Linux操作系统。
具体操作,请参见自定义购买实例。
步骤二:下载并启动node_exporter
node_exporter用于收集各种与硬件和内核相关的指标,并提供给Prometheus进行读取,详细信息请参见node_exporter。
连接ECS实例。
具体操作请参见通过密码或密钥认证登录Linux实例。
说明本文档以普通用户权限为例。
下载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
解压安装包。
tar -zxf node_exporter-1.4.0.linux-amd64.tar.gz
启动node_exporter。
cd node_exporter-1.4.0.linux-amd64/ nohup ./node_exporter > node.log 2>&1 &
步骤三:下载、配置并启动Prometheus
连接ECS实例。
具体操作请参见通过密码或密钥认证登录Linux实例。
说明本文档以普通用户权限为例。
在根目录下载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
解压安装包。
tar -zxf prometheus-2.40.1.linux-amd64.tar.gz
在Prometheus目录的prometheus.yml文件中,配置node_exporter和remote_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。
启动Prometheus。
nohup ./prometheus --config.file="prometheus.yml" > node2serverless.log 2>&1 &
步骤四:查看ECS指标监控信息
方法一:在Elasticsearch Serverless服务控制台上查看
在指标监控页面,创建Grafana指标监控大盘。
具体操作请参见指标监控。
选择指标数据流、Metrics及监控时间段,查看对应时间段内的指标监控信息。
说明您也可以设置查询选项以及大盘的显示样式,具体操作请参见Grafana Dashboard。
方法二:通过Grafana Dashboard查看
连接ECS实例。
具体操作请参见通过密码或密钥认证登录Linux实例。
说明本文档以普通用户权限为例。
下载Grafana安装包。
本示例以Grafana 9.4.7版本为例,下载命令如下。
wget https://dl.grafana.com/enterprise/release/grafana-enterprise-9.4.7.linux-amd64.tar.gz
解压安装包。
tar -zxf grafana-enterprise-9.4.7.linux-amd64.tar.gz
启动Grafana
cd grafana-9.4.7/ nohup ./bin/grafana-server > grafana2serverless.log 2>&1 &
在浏览器中输入Grafana的访问地址
http://<ECS的公网IP地址>:3000
,进入Grafana登录页面,输入用户名和密码进入Grafana控制台。在Grafana中,创建Prometheus的DataSource。
在Grafana控制台的左侧导航栏,选择
> Data sources。
在Data sources页签,单击Add data source。
在Time series databases列表中,单击Prometheus。
在Settings页签中,配置Prometheus数据源信息。
必须配置的参数说明如下。
参数
说明
URL
访问Elastic Serverless的URL,使用控制台上的公网访问地址。
headers
Serverless数据流的配置:
单击Save&test。配置成功后,系统提示Data source is working。
在Grafana中,导入node_exporter自带的Grafana Dashboard,并配置Prometheus数据源。
在Grafana控制台的左侧导航栏,选择
> Import。
在Import via grafana.com文本框中,填写node_exporter的Grafana地址或ID:即
https://grafana.com/grafana/dashboards/1860
或1860。单击Load。
在配置页面选择Prometheus数据源为您已创建的数据源。
单击Import。
在Dashboard页面右上角,选择查询时间,查看对应时间段内的指标监控Dashboard。
说明关于Grafana更详细的操作教程,请参见Grafana documentation。