การสร้าง custom pattern ให้กับ logstash
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}” }
}
}