当您需要查看HTTP服务状态是否异常时,可以通过Heartbeat监测HTTP服务状态并将日志输出至阿里云Elasticsearch Serverless中,然后在控制台中完成可视化查询、分析和展示。本文介绍具体的实现方法。
步骤一:环境准备
- 开通阿里云Elasticsearch Serverless服务,并创建应用和日志类型的数据流。
- 创建阿里云ECS实例。
说明 ECS实例用来安装Heartbeat采集器,如果您已创建ECS实例,可忽略此步骤。
具体操作请参见
使用向导创建实例。
步骤二:安装并配置Heartbeat
- 连接ECS实例。
- 安装Heartbeat。
- 下载Heartbeat安装包。
sudo wget https://artifacts.elastic.co/downloads/beats/heartbeat/heartbeat-7.16.3-linux-x86_64.tar.gz
说明 本文以Heartbeat 7.16.3版本为例,其他版本不保证兼容性。如果遇到任何问题,可加入钉钉群11205017670进行咨询。
- 解压。
sudo tar -zxf heartbeat-7.16.3-linux-x86_64.tar.gz
- 修改Heartbeat配置文件。
- 进入Heartbeat目录。
cd heartbeat-7.16.3-linux-x86_64
- 新建Heartbeat配置文件(示例文件名称为hb2serverless.yml)。
sudo vim hb2serverless.yml
- 在Heartbeat配置文件中添加以下配置。
heartbeat.monitors:
- type: http
urls: ["localhost:80"]
schedule: '@every 10s'
check.response.status: 200
output.elasticsearch:
hosts: ["https://es-serverless-cn-hangzhou.aliyuncs.com:443"]
setup.ilm.enabled: false
setup.template.enabled: false
output.elasticsearch.headers:
X-Api-Key: *****
X-Xops-App-Name: zjy-test
X-Xops-Data-Stream-Name: test_metric
X-Xops-Data-Type: logs
部分参数说明如下:
参数 | 说明 |
---|
heartbeat.monitors | 配置Heartbeat的监测器信息。本示例以监测HTTP服务的存活信息为例,如果您需要使用其他监测器,请参见Configure Heartbeat monitors。 |
output.elasticsearch | 输出端Elasticsearch配置。 hosts:配置为Elasticsearch Serverless服务的访问地址,获取方式请参见查看应用的基本信息。 |
setup.ilm.enabled | 创建的新索引是否启用索引生命周期管理。需要配置为false。 |
setup.template.enabled | 是否加载Elasticsearch索引模板。需要配置为false。 |
output.elasticsearch.headers | Serverless数据流的配置:- X-Api-Key:配置访问鉴权信息。您在步骤一:环境准备中创建的Serverless应用的Token,获取方式请参见管理Token。
- X-Xops-App-Name:应用名。您在步骤一:环境准备中创建的Serverless应用的名称,获取方式请参见应用管理。
- X-Xops-Data-Stream-Name:数据流名。您在步骤一:环境准备中创建的日志类型的数据流的名称,获取方式请参见数据流管理。
- X-Xops-Data-Type:数据类型,需要设置为logs。
|
- 启动Heartbeat,并将日志输出到hb2serverless.log中。
sudo nohup ./heartbeat -e -c hb2serverless.yml > hb2serverless.log 2>&1 &
说明 如果无法传输数据,可以查看hb2serverless.log文件内容分析原因。
步骤三:在Elasticsearch Serverless服务控制台查看日志信息
- 进入Elasticsearch Serverless服务页面。
- 在左侧导航栏,单击应用管理。
- 在应用列表中,单击目标应用名称。
- 在左侧导航栏,选择。
- 在日志查询页面,选择目标数据流,查看该数据流的日志。