【Rsyslog】 从json 中通过正则 key 获取 value值,rsyslog正则匹配获取key 的 value值
生活随笔
收集整理的這篇文章主要介紹了
【Rsyslog】 从json 中通过正则 key 获取 value值,rsyslog正则匹配获取key 的 value值
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
示例:{srv: 'server1', time: 20210101}
普通正則匹配
則正則表達式為:/(?<=srv:)[^,]*/ 或 /src_ip:([^,]*)/ 可以獲取 srv 的值為 'server1'
(?:str) 非捕獲組(?=str) 肯定式向前查找(?!str) 否定式向前查找(?<=str) 肯定式向后查找(?<!str) 否定式向后查找在rsyslog 中正則匹配json數據
參考鏈接:
rsyslog regex 測試工具:https://www.rsyslog.com/regex/
文檔:https://www.rsyslog.com/doc/v8-stable/configuration/templates.html#property-statement
constant(value="\",\"srv\":\"") property(name="msg" regex.expression="(srv:([^,]*))" regex.type="ERE" regex.submatch="2" regex.nomatchmode="BLANK")
注意此處的匹配是 regex.submatch="2"
rsyslog疑問?
明明子匹配是取第一位,但是在rsyslog 配置中要 submatch要設置為2
還請各位大佬解惑,^_^
總結
以上是生活随笔為你收集整理的【Rsyslog】 从json 中通过正则 key 获取 value值,rsyslog正则匹配获取key 的 value值的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Ping】unix - ping命令的
- 下一篇: 【PHP】网络相关封装的函数