表达式插件
编辑expressions
插件编辑
表达式管道是一系列函数,这些函数将它们的输出管道到下一个函数的输入。函数可以使用用户提供的参数进行配置。表达式管道的最终输出可以使用expressions
插件中注册的渲染器之一进行渲染。
表达式函数的所有参数都需要是可序列化的,输入和输出也是如此。表达式函数应该尽量保持纯净。这使得函数易于重用,并且还可以序列化整个链以及执行过程中每一步的输出。
可以通过以//
序列开头来添加表达式注释,或者使用/*
和*/
来包含多行注释。
表达式为仪表盘和 Lens 中的可视化提供支持,并且 Canvas 中的每个元素都由一个表达式支持。
此插件提供了一些方法,这些方法将为您解析和执行表达式管道字符串,以及一系列供高级用户使用的注册表,这些用户可能希望将自己的函数、类型和渲染器合并到服务中,以便在自己的应用程序中使用。
示例编辑
以下是一个 Canvas 元素的序列化表达式的示例,该表达式使用essql
函数获取数据,将其进一步管道到math
和metric
函数,最后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]