脚本化字段根据 Elasticsearch 索引中的数据即时计算数据。 数据作为文档数据的一部分显示在 “Discover” 所展示的数据中,并且你可以在可视化文件中使用脚本化字段。 你可以使用 Kibana 查询语言查询脚本化字段,并可以使用过滤器栏过滤它们。 脚本字段值是在查询时计算的,因此不会被索引,也无法使用 Kibana 默认查询语言进行搜索。

在我之前的文章 “Kibana: 如何在Kibana中生成Scripted fields” 中,我已经展示了如何使用 Scripted fields 来生成一个字段并对数据统计。在今天的例子中,我们将使用另外一个例子来展示它的一个用途。比如如下的一个统计图:

在上面的显示图中,它显示了一个时序数据,同时他显示了一个叫做 tags.keyword 的不同值的一个分布情况,但是也许我们只是想知道 error 和其它所有信息的一个比较,而不是这样的每个分类的值的一个比较。这样有更加直观的一个统计图来表示 error 所占的一个比例。比如,我们可以把 error 的数量统计出来变为:

准备数据

在今天的教程中,我们将使用 Kibana 自带的索引来进行展示。打开 Kibana 界面:

点击 Add data:

这样我们的样本数据就导入进 Elasticsearch 了。通过上面的操作,我们在 Elasticsearch 中将生成一个叫做 kibana_sample_data_logs 的索引。

创建 scripted field

我们打开 kibana_sample_data_logs 的 index pattern 界面:

点击上面的 Stack Management:

点击 Scripted fields:

我们在上面已经看到一个叫做  hour_of_day 的 脚本化字段。上面有它的实现。我们点击  Add scripted field:

我们把如下的内容输入进去:

if (doc['tags.keyword'].value.contains("error")) { return -1; } else { return 1;}

如果大家对 doc[''tags.keyword''].value 有哪些方法还不是很熟悉的话,你可以参阅我的另外一篇文章 “Painless 编程调试”。我们可以使用如下的方法来抛出异常从而找出它所包含的方法:

GET kibana_sample_data_logs/_search
{"query": {"script": {"script": "Debug.explain(doc['tags.keyword'])"}}
}

它会抛出如下内容的异常:

我们可以在互联网上搜索 org.elasticsearch.index.fielddata.ScriptDocValues.Strings,并找到相应的方法列表。

点击上面的链接来测试我们的 script:

如果我们没发现错误,就点击 Save field。接着打开 Discover  的界面:

我们发现有一个新的叫做 error_success 的字段。它表明我们的 scripted filed 的生成是成功的。

创建可视化

我们接下来使用这个新生成的 error_success 来进行可视化的操作:

点击 Update:

我们接下来修改 Y-axis  里的 metric。该用 Sum 来统计:

点击 Update:

修改错的颜色为红色。上面就是我们最终看到的结果。

Kibana:使用 Scripted fields 来提高数据的可观测性相关推荐

  1. Kibana: 如何在 Kibana 中生成 Scripted fields

    如果细心的读者阅读过我之前的文章 "Elasticsearch:aggregation 介绍",就会发现在我之前的例子中,我有用到 Script 来生成一个 field,并对这个 ...

  2. Kibana scripted fields 使用

    scripted fields 是kibana提供动态的从指定列中提取指定字符串的功能,提取的数据可用于discover展示甚至可以用在visualize和Dashboard用于图标展示,功能极其强大 ...

  3. 基于springboot项目中使用docker-compose+es+kibana+logstash+mysql 提高数据查询效率

    基于springboot项目中使用docker-compose+es+kibana+logstash+mysql 提高数据查询效率 1.拉取logstash,kibana,es,mysql镜像 #命令 ...

  4. kibana4 Scripted fields字段单位转换功能

    kibana4报表功能很不错,但返现默认情况下fields不能显示单位,今天在这里讲讲kibana4 Scripted fields,效果图如下 具体步骤: 设置-->选择要显示的indices ...

  5. 宜家如何利用低代码平台提升员工效率,提高数据价值

    低代码开发已经在全球范围内的不同行业.不同企业中得到应用,并且使用的场景.角色等也在不断拓展.本文介绍低代码在零售领域的应用:构建敏捷的客户服务管理案例.此案例中不仅介绍了明确的人物角色和场景背景,还 ...

  6. 数据集标注工具_如何提高数据标注质量,提供精细化标注数据集?丨曼孚科技...

    监督学习下的深度学习算法训练十分依赖于标注数据,然而目前数据标注行业在精细化运营方面仍有诸多不足. 相关数据显示,当下数据标注行业单次交付达标率低于50%,三次内交付达标率低于90%,远远不能满足AI ...

  7. 如何有效提高数据中心PUE?

    摘要:数据中心基础设施管理解决方案(DCIM)帮助数据中心实现更高级别的自动化控制,从而简化了数据中心的产能规划与分配工作. 据预测,截至到2020年,全球数据中心的年耗电量总额预计将增加至1400亿 ...

  8. 如何采用锂离子电池提高数据中心电源效率

    电源在数据中心基础设施中起到至关重要的电力保障作用.数据中心的UPS电源如果采用锂离子电池,可以带来更大的容量.更低的总体拥有成本.更长的组件寿命的优势. 数据中心基础设施的电源供应和分配系统可能很复 ...

  9. 提高数据中心空间使用率,助力数字新基建

    以"新基建"为契机,加快数据中心建设,增强在新形势下的竞争力显得尤为重要,善用每一寸空间是提高数据中心竞争力的手段之一.数据中心空间总是不够,这其实是有限资源和无限需求之间的矛盾, ...

最新文章

  1. 显著性目标检测代码全汇总!(包含2D、3D、4D以及Video)
  2. Ajax Control Toolkit 32个服务器端控件
  3. 思维导图xmind学习记录
  4. 每日一天:对象数组去重
  5. arduino COM口被占用问题解决
  6. Fragment+Viewpaager
  7. js正则标志/g,/i,/m说明
  8. 【书海泛舟】伤心咖啡馆之歌
  9. java datasource 配置_Spring boot 基于注解方式配置datasource
  10. 光复用技术中三种重要技术_【技术文章】X射线无损检测仪在锂电池行业中的重要应用...
  11. nc 发布元数据_智联科发布新一代连续式NC膜粘膜划膜一体机
  12. 解锁lintcode数字图像识别
  13. 虚拟机VMware的下载与安装——详细教程
  14. 前端web设计师_Web设计师的时尚Web设计主题
  15. 右击文件转圈卡住、刷新、白屏、闪退、桌面崩溃的通用解决方法
  16. 【Docker容器镜像加速器~阿里云镜像加速器】
  17. bilibili 实时平台的架构与实践
  18. 撩小姐姐的小程序(二)----旋转3D八音盒
  19. 玩出新花样—文言文编程
  20. Word图表的中英题注及引用

热门文章

  1. 虚拟机 网络模式简介 及桥接模式设置
  2. 重磅:阿里巴巴将取消“361”制度,不再强制领导给员工绩效评级
  3. linux错误码中文解释,Linux命令之perror - 解释错误代码
  4. 【软考软件评测师】2012综合知识历年真题
  5. 虾皮产品如何定价?在线shopee虾皮商品定价工具推荐
  6. 2021年危险化学品经营单位安全管理人员考试题库及危险化学品经营单位安全管理人员模拟考试题库
  7. Three.js学习一——Three.js学习路线(供参考)
  8. 什么是DVB-SI?对PSI(PAT,PMT,CAT,NIT,SDT,EIT)的理解
  9. HDP kt_renewer ERROR Couldn‘t renew kerberos ticket in order to work around Kerberos 1.8.1 issu
  10. PowerMILL中大型汽车模具3+2编程视频教程