本文介绍如何通过阿里云Heartbeat检测ICMP及HTTP服务的状态,并生成可视化图表。
背景信息
Heartbeat是一个轻量级的守护程序,可以安装在远程服务器上,定期检测服务状态并确定它们是否可用。与Metricbeat不同,Metricbeat仅检测服务器是启动还是关闭,Heartbeat会检测服务是否可以访问。
注意 与大多数需要安装在边缘节点的Beats不同,Heartbeat可以安装为在单独的计算机上,甚至可以处于监视服务运行的网络之外。
目前Heartbeat支持以下三种监视器:
- ICMP监视器(包括ICMPV4和ICMPV6):使用ICMP协议连接服务,通过发送ICMP请求,检测服务是否可用(需要ROOT权限)。
- TCP监视器:使用TCP协议连接服务,通过发送或者接受特定的负载,检测服务是否可用及服务状态是否正常。
- HTTP监视器:使用HTTP协议连接服务,通过特定的状态码、响应头或者内容,检测服务是否可用及服务状态是否正常。
说明 TCP和HTTP监视器都支持SSL、TLS以及部分代理设置。
前提条件
- 创建阿里云Elasticsearch(简称ES)实例。
详情请参见创建阿里云Elasticsearch实例。
- 开启阿里云ES实例的自动创建索引功能。
出于安全考虑,阿里云ES默认不允许自动创建索引。但是Beats目前依赖该功能,因此如果采集器Output选择为Elasticsearch,需要开启自动创建索引功能,详情请参见开启自动创建索引。
- 创建阿里云ECS实例,且该ECS实例与阿里云ES实例处于同一专有网络VPC(Virtual Private Cloud)下。
详情请参见使用向导创建实例。
注意 Beats目前仅支持Aliyun Linux、RedHat和CentOS这三种操作系统。 - 在目标ECS实例上安装云助手和Docker服务。
详情请参见安装云助手客户端和部署并使用Docker。