你能为以下要求编写一个 grok 表达式吗:
我们有 3 种类型的事件,如下所示:
08D7119FBFEC19B7;250 2.6.0 <DM6PR09MB3369DAB34BC8812C1CF1E16181C00@DM6PR09MB3369.namprd09.prod.outlook.com> [InternalId=669077,Hostname=Abcd] Queued mail for delivery
08D7119FBFEC19B7;250 2.6.0 <DM6PR09MB3369DAB34BC8812C1CF1E16181C00@DM6PR09MB3369.namprd09.prod.outlook.com> [InternalId=669077] Queued mail for delivery
08D7119FBFEC19B7;250 2.6.0 <DM6PR09MB3369DAB34BC8812C1CF1E16181C00@DM6PR09MB3369.namprd09.prod.outlook.com> [Hostname=Abcd] Queued mail for delivery
对于上述事件,编写满足以下情况的单个 grok 表达式:
如果两者都存在,Grok 应该获取
值InternalId
值并Hostname
如果只有
InternalId
存在,Grok 应该获取InternalId
值如果仅存在
Hostname
,则 Grok 应获取Hostname
值
((.*[InternalId=%{NUMBER:InternalId}.*Hostname=%{USERNAME:Hostname}](|(.[InternalId=%{NUMBER:InternalId}.(|(.[主机名=%{用户名:主机名}。
这是给出确切输出的 grok 表达式。