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