6.5.0
ET007 ElasticStack 6.5 介绍
Elasticsearch • Leon J 发表了文章 • 1 个评论 • 5044 次浏览 • 2018-11-19 09:18
就在 11月14日,ElasticStack 6.5.0 发布了,此次发布带来了许多激动人心的特性,我们一起来体验一下:
如果没有任何数据,kibana会提示我们导入sample数据,这边我选择Try our sample data, 然后导入全部3个样例数据,这可以让我们在没有数据的情况下快速体验新特性。
Infrastructure & Logs UI
很多用户使用 ElasticStack 收集基础架构的日志和指标,比如系统日志、安全日志、CPU指标,内存指标等等。在6.5中,kibana 侧边栏中增加了 Infrastructure 和 Logs 两个新的 tab,让用户更简单地查看自己的基础架构,和每台主机或者容器里的日志。
logs
进入logs标签页,如果当前没有数据,kibana会引导我们添加数据
我们选择 system logs
根据指示,我们安装部署好filebeat并启动,再次进入 logs 标签页便可以看到收集到的系统日志了
- 搜索过滤框:在这里可以像在 discover 里一样写query string,并且会有输入提示
- 时间选择框:可以选择需要查看的时间点,如果点了 Stream live,会持续监听尾部新输出的日志内容,类似 linux 命令中的tail -f
- 日志时间轴:高亮的部位是当前查看日志所在的时间范围,对应的区域图标识了日志量
假如我想实现 tail -f /var/log/system.log | grep google.com
一样的效果,可以打开 Stream live,并在搜索过滤框中这样输入:
很简单,很方便有木有?
Infrastructure
同样在kibana的引导下安装 Metric beat,并开启system模块,启动后进入 infrastructure 标签页:
这里可以直观地看到所有基础架构的指标状况,深色的内层代表主机,颜色代表了健康状况。浅灰色的外层代表了group,因为我只在自己的笔记本上做了部署,所以只能看到一个host。
点击主机会弹出菜单
- View logs : 跳转到 logs 标签页,并通过搜索过滤框指定host,只查看这台主机的日志。
- View metrics : 跳转到这台主机的指标详情,可以查看历史数据
APM
Java 和 Go
不负众望,继 Nodejs、Python、Ruby、Javascript 之后,Elastic APM 5.6.0 新增了对 Java 和 Golang 的支持!
Distributed Tracing
在 SOA 和 MSA 大行其道的年代,如何追踪请求在各个系统之间的流动成为了apm的关键问题。
Elastic APM 支持 OpenTracing 标准,并在各个agent里内置了 OpenTracing 兼容的bridge
以下是官网上该特性的截图:
APM Server 监控
如 ElasticStack的其他产品一般,APM也支持了监控,并可以在 Kinbana Montoring下查看监控信息:
APM Server 内存占用优化
通过新的基于NDJSON的协议,agent可以在采集信息后通过事件流立即发往APM server,这样 APM Server可以一个接一个地处理接收到的事件,而不是一次性地收到一大块(chunk),这样在很大程度上减少了APM Server的内存占用。
Elasticsearch
Cross-cluster replication
这里的副本并非我们平时常见的分片副本,而是通过在集群B配置一个副本indexB来追随集群A中的indexA,indexA中发生的任何变化都会同步到indexB中来。另外也可以配置一个pattern,当集群A出现符合pattern的索引,自动在集群B创建他的副本,这听起来很酷。值得一提的是,这将是白金版里新增的一个特性。
Minimal Snapshots
snapshot 是 es 中用来创建索引副本的特性,在之前的版本中,snapshot会把完整的 index 都保存下来,包括原始数据和索引数据等等。新的 Minimal Snapshots 提供了一种只备份 _source
内容和 index metadata
,当需要恢复时,需要通过 reindex 操作来完成。最小快照最多可能帮你节省50%的磁盘占用,但是会花费更多的时间来恢复。这个特性可能并不适合所有人,但给恢复窗口比较长,且磁盘容量有限的用户多了一种选择。
SQL / ODBC
现在可以使用 支持 ODBC 的第三方工具来连接 elasticsearch 了!我想可以找时间试试用 tableau 直连 elasticsearch会是啥效果。
Java 11
Java11 是一个 LTS 版本,相信会有越来越多的用户升级到 java11
G1GC支持
经过无数的测试,Elasticsearch官方宣布了在 JDK 10+ 上支持 G1GC。G1GC 相比 CMS有诸多优势,如今可以放心地使用G1GC了。(期待对ZGC的支持!)
Authorization realm
X-Pack Security中的新特性,可以对用户认证和用户授权分别配置 realm,比如使用内置的用户体系来认证,再去ldap中获取用户的角色、权限等信息。这也是白金版新增的特性。
机器学习的新特性
- 支持在同一个机器学习任务中分析多个时间系列
- 为机器学习任务添加了新的多分桶(multi-bucket) 分析
Kibana
Canvas
Canvas ! 我在做数据分析师的同学看到之后说太酷了,像 PPT。
点击侧边栏的 canvas 标签,可以看到我们先前导入的样本数据也包含了 canvas 样例:
在 11月的 深圳开发者大会上,上海普翔 也用 canvas 对填写调查问卷的参会人员做了分析:
https://github.com/alexfrancoeur/kibana_canvas_examples 这里有很多非常不错的 canvas 样例供大家学习,把json文件直接拖到 canvas 页面就可以导入学习了!
Spaces
把 kibana 对象(比如 visualizations、dashboards)组织到独立的 space 里,并且通过 RBAC 来控制哪些用户可以访问哪些 space。这实在是太棒了,想象在一个企业里,多个部门通过kibana查询、分析数据,大家关注的dashboard肯定是不一样的,在6.5之前,我们只能通过社区插件来实现这样的需求,而大版本的升级可能直接导致插件不可用,有了 Space,我们不必再担心!
Rollups UI
Rollup 是 es6.4 中新增的一个特性,用来把一些历史数据压缩归档,用作以后的分析。6.5.0 中 kibana 增加了一个界面用来查看和管理 Rollup 任务。
Data visualizer for files
通过可视化的方式查看文件的结构,查看其中出现最频繁的内容:
Beats
Beats Central Management
Beats 终于也支持中心化配置管理了!我们只需按照往常一样安装filebeat、metricbeat,然后使用 filebeat enroll <kibana-url> <token>
,便可以通过kibana来管理beats的配置、甚至给他们打上tag:
想一想,假如我们在上千台机器上部署filebeat,如果哪天需要批量变更配置文件,只需要通过脚本调用配置管理的API就可以了
Functionbeat
Functionbeat是一种新的beat类型,可以被部署为一个方法,而不需要跑在服务器环境上,比如 AWS Lambda function。
以上就是 6.5.0 版本的主要特性,更详细的内容可以查看 https://www.elastic.co/blog/elastic-stack-6-5-0-released ,希望通过我的介绍,可以让大家了解到新版本所带来的激动人心的特性。
ET007 ElasticStack 6.5 介绍
Elasticsearch • Leon J 发表了文章 • 1 个评论 • 5044 次浏览 • 2018-11-19 09:18
就在 11月14日,ElasticStack 6.5.0 发布了,此次发布带来了许多激动人心的特性,我们一起来体验一下:
如果没有任何数据,kibana会提示我们导入sample数据,这边我选择Try our sample data, 然后导入全部3个样例数据,这可以让我们在没有数据的情况下快速体验新特性。
Infrastructure & Logs UI
很多用户使用 ElasticStack 收集基础架构的日志和指标,比如系统日志、安全日志、CPU指标,内存指标等等。在6.5中,kibana 侧边栏中增加了 Infrastructure 和 Logs 两个新的 tab,让用户更简单地查看自己的基础架构,和每台主机或者容器里的日志。
logs
进入logs标签页,如果当前没有数据,kibana会引导我们添加数据
我们选择 system logs
根据指示,我们安装部署好filebeat并启动,再次进入 logs 标签页便可以看到收集到的系统日志了
- 搜索过滤框:在这里可以像在 discover 里一样写query string,并且会有输入提示
- 时间选择框:可以选择需要查看的时间点,如果点了 Stream live,会持续监听尾部新输出的日志内容,类似 linux 命令中的tail -f
- 日志时间轴:高亮的部位是当前查看日志所在的时间范围,对应的区域图标识了日志量
假如我想实现 tail -f /var/log/system.log | grep google.com
一样的效果,可以打开 Stream live,并在搜索过滤框中这样输入:
很简单,很方便有木有?
Infrastructure
同样在kibana的引导下安装 Metric beat,并开启system模块,启动后进入 infrastructure 标签页:
这里可以直观地看到所有基础架构的指标状况,深色的内层代表主机,颜色代表了健康状况。浅灰色的外层代表了group,因为我只在自己的笔记本上做了部署,所以只能看到一个host。
点击主机会弹出菜单
- View logs : 跳转到 logs 标签页,并通过搜索过滤框指定host,只查看这台主机的日志。
- View metrics : 跳转到这台主机的指标详情,可以查看历史数据
APM
Java 和 Go
不负众望,继 Nodejs、Python、Ruby、Javascript 之后,Elastic APM 5.6.0 新增了对 Java 和 Golang 的支持!
Distributed Tracing
在 SOA 和 MSA 大行其道的年代,如何追踪请求在各个系统之间的流动成为了apm的关键问题。
Elastic APM 支持 OpenTracing 标准,并在各个agent里内置了 OpenTracing 兼容的bridge
以下是官网上该特性的截图:
APM Server 监控
如 ElasticStack的其他产品一般,APM也支持了监控,并可以在 Kinbana Montoring下查看监控信息:
APM Server 内存占用优化
通过新的基于NDJSON的协议,agent可以在采集信息后通过事件流立即发往APM server,这样 APM Server可以一个接一个地处理接收到的事件,而不是一次性地收到一大块(chunk),这样在很大程度上减少了APM Server的内存占用。
Elasticsearch
Cross-cluster replication
这里的副本并非我们平时常见的分片副本,而是通过在集群B配置一个副本indexB来追随集群A中的indexA,indexA中发生的任何变化都会同步到indexB中来。另外也可以配置一个pattern,当集群A出现符合pattern的索引,自动在集群B创建他的副本,这听起来很酷。值得一提的是,这将是白金版里新增的一个特性。
Minimal Snapshots
snapshot 是 es 中用来创建索引副本的特性,在之前的版本中,snapshot会把完整的 index 都保存下来,包括原始数据和索引数据等等。新的 Minimal Snapshots 提供了一种只备份 _source
内容和 index metadata
,当需要恢复时,需要通过 reindex 操作来完成。最小快照最多可能帮你节省50%的磁盘占用,但是会花费更多的时间来恢复。这个特性可能并不适合所有人,但给恢复窗口比较长,且磁盘容量有限的用户多了一种选择。
SQL / ODBC
现在可以使用 支持 ODBC 的第三方工具来连接 elasticsearch 了!我想可以找时间试试用 tableau 直连 elasticsearch会是啥效果。
Java 11
Java11 是一个 LTS 版本,相信会有越来越多的用户升级到 java11
G1GC支持
经过无数的测试,Elasticsearch官方宣布了在 JDK 10+ 上支持 G1GC。G1GC 相比 CMS有诸多优势,如今可以放心地使用G1GC了。(期待对ZGC的支持!)
Authorization realm
X-Pack Security中的新特性,可以对用户认证和用户授权分别配置 realm,比如使用内置的用户体系来认证,再去ldap中获取用户的角色、权限等信息。这也是白金版新增的特性。
机器学习的新特性
- 支持在同一个机器学习任务中分析多个时间系列
- 为机器学习任务添加了新的多分桶(multi-bucket) 分析
Kibana
Canvas
Canvas ! 我在做数据分析师的同学看到之后说太酷了,像 PPT。
点击侧边栏的 canvas 标签,可以看到我们先前导入的样本数据也包含了 canvas 样例:
在 11月的 深圳开发者大会上,上海普翔 也用 canvas 对填写调查问卷的参会人员做了分析:
https://github.com/alexfrancoeur/kibana_canvas_examples 这里有很多非常不错的 canvas 样例供大家学习,把json文件直接拖到 canvas 页面就可以导入学习了!
Spaces
把 kibana 对象(比如 visualizations、dashboards)组织到独立的 space 里,并且通过 RBAC 来控制哪些用户可以访问哪些 space。这实在是太棒了,想象在一个企业里,多个部门通过kibana查询、分析数据,大家关注的dashboard肯定是不一样的,在6.5之前,我们只能通过社区插件来实现这样的需求,而大版本的升级可能直接导致插件不可用,有了 Space,我们不必再担心!
Rollups UI
Rollup 是 es6.4 中新增的一个特性,用来把一些历史数据压缩归档,用作以后的分析。6.5.0 中 kibana 增加了一个界面用来查看和管理 Rollup 任务。
Data visualizer for files
通过可视化的方式查看文件的结构,查看其中出现最频繁的内容:
Beats
Beats Central Management
Beats 终于也支持中心化配置管理了!我们只需按照往常一样安装filebeat、metricbeat,然后使用 filebeat enroll <kibana-url> <token>
,便可以通过kibana来管理beats的配置、甚至给他们打上tag:
想一想,假如我们在上千台机器上部署filebeat,如果哪天需要批量变更配置文件,只需要通过脚本调用配置管理的API就可以了
Functionbeat
Functionbeat是一种新的beat类型,可以被部署为一个方法,而不需要跑在服务器环境上,比如 AWS Lambda function。
以上就是 6.5.0 版本的主要特性,更详细的内容可以查看 https://www.elastic.co/blog/elastic-stack-6-5-0-released ,希望通过我的介绍,可以让大家了解到新版本所带来的激动人心的特性。