加载中

表达式插件

表达式管道是一系列函数,它将输出传递到下一个函数的输入。可以使用用户提供的参数来配置函数。表达式管道的最终输出可以使用在 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]

Rendered metric

© . All rights reserved.