Elastic Cloud 是 Elastic 公司提供的 SaaS 服务,支持 AWS、Azure、GCP 等云服务提供商。只需点击几下,即可完成最新版本集群的搭建以及现有集群的版本升级,因此非常易于上手使用。
本文将以步骤为基础,介绍如何利用 Elastic Cloud 轻松开启 AWS 资源指标监控、日志监控和存活监控。
前言
在本文中,Elastic Cloud(Elasticsearch Service)将统一称为 “Elastic Cloud”。此外,关于 Elastic Cloud 与待监控的各 AWS 服务的搭建步骤及权限设置,本文将予以省略。
架构示意图
本次将利用 Elastic Agent 实现对 AWS 资源指标、日志及存活状态的监控。

1. Elastic AWS Integration 的安装
(1)安装相关仪表盘等组件
点击 “Install AWS” 按钮,安装相关资源。

安装完成后,会显示相关仪表盘、API 参考文档等内容。

(2)在 EC2 上安装 Elastic Agent
点击 “Add Amazon EC2”,跳转页面后,点击页面底部的 “Install Elastic Agent”,开始安装 Agent。
按照 “①在主机上安装 Elastic Agent” 的步骤,在 EC2 上执行命令,完成 Elastic Agent 的安装。按照步骤执行后,Agent 会如以下所示完成注册。

(3)AWS Integration 的设置
直接点击页面底部的 “Add the integration”,跳转至 AWS Integration 的设置页面。本次将进行以下设置:
- 开启 “Collect EC2 logs from CloudWatch”(从 CloudWatch 收集 EC2 日志)
- 设置 CloudWatch Logs 中已注册的待监控日志的 ARN
- 将 “Collect EC2 metrics”(收集 EC2 指标)的 “Collection Period”(收集周期)设置为 “1m”
- 从 “Advanced Setting”(高级设置)中输入访问密钥(Access Key)和秘密密钥(Secret Key)
点击 “Save and Continue”(保存并继续)后,再点击 “Save and deploy changes”(保存并部署更改),将 AWS Integration 的设置同步到 Elastic Agent 中。

(4)确认通过 AWS Integration 注册的数据
完成上述操作后,即可通过 Elastic Agent 查看 EC2 的指标以及存储在 CloudWatch Logs 中的 EC2 日志。

2. 资源指标监控
首先,我们来确认已注册的 EC2 资源指标。
(1)访问 Kibana 仪表盘页面
从 Kibana 页面左侧菜单中选择「Dashboards」(仪表盘),点击「[Elastic Agent] Input Metrics」,即可显示以下仪表盘。
通过该仪表盘可以跳转到各服务对应的仪表盘。本次仅针对 EC2 和 CloudWatch 收集资源指标,但 Elastic Cloud(Elastic Stack)的优势在于,还能聚合其他云环境、本地环境的资源信息,进行统一监控与分析。

(2)确认 EC2 的资源指标
同样,使用「[Metrics AWS] EC2 Overview」([AWS 指标] EC2 总览)仪表盘,能够更详细地查看各 EC2 实例的 CPU 使用率等指标。

3. 日志监控
日志监控将使用 Logs Explorer(日志探索器)。
(1)通过 Logs Explorer 进行日志监控
在 Logs Explorer 中,会显示日志的时间戳及其摘要(Summary),如下所示。当发生问题时,可以通过筛选日志消息、状态等信息进行分析,从而确认问题状况。截图中仅显示了特定主机的错误(Error)日志。

Elasticsearch 的一大特点是,即便对大量日志进行筛选,也能快速返回结果,这在业务操作中非常便捷。如此一来,通过 Logs Explorer 就能轻松实现日志的确认与分析。
但在实际运维中,无法做到时刻监控仪表盘和 Logs Explorer。因此,通过设置 Alerts(告警),可以在满足特定条件时实现检测与通知。有关告警的详细信息及设置方法,请参考以下文档:《Create and manage rules | Elastic Observability [8.16] | Elastic》
4. 存活监控
最后,我们来实施存活监控。存活监控将使用 Synthetic monitoring(合成监控)功能。有关合成监控的详细信息,请参考以下文档:Synthetic monitoring | Elastic Observability [8.16] | Elastic
(1)访问 Synthetic monitoring 页面
从 Kibana 页面左侧菜单中选择「Applications」(应用)⇒「SYNTHETICS」(合成监控)⇒「Monitors」(监控器),跳转到 Synthetic monitoring 页面。

(2)设置监控对象
点击页面顶部的「select a different monitor type」(选择其他监控器类型),按照以下内容进行设置,然后点击「Create Monitor」(创建监控器)。

项目名(Item Name) | 说明(Description) | 本次设置值(Current Setting) |
---|---|---|
Select a monitor type | HTTP Ping、TCP Ping 等 | HTTP Ping |
URL | <监控对象 URL> | Logstash 服务器 URL |
Monitor name | 任意名称 | LogstashServer |
Locations | 监控对象运行的地域 | US East(美国东部) |
(3)确认监控结果
监控对象的存活状态会如下所示进行显示。

通过 Synthetic monitoring,仅需在 Kibana 页面进行设置,即可实现对目标主机的存活监控,轻松达成存活监控需求。(此前需要在监控对象服务器上安装名为 Heartbeat 的 Beats 组件)
(4)设置检测与通知
在 Synthetic monitoring 中,可从 Kibana 页面轻松开启或关闭告警。点击页面中的「LogstashServer」,会显示如截图所示的详情页面。
点击详情页面右上角「Enable (all location)」(启用 [所有地域])的开关,即可启用或禁用告警。还能便捷地通过邮件、Slack 等方式发送通知。

总结
借助 Elastic Cloud,我们能够轻松实现对 AWS 上服务的可观测性。正如前文所提及的,Elastic Cloud(Elastic Stack)的优势在于,能够聚合其他云环境、本地环境的信息,统一实现资源指标监控、日志监控与存活监控。
发表回复