Sobes.tech
Middle

Milline on teie kogemus ELK jaoks grok failide kirjutamisel?

sobes.tech AI

Vastus AI-lt

Mul kogemusi Grok mustrite kirjutamisel erinevate logiformaatide analüüsimiseks ELK virnas. Olen töötanud järgmistega:

  1. Standardmustritega: Kasutanud eelmääratletud mustreid üldiste logiformaatide jaoks (Apache, Syslog jne).
    %{COMBINEDAPACHELOG}  
    
  2. Kombineeritud mustritega: Olen kombineerinud standard- ja kohandatud mustrid.
    %{SYSLOGBASE} %{DATA:message}  
    
  3. Kohandatud mustritega: Olen välja töötanud oma regulaaravaldused spetsiifiliste logiformaatide jaoks, mida standardmustrid ei kata. Olen neid testinud Grok Debuggeriga.
    (?<field_name>\[?\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}(?:,\d{3})?])  
    
  4. Tingimuslik analüüs: Kasutanud Grok'is tingimuslikke operaatoreid, et töödelda erinevate formaatidega logisid ühe sisendi raames.
    if [type] == "apache" {  
      grok {  
        match => { "message" => "%{COMBINEDAPACHELOG}" }  
      }  
    } else if [type] == "syslog" {  
      grok {  
        match => { "message" => "%{SYSLOGBASE} %{GREEDYDATA:logmessage}" }  
      }  
    }  
    
  5. Vigade käsitlemine: Kasutanud tag_on_failure, et märkida sündmusi, mida ei õnnestunud analüüsida, mis aitas tõrkeotsingul ja probleemsete logide tuvastamisel.
    grok {  
      match => { "message" => "%{MYCUSTOMLOGFORMAT}" }  
      tag_on_failure => ["_grokparsefailure_mycustom"]  
    }