正则表达式查询——Grafana

Posted

技术标签:

【中文标题】正则表达式查询——Grafana【英文标题】:Regex Query -- Grafana 【发布时间】:2021-08-18 15:21:18 【问题描述】:

大家好,我有Grafana v 7.5.7,我正在尝试从我的数据中提取一些内容。

在这种情况下,我的目标是从 snort 警报中获取消息。 我创建了一个事件。 original 作为我自己的变量来从弹性搜索中收集数据,现在我可以看到我的日志了。

变量设置中的详细信息


General

  Name: snort
  Type: Query

Query Options
  
  Data source: Elasticsearch
  Query: "find": "terms", "field": "event.sms"
  Regex: /([a-zA-z\a].*)*/


Preview of values

INDICATOR-SCAN SSH brute force login attempt

event.sms -> 这是存储我所有 snort 日志的字段

这些值由一个名为 snort 的变量存储。

但是,我只需要在查询部分中提取警报消息

部分查询的详细信息


Query: $snort

Metric(1): Count

Group By -> Terms -> event.sms -> Top 10, Order by: Term value

Then By -> Date Histogram -> @timestamp -> Interval: auto


Preview of values:

05/27-11:30:12.466603 [] [1:19559:13] “INDICATOR-SCAN SSH brute force login attempt” [] [Classification: Misc activity] [Priority: 3] TCP x.x.x.x:53962 → x.x.x.x:xx```

总结

我有什么:

05/27-11:30:12.466603 [] [1:19559:13] “INDICATOR-SCAN SSH brute force login attempt” [] [Classification: Misc activity] [Priority: 3] TCP x.x.x.x:53962 → x.x.x.x:xx

我需要什么:

INDICATOR-SCAN SSH 暴力登录尝试

【问题讨论】:

如果有人能帮助我,我将不胜感激! 我刚看到,好多了。作为一般规则,文本截图没有帮助,应避免使用,除非您专门讨论文本布局问题。 你能帮我解决我的问题吗? 如果有帮助,我可以给你一个正则表达式,从你的输入字符串中提取 之间的部分。 您在此处显示的正则表达式 (/([a-zA-z\a].*)*/) 不起作用。 【参考方案1】:

这是获取引号之间内容的最简单方法:

"(.*?)"

【讨论】:

以上是关于正则表达式查询——Grafana的主要内容,如果未能解决你的问题,请参考以下文章

Grafana - 在查询中使用自定义变量作为正则表达式

Grafana 正则表达式

普罗米修斯与正则表达式查询不匹配

Grafana _field 显示名称模式 - 范围或正则表达式

仅使用正则表达式从 long strong 中检索第 12 到第 14 个字符 - Grafana 变量

普罗米修斯查询中来自grafana变量的多个值