2018年8月22日 工程

如何在 Elasticsearch 服务上部署热温日志集群

作者 Anurag Gupta

希望深入了解 Amazon Elasticsearch 服务和我们官方 Elasticsearch 服务之间的区别吗?请访问我们的 AWS Elasticsearch 对比页面。

我们最近向 Elastic Cloud 上的 Elasticsearch 服务中添加了数不清的新功能,这些功能能够为您的所有用例提供支持,从日志,到搜索分析,全面囊括。其中一项重要发布便是增加了热温架构部署模板;将 Elasticsearch 服务用于日志用例时,如果使用这一模板,搭配我们降价后的定价模式,您可以实现更多价值。

在本篇博文中,我们将会讲解如何使用新的热温部署模板,以及其他强大的 Elastic Stack 功能(例如 Machine Learning 和 Alerting),从而帮助您从日志数据中挖掘出更多洞见——不到 10 分钟便可完成所有这一切。如果您还没有 Elasticsearch 服务账号,赶快注册并免费试用 14 天吧!

什么是热温架构?

热温架构是一项十分强大的功能,能够让您将 Elasticsearch 部署划分为“热”数据节点和“温”数据节点。热数据节点处理所有新输入的数据,并且存储速度也较快,以便确保快速地采集和检索数据。温节点的存储密度则较大,如需在较长保留期限内保留日志数据,不失为一种具有成本效益的方法。将这两种类型的数据节点结合到一起后,您便能够有效地处理输入数据,并将其用于查询,同时还能在节省成本的前提下在较长时间内保留数据。

此架构对日志用例来说尤其大有帮助,因为在日志用例中,人们的大部分精力都会专注于近期的日志(例如最近两周),而较早的日志(由于合规性或者其他原因仍需要保留)则可以接受较慢的查询时间。

创建热温部署

通过 Elasticsearch 服务,用户能够十分轻松地部署热温架构,包括管理索引管理政策以将数据从热数据节点转移至温数据节点;热温架构功能使得 Elastic Cloud 能够从其他托管型 Elasticsearch 提供商中脱颖而出。有多轻松呢?在本篇博文中,我们将向您展示如何在不到 5 分钟的时间内完成热温日志集群的设置并成功运行集群,包括一个免费的 1GB Machine Learning 节点和 1GB Kibana 节点。

首先,我们需要进入 Elasticsearch 服务控制台,然后点击 Create Deployment(创建部署)。

hot-warm-template.png

本示例中,我们从 AWS 中选择 “US East”(美国东部)地区,并且在 “Optimize your deployment”(优化您的部署)部分选择 “Hot-Warm Architecture”(热温架构)选项。我们会在这里选择 Customize Deployment(定制部署)。

在 Customization(定制)页面上,您可以单独调整热用例配置和温用例配置的规模。如需了解如何针对您的具体需求确定这些实例的规模,请务必查看我们的博文:确定热温架构的规模

在本示例中,我们均采用默认值。

此外,我们要在自己的部署上启用 Machine Learning 功能。Elasticsearch 服务上的所有部署都包括一个免费的 1GB Machine Learning 节点和 1 GB Kibana 节点。

hot-warm-enable-ml.png

在这里,我们现在点击Configure Index Curation(配置索引管理)。

索引管理

index-curation.png

通过索引管理,您能够定义数据在热节点上保留多长时间后便需转移至温节点。默认值包括由 Beats(metricbeat-*、filebeat-*)和 Logstash (logstash-*) 创建的热门索引,这些索引保留 1 天后便会转移至温节点。在本示例中,我们会保留这些值。

注意: 部署之后您可以随时更改这些规则,前往部署下面的 Operations(操作)页面即可。

完成这一切后,我们需要点击 Create Deployment(创建部署)。

恭喜,您现在已经能够部署强大的热温架构,感到无比自豪吧!

发送数据

既然我们的热温架构已经部署完毕,现在我们就开始向其中发送一些日志数据吧。如要传输日志数据,我们需要在本地机器上安装 Beats,然后使用由我们的部署生成的 Elasticsearch 服务云端 ID 和密码来开始发送数据。有关设置 Beats 和 Elasticsearch 服务的完整详情,请参阅我们关于如何在 Elasticsearch 服务中使用 Metricbeat 的博文

如要查找云端 ID,我们可以前往 Deployments(部署)页面,然后找到 Cloud ID(云端 ID):

deployment-cloud-id.png

注意:忘记密码了?没事儿!Elasticsearch 服务支持您重置 Elastic 用户密码,前往 Deployment(部署)-> Security(安全)-> Reset password(重置密码)进行操作即可。

既然现在本地机器已经开始传送数据,我们登录 Kibana 看一下仪表板吧。随着数据量越来越大,Elasticsearch 每天会不断地将数据从热节点转移到温节点。

添加 Machine Learning 功能

Elasticsearch 服务还有另一项强大的新功能,其现在支持 Machine Learning。而且,所有用户现在都可免费向他们的部署中添加一个 1GB 的 Machine Learning 节点。由于已经在部署中启用了这项功能,所以我们可以导航至 Kibana,打开 Machine Learning 应用并创建 Machine Learning 作业。

machine-learning-kibana.png

如需有关 Machine Learning 和其他用例的更多信息,请务必查看 Elastic Machine Learning 功能页面

结论

通过 Elasticsearch 服务的新功能,用户只需轻点几下鼠标即可开始使用强大的热温架构。此外,通过其他 Elastic Stack 功能(例如 Machine Learning 和 Security),您使用 Elasticsearch 服务监测日志和指标时能够实现比以往更加强大的性能。

感兴趣了吧?我们提供 14 天免费试用,赶快尝试一下吧。