Heartbeat支持通过HTTP/HTTPS、TCP和ICMP服务,定期检测网络端点状态,并将采集的检测数据,输出到Kibana的Uptime应用中,实时监控应用程序及服务的可用性和响应时间,在业务受到影响前检测出问题。本文介绍如何通过Uptime实时监控阿里云Elasticsearch服务。
背景信息
Uptime需要与以下服务结合使用:
Heartbeat
阿里云Elasticsearch
Kibana
您还可以通过Kibana 7.7的Alerting and Actions实现监控报警通知。
部署架构
单实例部署
单个Heartbeat实例部署在单个监控位置,监控单个服务。Heartbeat发送监控数据给阿里云Elasticsearch,与此同时,可以使用Kibana Uptime查看心跳数据并确定服务状态。
多实例部署
两个Heartbeat部署在不同的监控位置,监控同一个服务。Heartbeat发送监控数据给阿里云Elasticsearch,与此同时,可以使用Kibana Uptime查看心跳数据并确定服务状态。当某个区域的Heartbeat发生故障,多个监视位置可以帮助您定位Heartbeat故障的区域。
更多部署架构,请参见Deployment Architecture。
准备工作
创建阿里云Elasticsearch实例,并开启自动创建索引功能。
具体操作,请参见创建阿里云Elasticsearch实例和配置YML参数。
创建ECS实例,作为Heartbeat的部署机器。要求该ECS实例与阿里云Elasticsearch实例处于同一专有网络下。
具体操作,请参见自定义购买实例。
重要在创建ECS实例时,需要选择Alibaba Cloud Linux、RedHat和CentOS这三种操作系统,因为Beats(包含Heartbeat)目前仅支持这三种操作系统。
在ECS实例上安装云助手和Docker服务。
具体操作,请参见安装云助手Agent和部署并使用Docker。
创建Heartbeat采集器
- 登录阿里云Elasticsearch控制台。
在左侧导航栏,单击Beats数据采集中心。
在创建采集器区域,单击Heartbeat。
安装并配置采集器。
本文配置的heartbeat.yml中的heartbeat.monitors参数说明如下:
参数
说明
type
本文指定为http。
说明Heartbeat支持检查HTTP/HTTPS、TCP和ICMP服务。例如使用HTTP/HTTPS监视器,可以检查响应代码(code)、正文(body)和头信息(header); 使用TCP监视器,可以检查端口和字符串。
urls
待检查的URL列表,可以指定多个HTTP服务。本文以检查阿里云Elasticsearch服务为例,此处需要配置为待检查实例的私网访问地址。
schedule
检查间隔。@every 10s表示每10s检查一次。
单击下一步。
在ECS实例列表中,选中采集器安装实例。
单击启动,启动采集器。
当采集器状态为已生效,且操作列的查看运行实例中采集器安装情况显示为心跳正常时,说明采集器安装成功。
查看Uptime监控信息
登录Kibana控制台。
此Kibana控制台为:创建采集器时,采集器Output指定的阿里云Elasticsearch实例对应的Kibana控制台。具体操作,请参见登录Kibana控制台。
在左侧导航栏,单击Uptime,查看监控数据。
红色:异常状态,请检查Heartbeat通信或阿里云Elasticsearch状态。
蓝色:正常状态。