Grafana日志转换-Convert field type & Concatenate fields & Organize fields

发布时间 2023-08-16 11:42:19作者: 南风丶轻语

Grafana日志转换-Convert field type & Concatenate fields & Organize fields

转换函数

根据自己的使用情况,记录使用到的转换函数,这次涉及到的转换函数如下

Convert field type

功能:转换字段的类型

Concatenate fields

功能:将所有字段合并为一个数据集合。如果长度不相同,值将附加未定义的值。

Organize fields

功能:允许用户重新排序、隐藏或重命名字段/列。当数据源不允许对可视化数据进行覆盖时非常有用。

例子

假设要显示sysbench日志中的查询总数和每秒查询数

image-20230816105228286

步骤如下

  1. 先通过LogQL提取出关键数值

    • 提取出查询总数
    {filename="/var/log/job1.log", job="my-job"} |= `queries:` | pattern `<_> queries: <total> (<_>`
    
    • 提取出每秒查询数
    {filename="/var/log/job1.log", job="my-job"} |= `queries:` | pattern `<_> (<ps> <_>`
    

    image-20230816105849011

  2. 再通过LogQL格式化日志行为关键数值

    • 格式化查询总数
    {filename="/var/log/job1.log", job="my-job"} |= `queries:` | pattern `<_> queries: <total> (<_>` | line_format "{{ .total | trim }}"
    
    • 格式化每秒查询数
    {filename="/var/log/job1.log", job="my-job"} |= `queries:` | pattern `<_> (<ps> <_>` | line_format "{{ .ps | trim }}"
    

    image-20230816110217443

  3. 然后通过时序数据查看数据

    image-20230816110354936

image-20230816110444237

  1. 转换数据为数值字段

点击 Transform 选择 Convert field type

image-20230816110642941

  1. 然后选择Line转换成Number

​ 时序数据展示就会展示显示了

image-20230816110808900

  1. 使用Stat展示

    image-20230816111355467

  2. 合并为一个返回集

​ 点击 Add transformation 选择 Concatenate fields

image-20230816112014166

如果此时切换到table展示,则可以看到对应的字段和对应的值

image-20230816112221797

  1. 修改属性的名字

    即改变Line1和Line2为自定义的名称

点击 Add transformation 选择Organize fields

image-20230816112511843

最终效果

完成了从loki源中提取日志,并从日志行提取自己需要的值,然后通过Stat进行展示,并给每个查询取了一个名字

image-20230816112813319