Sobes.tech
Middle

ELK үчүн grok файлдарын жазуу боюнча сиздин тажрыйбаңыз кандай?

sobes.tech AI

AIден жооп

ELK yığını içinde farklı formatlardaki logları analiz etmek için Grok desenleri yazma konusunda deneyimim var. Aşağıdakilerle çalıştım:

  1. Standart desenler: Apache, Syslog ve diğer yaygın log formatları için önceden tanımlanmış desenleri kullandım.
    %{COMBINEDAPACHELOG}  
    
  2. Kombine desenler: Standart ve özelleştirilmiş desenleri birleştirdim.
    %{SYSLOGBASE} %{DATA:message}  
    
  3. Özelleştirilmiş desenler: Standart desenlerle kapsanmayan belirli log formatları için kendi düzenli ifadelerimi geliştirdim. Bunları Grok Debugger ile test ettim.
    (?<field_name>\[?\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}(?:,\d{3})?])  
    
  4. Шарттуу талдоо: Grok'та шарттуу операторлорду колдонуп, ар кандай форматтагы логдорду бир кирүүдө иштеттим.
    if [type] == "apache" {  
      grok {  
        match => { "message" => "%{COMBINEDAPACHELOG}" }  
      }  
    } else if [type] == "syslog" {  
      grok {  
        match => { "message" => "%{SYSLOGBASE} %{GREEDYDATA:logmessage}" }  
      }  
    }  
    
  5. Ката кетирүүнү иштетүү: tag_on_failure колдонуп, талдоо мүмкүн эмес болгон окуяларды белгиледим, бул жөндөөлөр жана көйгөйлүү логдорду аныктоо үчүн жардам берди.
    grok {  
      match => { "message" => "%{MYCUSTOMLOGFORMAT}" }  
      tag_on_failure => ["_grokparsefailure_mycustom"]  
    }