정규식을 사용하여 열을 선택하는 데 멈춤(wazuh 디코더에서)

정규식을 사용하여 열을 선택하는 데 멈춤(wazuh 디코더에서)

이 로그가 있지만 몇 개의 열을 선택하는 방법을 모르겠습니다.

04.07.2021 12:11:31.801 [25760] info  MainForm  -  Database(s) loaded: CA_2021,beforetest,FL_2,FL_Jan_2021,jhon,DC_City_Jan_2021,Statetest,Benchmark_2021

사용 (\d\d\d\d) (\d+:\d+:\d+)하고 선택할 수 있었습니다

2021 12:11:31

내가 선택하는 데 누가 도움을 줄 수 있나요?

2021 12:11:31 [25760] info FL_Jan_2021 DC_City_Jan_2021 Benchmark_2021

https://documentation.wazuh.com/current/user-manual/ruleset/ruleset-xml-syntax/regex.html

답변1

다음 사용자 정의 디코더를 사용하여 모든 필드를 추출할 수 있습니다.

<decoder name="log1">
  <prematch>^\d\d.\d\d.\d\d\d\d \d\d:\d\d:\d\d.\d\d\d [\d+]\s+\w+\s+\w+\s+- </prematch>
  <regex>^(\d\d.\d\d.\d\d\d\d \d\d:\d\d:\d\d.\d\d\d) [(\d+)]\s+(\w+)\s+(\w+)\s+-\s+(\.+):\s+(\S+),(\S+),(\S+),(\S+),(\S+),(\S+),(\S+),(\S+)</regex>
  <order>decoded.date,decoded.pid,decoded.type,decoded.source,decoded.action,field1,field2,field3,field4,field5,field6,field7,field8</order>
</decoder>

언급한 필드는 각각 decoded.date, decoded.pid, decoded.type및 으로 추출됩니다 field4. 다른 필드를 추출하지 않으려면 레이블의 대괄호와 레이블의 이름을 제거하면 됩니다.field6field8<regex><order>

wazuh-logtest이 디코더를 구성한 후 유틸리티를 통해 로그를 실행한 결과는 /var/ossec/etc/decoders/local_decoders.xml다음과 같습니다.

**Phase 1: Completed pre-decoding.
    full event: '14.07.2021 12:11:31.801 [25760] info  MainForm  -  Database(s) loaded: CA_2021,beforetest,FL_2,FL_Jan_2021,jhon,DC_City_Jan_2021,Statetest,Benchmark_2021'

**Phase 2: Completed decoding.
    name: 'log1'
    decoded.action: ' Database(s) loaded'
    decoded.date: '14.07.2021 12:11:31.801'
    decoded.pid: '25760'
    decoded.source: 'MainForm'
    decoded.type: 'info'
    field1: 'CA_2021'
    field2: 'beforetest'
    field3: 'FL_2'
    field4: 'FL_Jan_2021'
    field5: 'jhon'
    field6: 'DC_City_Jan_2021'
    field7: 'Statetest'
    field8: 'Benchmark_2021'

관련 정보