expressions 插件

编辑

表达式管道是一系列函数的链,它将输出管道传输到下一个函数的输入。可以使用用户提供的参数配置函数。表达式管道的最终输出可以使用在expressions插件中注册的渲染器之一进行渲染。

表达式函数的所有参数都需要可序列化,输入和输出也是如此。表达式函数应尽量保持纯净。这使得函数易于重用,并且还可以将整个链以及执行的每一步的输出进行序列化。

可以通过以//序列开头或使用/**/括起来多行注释来向表达式添加注释。

表达式为仪表盘和 Lens 中的可视化提供支持,并且 Canvas 中的每个元素都由表达式支持。

此插件提供了一些方法,这些方法将为您解析和执行表达式管道字符串,以及一系列注册表,供希望将其自己的函数,类型和渲染器合并到服务中以供其自己的应用程序使用的高级用户使用。

示例

编辑

以下是一个 Canvas 元素的序列化表达式示例,该元素使用essql函数获取数据,将其进一步管道传输到mathmetric函数,最后的render函数渲染结果。

filters
| essql
  query="SELECT COUNT(timestamp) as total_errors
    FROM kibana_sample_data_logs
    WHERE tags LIKE '%warning%' OR tags LIKE '%error%'"
| math "total_errors" // take "total_errors" column
/* Represent as a number over a label */
| metric "TOTAL ISSUES"
  metricFont={font family="'Open Sans', Helvetica, Arial, sans-serif" size=48 align="left" color="#FFFFFF" weight="normal" underline=false italic=false}
  labelFont={font family="'Open Sans', Helvetica, Arial, sans-serif" size=30 align="left" color="#FFFFFF" weight="lighter" underline=false italic=false}
| render
[/source]
74162514 3250a880 4c21 11ea 9e68 86f66862a183