การสร้าง custom pattern ให้กับ logstash

Prawit Tangmanopeanchai
1 min readJun 30, 2019

--

ปกติ grok pattern ที่สามารถใช้ได้เลยสามารถดูได้จาก

แต่บางครั้งหากเราต้องการ pattern ที่ไม่มีอยู่ใน list นั้นเราสามารถสร้างขึ้นมาเองได้ โดยให้สร้าง directory ไว้ใต้ base directory ของ logstash (/usr/share/logstash) เช่นสร้าง directory ชื่อ “patterns” แล้วสร้าง file ชื่ออะไรก็ได้ไว้ใน directory นั้น ตัวอย่างนี้จะสร้าง file ชื่อ IBM_PATTERN ไว้เก็บ pattern ของ “WAS_DATETIME” และ “DB2DIAG_TIMESTAMP”

ใน file ใส่ 2 บรรทัดนี้

WAS_DATETIME %{MONTHNUM}[./]%{MONTHDAY}[./]%{YEAR} %{TIME}:%{INT} \S{,4}
DB2DIAG_TIMESTAMP %{YEAR}-%{MONTHNUM}-%{MONTHDAY}-%{HOUR}\.%{MINUTE}\.%{SECOND}\.%{INT}%{INT}

เวลาใช้งานให้ระบุ directory ที่เก็บ pattern แล้ว match ดังนี้

filter {
grok {
patterns_dir => [“./patterns”]
match => { “message” => “%{DB2DIAG_TIMESTAMP:logdate} %{GREEDYDATA:infomsg}” }
}
}

--

--

Prawit Tangmanopeanchai
Prawit Tangmanopeanchai

Written by Prawit Tangmanopeanchai

Head of Cloud Implementation Unit at gosoft (Thailand)

No responses yet