LogStash рдорд╛ GROK рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд▓рдЧрд╣рд░реВрдмрд╛рдЯ ELK рд╕реНрдЯреНрдпрд╛рдХрдорд╛ рдЕрд╕рдВрд░рдЪрд┐рдд рдбрд╛рдЯрд╛ рд░реВрдкрд╛рдиреНрддрд░рдг рдЧрд░реНрдирдХрд╛ рд▓рд╛рдЧрд┐ рд╕реБрдЭрд╛рд╡ рд░ рдпреБрдХреНрддрд┐рд╣рд░реВ

GROK рд╕рдБрдЧ рдЕрд╕рдВрд░рдЪрд┐рдд рдбреЗрдЯрд╛рдХреЛ рд╕рдВрд░рдЪрдирд╛

рдпрджрд┐ рддрдкрд╛рдЗрдБ рдЗрд▓рд╛рд╕реНрдЯрд┐рдХ (ELK) рд╕реНрдЯреНрдпрд╛рдХ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджреИ рд╣реБрдиреБрд╣реБрдиреНрдЫ рд░ рдЗрд▓рд╛рд╕реНрдЯрд┐рдХрд╕рд░реНрдЪрдорд╛ рдЕрдиреБрдХреВрд▓рди рд▓рдЧрд╕реНрдЯрд╛рд╕ рд▓рдЧрд╣рд░реВ рдореНрдпрд╛рдк рдЧрд░реНрди рд░реБрдЪрд┐ рд░рд╛рдЦреНрдиреБрд╣реБрдиреНрдЫ рднрдиреЗ, рдпреЛ рдкреЛрд╕реНрдЯ рддрдкрд╛рдЗрдБрдХреЛ рд▓рд╛рдЧрд┐ рд╣реЛред

LogStash рдорд╛ GROK рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд▓рдЧрд╣рд░реВрдмрд╛рдЯ ELK рд╕реНрдЯреНрдпрд╛рдХрдорд╛ рдЕрд╕рдВрд░рдЪрд┐рдд рдбрд╛рдЯрд╛ рд░реВрдкрд╛рдиреНрддрд░рдг рдЧрд░реНрдирдХрд╛ рд▓рд╛рдЧрд┐ рд╕реБрдЭрд╛рд╡ рд░ рдпреБрдХреНрддрд┐рд╣рд░реВ

ELK рд╕реНрдЯреНрдпрд╛рдХ рддреАрди рдУрдкрди рд╕реЛрд░реНрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯрд╣рд░реВрдХреЛ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд░реВрдк рд╣реЛ: Elasticsearch, Logstash рд░ Kibanaред рд╕рдБрдЧреИ рддрд┐рдиреАрд╣рд░реВрд▓реЗ рд▓рдЧ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рдкреНрд▓реЗрдЯрдлрд░реНрдо рдмрдирд╛рдЙрдБрдЫрдиреНред

  • Elasticsearch рдЦреЛрдЬ рд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдгрд╛рддреНрдордХ рдкреНрд░рдгрд╛рд▓реА рд╣реЛред
  • рд▓рдЧрд╕реНрдЯреНрдпрд╛рд╢ рд╕рд░реНрднрд░-рд╕рд╛рдЗрдб рдбрд╛рдЯрд╛ рдкреНрд░реЛрд╕реЗрд╕рд┐рдЩ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рд╣реЛ рдЬрд╕рд▓реЗ рдПрдХреИ рд╕рд╛рде рдзреЗрд░реИ рд╕реНрд░реЛрддрд╣рд░реВрдмрд╛рдЯ рдбрд╛рдЯрд╛ рдЗрдиреНрдЬреЗрд╕реНрдЯ рдЧрд░реНрдЫ, рдпрд╕рд▓рд╛рдИ рд░реВрдкрд╛рдиреНрддрд░рдг рдЧрд░реНрдЫ, рд░ рддреНрдпрд╕рдкрдЫрд┐ рдЗрд▓рд╛рд╕реНрдЯрд┐рдХрд╕рд░реНрдЪ рдЬрд╕реНрддрд╛ "рд╕реНрдЯреНрдпрд╛рд╢" рдорд╛ рдкрдард╛рдЙрдБрдЫред
  • рдХрд┐рдмрд╛рдирд╛ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВрд▓рд╛рдИ Elasticsearch рдорд╛ рдЪрд╛рд░реНрдЯ рд░ рдЧреНрд░рд╛рдлрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдбреЗрдЯрд╛ рдХрд▓реНрдкрдирд╛ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред

рдмреАрдЯреНрд╕ рдкрдЫрд┐ рдЖрдпреЛ рд░ рдПрдХ рд╣рд▓реНрдХрд╛ рдбреЗрдЯрд╛ рд╢рд┐рдкрд░ рд╣реЛред рдмреАрдЯреНрд╕рдХреЛ рдкрд░рд┐рдЪрдпрд▓реЗ рдПрд▓реНрдХ рд╕реНрдЯреНрдпрд╛рдХрд▓рд╛рдИ рд▓реЛрдЪрджрд╛рд░ рд╕реНрдЯреНрдпрд╛рдХрдорд╛ рд░реВрдкрд╛рдиреНрддрд░рдг рдЧрд░реНрдпреЛ, рддрд░ рддреНрдпреЛ рдмрд┐рдиреНрджреБ рд╣реЛрдЗрдиред

рдпреЛ рд▓реЗрдЦ Grok рдХреЛ рдмрд╛рд░реЗрдорд╛ рд╣реЛ, рдЬреБрди Logstash рдорд╛ рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реЛ рдЬрд╕рд▓реЗ рддрдкрд╛рдЗрдБрдХреЛ рд▓рдЧрд╣рд░реВ рд╕реНрдЯреНрдпрд╛рд╕рдорд╛ рдкрдард╛рдЙрдиреБ рдЕрдШрд┐ рд░реВрдкрд╛рдиреНрддрд░рдг рдЧрд░реНрди рд╕рдХреНрдЫред рд╣рд╛рдореНрд░реЛ рдЙрджреНрджреЗрд╢реНрдпрдХрд╛ рд▓рд╛рдЧрд┐, рдо Logstash рдмрд╛рдЯ Elasticsearch рдорд╛ рдбрд╛рдЯрд╛ рдкреНрд░рд╢реЛрдзрди рдЧрд░реНрдиреЗ рдмрд╛рд░реЗ рдорд╛рддреНрд░ рдХреБрд░рд╛ рдЧрд░реНрдиреЗрдЫреБред

LogStash рдорд╛ GROK рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд▓рдЧрд╣рд░реВрдмрд╛рдЯ ELK рд╕реНрдЯреНрдпрд╛рдХрдорд╛ рдЕрд╕рдВрд░рдЪрд┐рдд рдбрд╛рдЯрд╛ рд░реВрдкрд╛рдиреНрддрд░рдг рдЧрд░реНрдирдХрд╛ рд▓рд╛рдЧрд┐ рд╕реБрдЭрд╛рд╡ рд░ рдпреБрдХреНрддрд┐рд╣рд░реВ

Grok Logstash рднрд┐рддреНрд░рдХреЛ рдПрдЙрдЯрд╛ рдлрд┐рд▓реНрдЯрд░ рд╣реЛ рдЬреБрди рдЕрд╕рдВрд░рдЪрд┐рдд рдбреЗрдЯрд╛рд▓рд╛рдИ рд╕рдВрд░рдЪрд┐рдд рд░ рдХреНрд╡реЗрд░реА рдЧрд░реНрди рдорд┐рд▓реНрдиреЗ рдХреБрд░рд╛рдорд╛ рдкрд╛рд░реНрд╕ рдЧрд░реНрди рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫред рдпреЛ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ (regex) рдХреЛ рд╢реАрд░реНрд╖рдорд╛ рдмрд╕реНрдЫ рд░ рд▓рдЧ рдлрд╛рдЗрд▓рд╣рд░реВрдорд╛ рд╕реНрдЯреНрд░рд┐рдЩрд╣рд░реВ рдорд┐рд▓рд╛рдЙрди рдкрд╛рда рдврд╛рдБрдЪрд╛рд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрдЫред

рд╣рд╛рдореА рдирд┐рдореНрди рдЦрдгреНрдбрд╣рд░реВрдорд╛ рджреЗрдЦреНрдиреЗрдЫреМрдВ, Grok рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрд╛ рдареВрд▓реЛ рдлрд░рдХ рдкрд╛рд░реНрдЫ рдЬрдм рдпреЛ рдХреБрд╢рд▓ рд▓рдЧ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдирдХреЛ рдХреБрд░рд╛ рдЖрдЙрдБрдЫред

Grok рдмрд┐рдирд╛ рддрдкрд╛рдИрдВрдХреЛ рд▓рдЧ рдбрд╛рдЯрд╛ рдЕрд╕рдВрд░рдЪрд┐рдд рдЫ

LogStash рдорд╛ GROK рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд▓рдЧрд╣рд░реВрдмрд╛рдЯ ELK рд╕реНрдЯреНрдпрд╛рдХрдорд╛ рдЕрд╕рдВрд░рдЪрд┐рдд рдбрд╛рдЯрд╛ рд░реВрдкрд╛рдиреНрддрд░рдг рдЧрд░реНрдирдХрд╛ рд▓рд╛рдЧрд┐ рд╕реБрдЭрд╛рд╡ рд░ рдпреБрдХреНрддрд┐рд╣рд░реВ

Grok рдмрд┐рдирд╛, рдЬрдм рд▓рдЧрд╣рд░реВ Logstash рдмрд╛рдЯ Elasticsearch рдорд╛ рдкрдард╛рдЗрдиреНрдЫ рд░ Kibana рдорд╛ рд░реЗрдиреНрдбрд░ рдЧрд░рд┐рдиреНрдЫ, рддрд┐рдиреАрд╣рд░реВ рдХреЗрд╡рд▓ рд╕рдиреНрджреЗрд╢ рдорд╛рдирдорд╛ рджреЗрдЦрд╛ рдкрд░реНрджрдЫрдиреНред

рдпрд╕ рдЕрд╡рд╕реНрдерд╛рдорд╛ рдЕрд░реНрдердкреВрд░реНрдг рдЬрд╛рдирдХрд╛рд░реА рдЦреЛрдЬреНрди рдЧрд╛рд╣реНрд░реЛ рдЫ рдХрд┐рдирднрдиреЗ рд╕рдмреИ рд▓рдЧ рдбрд╛рдЯрд╛ рдПрдЙрдЯреИ рдХреБрдЮреНрдЬреАрдорд╛ рднрдгреНрдбрд╛рд░ рдЧрд░рд┐рдПрдХреЛ рдЫред рд▓рдЧ рд╕рдиреНрджреЗрд╢рд╣рд░реВ рд░рд╛рдореНрд░реЛрд╕рдБрдЧ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдЧрд░рд┐рдПрдХреЛ рднрдП рд░рд╛рдореНрд░реЛ рд╣реБрдиреНрдереНрдпреЛред

рд▓рдЧрд╣рд░реВрдмрд╛рдЯ рдЕрд╕рдВрд░рдЪрд┐рдд рдбреЗрдЯрд╛

localhost GET /v2/applink/5c2f4bb3e9fda1234edc64d 400 46ms 5bc6e716b5d6cb35fc9687c0

рдпрджрд┐ рддрдкрд╛рдИрдВрд▓реЗ рдХрдЪреНрдЪрд╛ рдбрд╛рдЯрд╛рд▓рд╛рдИ рдирдЬрд┐рдХрдмрд╛рдЯ рд╣реЗрд░реНрдиреБрднрдпреЛ рднрдиреЗ, рддрдкрд╛рдИрдВрд▓реЗ рджреЗрдЦреНрдиреБрд╣реБрдиреЗрдЫ рдХрд┐ рдпрд╕рд▓реЗ рд╡рд╛рд╕реНрддрд╡рдорд╛ рд╡рд┐рднрд┐рдиреНрди рднрд╛рдЧрд╣рд░реВ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫ, рдкреНрд░рддреНрдпреЗрдХрд▓рд╛рдИ рд╕реНрдкреЗрд╕рджреНрд╡рд╛рд░рд╛ рдЫреБрдЯреНрдпрд╛рдЗрдПрдХреЛ рдЫред

рдЕрдзрд┐рдХ рдЕрдиреБрднрд╡реА рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд╣рд░реВрдХрд╛ рд▓рд╛рдЧрд┐, рддрдкрд╛рдИрд▓реЗ рдЕрдиреБрдорд╛рди рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рднрд╛рдЧрдХреЛ рдЕрд░реНрде рдХреЗ рд╣реЛ рд░ рддреНрдпреЛ рд▓рдЧ рд╕рдиреНрджреЗрд╢ API рдХрд▓рдмрд╛рдЯ рдХреЗ рд╣реЛред рдкреНрд░рддреНрдпреЗрдХ рд╡рд╕реНрддреБрдХреЛ рдкреНрд░рд╕реНрддреБрддрд┐ рддрд▓ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рдЫред

рд╣рд╛рдореНрд░реЛ рдбреЗрдЯрд╛рдХреЛ рд╕рдВрд░рдЪрд┐рдд рджреГрд╢реНрдп

  • рд╕реНрдерд╛рдиреАрдп рд╣реЛрд╕реНрдЯ == рд╡рд╛рддрд╛рд╡рд░рдг
  • GET == рд╡рд┐рдзрд┐
  • тАЛ /v2/applink/5c2f4bb3e9fda1234edc64d == url
  • 400 == рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛_рд╕реНрдерд┐рддрд┐
  • 46ms == рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛_рд╕рдордп
  • тАЛ 5bc6e716b5d6cb35fc9687c0 == user_id

рд╣рд╛рдореА рд╕рдВрд░рдЪрд┐рдд рдбреЗрдЯрд╛ рдорд╛ рджреЗрдЦреНрдЫреМрдВ, рддреНрдпрд╣рд╛рдБ рдЕрд╕рдВрд░рдЪрд┐рдд рд▓рдЧ рдХреЛ рд▓рд╛рдЧреА рдПрдХ рдЕрд░реНрдбрд░ рдЫред рдЕрд░реНрдХреЛ рдЪрд░рдг рдХрдЪреНрдЪрд╛ рдбрд╛рдЯрд╛ рдХреЛ рд╕рдлреНрдЯрд╡реЗрдпрд░ рдкреНрд░рд╢реЛрдзрди рдЫред рдпреЛ рдЬрд╣рд╛рдБ рдЧреНрд░реЛрдХ рдЪрдореНрдХрд┐рдиреНрдЫред

Grok рдЯреЗрдореНрдкреНрд▓реЗрдЯрд╣рд░реВ

рдмрд┐рд▓реНрдЯ-рдЗрди Grok рдЯреЗрдореНрдкреНрд▓реЗрдЯрд╣рд░реВ

Logstash 100 рднрдиреНрджрд╛ рдмрдвреА рдмрд┐рд▓реНрдЯ-рдЗрди рдЯреЗрдореНрдкреНрд▓реЗрдЯрд╣рд░реВрд╕рдБрдЧ рдЕрд╕рдВрд░рдЪрд┐рдд рдбреЗрдЯрд╛рдХреЛ рд╕рдВрд░рдЪрдирд╛рдХреЛ рд▓рд╛рдЧрд┐ рдЖрдЙрдБрдЫред Apache, linux, haproxy, aws рд░ рдЕрдиреНрдп рдЬрд╕реНрддрд╛ рд╕рд╛рдорд╛рдиреНрдп syslogs рдХреЛ рд▓рд╛рдЧреА рддрдкрд╛рдИрд▓реЗ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдкрдорд╛ рдпрд╕рдХреЛ рдлрд╛рдЗрджрд╛ рд▓рд┐рдиреБ рдкрд░реНрдЫред

рдЬреЗ рд╣реЛрд╕реН, рдХреЗ рд╣реБрдиреНрдЫ рдЬрдм рддрдкрд╛рдИрдВрд╕рдБрдЧ рдорд╛рдерд┐рдХреЛ рдЙрджрд╛рд╣рд░рдгрдорд╛ рдЬрд╕реНрддреИ рдЕрдиреБрдХреВрд▓рди рд▓рдЧрд╣рд░реВ рдЫрдиреН? рддрдкрд╛рдИрдВрд▓реЗ рдЖрдлреНрдиреЛ Grok рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдирд┐рд░реНрдорд╛рдг рдЧрд░реНрдиреБрдкрд░реНрдЫред

рдЕрдиреБрдХреВрд▓рди Grok рдЯреЗрдореНрдкреНрд▓реЗрдЯрд╣рд░реВ

рддрдкрд╛рдИрдВрд▓реЗ рдЖрдлреНрдиреЛ Grok рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдирд┐рд░реНрдорд╛рдг рдЧрд░реНрди рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрдиреБрдкрд░реНрдЫред рдореИрд▓реЗ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрдВ Grok рдбрд┐рдмрдЧрд░ ╨╕ Grok рдврд╛рдБрдЪрд╛рд╣рд░реВ.

рдзреНрдпрд╛рди рджрд┐рдиреБрд╣реЛрд╕реН рдХрд┐ Grok рдЯреЗрдореНрдкреНрд▓реЗрдЯ рд╡рд╛рдХреНрдп рд░рдЪрдирд╛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдЫ: %{SYNTAX:SEMANTIC}

рдореИрд▓реЗ рдЧрд░реНрдиреЗ рдкреНрд░рдпрд╛рд╕ рдЧрд░реЗрдХреЛ рдкрд╣рд┐рд▓реЛ рдХреБрд░рд╛ рдЯреНрдпрд╛рдмрдорд╛ рдЬрд╛рдиреБ рдерд┐рдпреЛ рдкрддреНрддрд╛ рд▓рдЧрд╛рдЙрдиреБрд╣реЛрд╕реН Grok рдбрд┐рдмрдЧрд░ рдорд╛ред рдореИрд▓реЗ рд╕реЛрдЪреЗ рдХрд┐ рдпреЛ рд░рд╛рдореНрд░реЛ рд╣реБрдиреЗрдЫ рдпрджрд┐ рдпреЛ рдЙрдкрдХрд░рдгрд▓реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдкрдорд╛ Grok рдврд╛рдБрдЪрд╛ рдЙрддреНрдкрдиреНрди рдЧрд░реНрди рд╕рдХреНрдЫ, рддрд░ рдпреЛ рдзреЗрд░реИ рдЙрдкрдпреЛрдЧреА рдерд┐рдПрди рдХрд┐рдирдХрд┐ рдпрд╕рд▓реЗ рдХреЗрд╡рд▓ рджреБрдИрд╡рдЯрд╛ рдорд┐рд▓реНрджреЛрд╣рд░реВ рдлреЗрд▓рд╛ рдкрд╛рд░реЗрдХреЛ рдерд┐рдпреЛред

LogStash рдорд╛ GROK рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд▓рдЧрд╣рд░реВрдмрд╛рдЯ ELK рд╕реНрдЯреНрдпрд╛рдХрдорд╛ рдЕрд╕рдВрд░рдЪрд┐рдд рдбрд╛рдЯрд╛ рд░реВрдкрд╛рдиреНрддрд░рдг рдЧрд░реНрдирдХрд╛ рд▓рд╛рдЧрд┐ рд╕реБрдЭрд╛рд╡ рд░ рдпреБрдХреНрддрд┐рд╣рд░реВ

рдпреЛ рдЦреЛрдЬ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░, рдореИрд▓реЗ рдЗрд▓рд╛рд╕реНрдЯрд┐рдХ рдЧрд┐рдердм рдкреГрд╖реНрдардорд╛ рдлреЗрд▓рд╛ рдкрд░реЗрдХреЛ рд╕рд┐рдиреНрдЯреНрдпрд╛рдХреНрд╕ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдЧреНрд░реЛрдХ рдбрд┐рдмрдЧрд░рдорд╛ рдЖрдлреНрдиреИ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди рдерд╛рд▓реЗрдВред

LogStash рдорд╛ GROK рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд▓рдЧрд╣рд░реВрдмрд╛рдЯ ELK рд╕реНрдЯреНрдпрд╛рдХрдорд╛ рдЕрд╕рдВрд░рдЪрд┐рдд рдбрд╛рдЯрд╛ рд░реВрдкрд╛рдиреНрддрд░рдг рдЧрд░реНрдирдХрд╛ рд▓рд╛рдЧрд┐ рд╕реБрдЭрд╛рд╡ рд░ рдпреБрдХреНрддрд┐рд╣рд░реВ

рдмрд┐рднрд┐рдиреНрди рд╕рд┐рдиреНрдЯреНрдпрд╛рдХреНрд╕рд╣рд░реВрд╕рдБрдЧ рдЦреЗрд▓реЗрдкрдЫрд┐, рдореИрд▓реЗ рдЕрдиреНрддрддрдГ рд▓рдЧ рдбреЗрдЯрд╛рд▓рд╛рдИ рдореИрд▓реЗ рдЪрд╛рд╣реЗрдХреЛ рддрд░рд┐рдХрд╛рд▓реЗ рд╕рдВрд░рдЪрдирд╛ рдЧрд░реНрди рд╕рдХреНрд╖рдо рднрдПрдБред

LogStash рдорд╛ GROK рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд▓рдЧрд╣рд░реВрдмрд╛рдЯ ELK рд╕реНрдЯреНрдпрд╛рдХрдорд╛ рдЕрд╕рдВрд░рдЪрд┐рдд рдбрд╛рдЯрд╛ рд░реВрдкрд╛рдиреНрддрд░рдг рдЧрд░реНрдирдХрд╛ рд▓рд╛рдЧрд┐ рд╕реБрдЭрд╛рд╡ рд░ рдпреБрдХреНрддрд┐рд╣рд░реВ

Grok рдбрд┐рдмрдЧрд░ рд▓рд┐рдЩреНрдХ https://grokdebug.herokuapp.com/

рдореВрд▓ рдкрд╛рда:

localhost GET /v2/applink/5c2f4bb3e9fda1234edc64d 400 46ms 5bc6e716b5d6cb35fc9687c0

рдврд╛рдБрдЪрд╛:

%{WORD:environment} %{WORD:method} %{URIPATH:url} %{NUMBER:response_status} %{WORD:response_time} %{USERNAME:user_id}

рдЖрдЦрд┐рд░ рдХреЗ рднрдпреЛ

{
  "environment": [
    [
      "localhost"
    ]
  ],
  "method": [
    [
      "GET"
    ]
  ],
  "url": [
    [
      "/v2/applink/5c2f4bb3e9fda1234edc64d"
    ]
  ],
  "response_status": [
    [
      "400"
    ]
  ],
  "BASE10NUM": [
    [
      "400"
    ]
  ],
  "response_time": [
    [
      "46ms"
    ]
  ],
  "user_id": [
    [
      "5bc6e716b5d6cb35fc9687c0"
    ]
  ]
}

рд╣рд╛рддрдорд╛ Grok рдЯреЗрдореНрдкреНрд▓реЗрдЯ рд░ рдореНрдпрд╛рдк рдЧрд░рд┐рдПрдХреЛ рдбреЗрдЯрд╛рдХреЛ рд╕рд╛рде, рдЕрдиреНрддрд┐рдо рдЪрд░рдг рднрдиреЗрдХреЛ рдпрд╕рд▓рд╛рдИ Logstash рдорд╛ рдердкреНрдиреБ рд╣реЛред

Logstash.conf рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдлрд╛рдЗрд▓ рдЕрджреНрдпрд╛рд╡рдзрд┐рдХ рдЧрд░реНрджреИ

рддрдкрд╛рдИрдВрд▓реЗ ELK рд╕реНрдЯреНрдпрд╛рдХ рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрдиреБрднрдПрдХреЛ рд╕рд░реНрднрд░рдорд╛, Logstash рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рдирдорд╛ рдЬрд╛рдиреБрд╣реЛрд╕реН:

sudo vi /etc/logstash/conf.d/logstash.conf

рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ рдЯрд╛рдБрд╕реНрдиреБрд╣реЛрд╕реНред

input { 
  file {
    path => "/your_logs/*.log"
  }
}
filter{
  grok {
    match => { "message" => "%{WORD:environment} %{WORD:method} %{URIPATH:url} %{NUMBER:response_status} %{WORD:response_time} %{USERNAME:user_id}"}
  }
}
output {
  elasticsearch {
    hosts => [ "localhost:9200" ]
  }
}

рддрдкрд╛рдИрдВрдХреЛ рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ рдмрдЪрдд рдЧрд░реЗрдкрдЫрд┐, Logstash рдкреБрди: рд╕реБрд░реБ рдЧрд░реНрдиреБрд╣реЛрд╕реН рд░ рдпреЛ рдЕрдЭреИ рдХрд╛рдо рдЧрд░рд┐рд░рд╣реЗрдХреЛ рдЫ рднрдиреА рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдЧрд░реНрди рдпрд╕рдХреЛ рд╕реНрдерд┐рддрд┐ рдЬрд╛рдБрдЪ рдЧрд░реНрдиреБрд╣реЛрд╕реНред

sudo service logstash restart
sudo service logstash status

рдЕрдиреНрддрдорд╛, рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ рдкреНрд░рднрд╛рд╡рдХрд╛рд░реА рднрдПрдХреЛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдЧрд░реНрди, Kibana рдорд╛ Logstash рдХреЛ рд▓рд╛рдЧрд┐ рдЖрдлреНрдиреЛ Elasticsearch рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рдЕрджреНрдпрд╛рд╡рдзрд┐рдХ рдЧрд░реНрди рдирд┐рд╢реНрдЪрд┐рдд рд╣реБрдиреБрд╣реЛрд╕реН!

LogStash рдорд╛ GROK рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд▓рдЧрд╣рд░реВрдмрд╛рдЯ ELK рд╕реНрдЯреНрдпрд╛рдХрдорд╛ рдЕрд╕рдВрд░рдЪрд┐рдд рдбрд╛рдЯрд╛ рд░реВрдкрд╛рдиреНрддрд░рдг рдЧрд░реНрдирдХрд╛ рд▓рд╛рдЧрд┐ рд╕реБрдЭрд╛рд╡ рд░ рдпреБрдХреНрддрд┐рд╣рд░реВ

Grok рд╕рдВрдЧ, рддрдкрд╛рдЗрдБрдХреЛ рд▓рдЧ рдбрд╛рдЯрд╛ рд╕рдВрд░рдЪрд┐рдд рдЫ!

LogStash рдорд╛ GROK рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд▓рдЧрд╣рд░реВрдмрд╛рдЯ ELK рд╕реНрдЯреНрдпрд╛рдХрдорд╛ рдЕрд╕рдВрд░рдЪрд┐рдд рдбрд╛рдЯрд╛ рд░реВрдкрд╛рдиреНрддрд░рдг рдЧрд░реНрдирдХрд╛ рд▓рд╛рдЧрд┐ рд╕реБрдЭрд╛рд╡ рд░ рдпреБрдХреНрддрд┐рд╣рд░реВ

рд╣рд╛рдореА рдорд╛рдерд┐рдХреЛ рдЫрд╡рд┐рдорд╛ рджреЗрдЦреНрди рд╕рдХреНрдЫреМрдВ, Grok рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдкрдорд╛ Elasticsearch рд╕рдБрдЧ рд▓рдЧ рдбрд╛рдЯрд╛ рдорд┐рд▓рд╛рдЙрди рд╕рдХреНрд╖рдо рдЫред рдпрд╕рд▓реЗ рд▓рдЧрд╣рд░реВ рдкреНрд░рдмрдиреНрдз рдЧрд░реНрди рд░ рджреНрд░реБрдд рд░реВрдкрдорд╛ рдХреНрд╡реЗрд░реА рдЬрд╛рдирдХрд╛рд░реА рдЧрд░реНрди рд╕рдЬрд┐рд▓реЛ рдмрдирд╛рдЙрдБрдЫред рдбрд┐рдмрдЧ рдЧрд░реНрди рд▓рдЧ рдлрд╛рдЗрд▓рд╣рд░реВ рдорд╛рд░реНрдлрдд рдЦрдиреНрдиреЗ рдХреЛ рд╕рдЯреНрдЯрд╛, рддрдкрд╛рдИрд▓реЗ рдЦреЛрдЬрд┐рд░рд╣рдиреБ рднрдПрдХреЛ рдХреБрд░рд╛, рдЬрд╕реНрддреИ рд╡рд╛рддрд╛рд╡рд░рдг рд╡рд╛ url рд▓рд╛рдИ рдлрд┐рд▓реНрдЯрд░ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред

Grok рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рд╣рд░реВ рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрдиреБрд╣реЛрд╕реН! рдпрджрд┐ рддрдкрд╛рдЗрдБрд╕рдБрдЧ рдпреЛ рдЧрд░реНрдиреЗ рдЕрд░реНрдХреЛ рддрд░рд┐рдХрд╛ рдЫ рд╡рд╛ рдорд╛рдерд┐рдХрд╛ рдЙрджрд╛рд╣рд░рдгрд╣рд░реВрд╕рдБрдЧ рдХреБрдиреИ рд╕рдорд╕реНрдпрд╛ рдЫ рднрдиреЗ, рдорд▓рд╛рдИ рдерд╛рд╣рд╛ рджрд┐рдирдХреЛ рд▓рд╛рдЧрд┐ рддрд▓ рдЯрд┐рдкреНрдкрдгреА рд▓реЗрдЦреНрдиреБрд╣реЛрд╕реНред

рдкрдвреНрдирдХреЛ рд▓рд╛рдЧрд┐ рдзрдиреНрдпрд╡рд╛рдж тАФ рд░ рдердк рд░реЛрдЪрдХ рд╕рдлреНрдЯрд╡реЗрдпрд░ рдЗрдиреНрдЬрд┐рдирд┐рдпрд░рд┐рдЩ рд▓реЗрдЦрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдХреГрдкрдпрд╛ рдорд▓рд╛рдИ рдпрд╣рд╛рдБ рдорд╛рдзреНрдпрдордорд╛ рдкрдЫреНрдпрд╛рдЙрдиреБрд╣реЛрд╕реН!

╨а╨╡╤Б╤Г╤А╤Б╤Л

https://www.elastic.co/blog/do-you-grok-grok
https://github.com/elastic/logstash/blob/v1.4.2/patterns/grok-patterns
https://grokdebug.herokuapp.com/

PS рд╕реНрд░реЛрддрдорд╛ рд▓рд┐рдВрдХ

рдЯреЗрд▓рд┐рдЧреНрд░рд╛рдо рдЪреНрдпрд╛рдирд▓ рджреНрд╡рд╛рд░рд╛ Elasticsearch

рд╕реНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди