GROK рд╕рдБрдЧ рдЕрд╕рдВрд░рдЪрд┐рдд рдбреЗрдЯрд╛рдХреЛ рд╕рдВрд░рдЪрдирд╛
рдпрджрд┐ рддрдкрд╛рдЗрдБ рдЗрд▓рд╛рд╕реНрдЯрд┐рдХ (ELK) рд╕реНрдЯреНрдпрд╛рдХ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджреИ рд╣реБрдиреБрд╣реБрдиреНрдЫ рд░ рдЗрд▓рд╛рд╕реНрдЯрд┐рдХрд╕рд░реНрдЪрдорд╛ рдЕрдиреБрдХреВрд▓рди рд▓рдЧрд╕реНрдЯрд╛рд╕ рд▓рдЧрд╣рд░реВ рдореНрдпрд╛рдк рдЧрд░реНрди рд░реБрдЪрд┐ рд░рд╛рдЦреНрдиреБрд╣реБрдиреНрдЫ рднрдиреЗ, рдпреЛ рдкреЛрд╕реНрдЯ рддрдкрд╛рдЗрдБрдХреЛ рд▓рд╛рдЧрд┐ рд╣реЛред
ELK рд╕реНрдЯреНрдпрд╛рдХ рддреАрди рдУрдкрди рд╕реЛрд░реНрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯрд╣рд░реВрдХреЛ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд░реВрдк рд╣реЛ: Elasticsearch, Logstash рд░ Kibanaред рд╕рдБрдЧреИ рддрд┐рдиреАрд╣рд░реВрд▓реЗ рд▓рдЧ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рдкреНрд▓реЗрдЯрдлрд░реНрдо рдмрдирд╛рдЙрдБрдЫрдиреНред
- Elasticsearch рдЦреЛрдЬ рд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдгрд╛рддреНрдордХ рдкреНрд░рдгрд╛рд▓реА рд╣реЛред
- рд▓рдЧрд╕реНрдЯреНрдпрд╛рд╢ рд╕рд░реНрднрд░-рд╕рд╛рдЗрдб рдбрд╛рдЯрд╛ рдкреНрд░реЛрд╕реЗрд╕рд┐рдЩ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рд╣реЛ рдЬрд╕рд▓реЗ рдПрдХреИ рд╕рд╛рде рдзреЗрд░реИ рд╕реНрд░реЛрддрд╣рд░реВрдмрд╛рдЯ рдбрд╛рдЯрд╛ рдЗрдиреНрдЬреЗрд╕реНрдЯ рдЧрд░реНрдЫ, рдпрд╕рд▓рд╛рдИ рд░реВрдкрд╛рдиреНрддрд░рдг рдЧрд░реНрдЫ, рд░ рддреНрдпрд╕рдкрдЫрд┐ рдЗрд▓рд╛рд╕реНрдЯрд┐рдХрд╕рд░реНрдЪ рдЬрд╕реНрддрд╛ "рд╕реНрдЯреНрдпрд╛рд╢" рдорд╛ рдкрдард╛рдЙрдБрдЫред
- рдХрд┐рдмрд╛рдирд╛ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВрд▓рд╛рдИ Elasticsearch рдорд╛ рдЪрд╛рд░реНрдЯ рд░ рдЧреНрд░рд╛рдлрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдбреЗрдЯрд╛ рдХрд▓реНрдкрдирд╛ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред
рдмреАрдЯреНрд╕ рдкрдЫрд┐ рдЖрдпреЛ рд░ рдПрдХ рд╣рд▓реНрдХрд╛ рдбреЗрдЯрд╛ рд╢рд┐рдкрд░ рд╣реЛред рдмреАрдЯреНрд╕рдХреЛ рдкрд░рд┐рдЪрдпрд▓реЗ рдПрд▓реНрдХ рд╕реНрдЯреНрдпрд╛рдХрд▓рд╛рдИ рд▓реЛрдЪрджрд╛рд░ рд╕реНрдЯреНрдпрд╛рдХрдорд╛ рд░реВрдкрд╛рдиреНрддрд░рдг рдЧрд░реНрдпреЛ, рддрд░ рддреНрдпреЛ рдмрд┐рдиреНрджреБ рд╣реЛрдЗрдиред
рдпреЛ рд▓реЗрдЦ Grok рдХреЛ рдмрд╛рд░реЗрдорд╛ рд╣реЛ, рдЬреБрди Logstash рдорд╛ рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реЛ рдЬрд╕рд▓реЗ рддрдкрд╛рдЗрдБрдХреЛ рд▓рдЧрд╣рд░реВ рд╕реНрдЯреНрдпрд╛рд╕рдорд╛ рдкрдард╛рдЙрдиреБ рдЕрдШрд┐ рд░реВрдкрд╛рдиреНрддрд░рдг рдЧрд░реНрди рд╕рдХреНрдЫред рд╣рд╛рдореНрд░реЛ рдЙрджреНрджреЗрд╢реНрдпрдХрд╛ рд▓рд╛рдЧрд┐, рдо Logstash рдмрд╛рдЯ Elasticsearch рдорд╛ рдбрд╛рдЯрд╛ рдкреНрд░рд╢реЛрдзрди рдЧрд░реНрдиреЗ рдмрд╛рд░реЗ рдорд╛рддреНрд░ рдХреБрд░рд╛ рдЧрд░реНрдиреЗрдЫреБред
Grok Logstash рднрд┐рддреНрд░рдХреЛ рдПрдЙрдЯрд╛ рдлрд┐рд▓реНрдЯрд░ рд╣реЛ рдЬреБрди рдЕрд╕рдВрд░рдЪрд┐рдд рдбреЗрдЯрд╛рд▓рд╛рдИ рд╕рдВрд░рдЪрд┐рдд рд░ рдХреНрд╡реЗрд░реА рдЧрд░реНрди рдорд┐рд▓реНрдиреЗ рдХреБрд░рд╛рдорд╛ рдкрд╛рд░реНрд╕ рдЧрд░реНрди рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫред рдпреЛ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ (regex) рдХреЛ рд╢реАрд░реНрд╖рдорд╛ рдмрд╕реНрдЫ рд░ рд▓рдЧ рдлрд╛рдЗрд▓рд╣рд░реВрдорд╛ рд╕реНрдЯреНрд░рд┐рдЩрд╣рд░реВ рдорд┐рд▓рд╛рдЙрди рдкрд╛рда рдврд╛рдБрдЪрд╛рд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрдЫред
рд╣рд╛рдореА рдирд┐рдореНрди рдЦрдгреНрдбрд╣рд░реВрдорд╛ рджреЗрдЦреНрдиреЗрдЫреМрдВ, Grok рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрд╛ рдареВрд▓реЛ рдлрд░рдХ рдкрд╛рд░реНрдЫ рдЬрдм рдпреЛ рдХреБрд╢рд▓ рд▓рдЧ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдирдХреЛ рдХреБрд░рд╛ рдЖрдЙрдБрдЫред
Grok рдмрд┐рдирд╛ рддрдкрд╛рдИрдВрдХреЛ рд▓рдЧ рдбрд╛рдЯрд╛ рдЕрд╕рдВрд░рдЪрд┐рдд рдЫ
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 рдЯреЗрдореНрдкреНрд▓реЗрдЯ рд╡рд╛рдХреНрдп рд░рдЪрдирд╛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдЫ: %{SYNTAX:SEMANTIC}
рдореИрд▓реЗ рдЧрд░реНрдиреЗ рдкреНрд░рдпрд╛рд╕ рдЧрд░реЗрдХреЛ рдкрд╣рд┐рд▓реЛ рдХреБрд░рд╛ рдЯреНрдпрд╛рдмрдорд╛ рдЬрд╛рдиреБ рдерд┐рдпреЛ рдкрддреНрддрд╛ рд▓рдЧрд╛рдЙрдиреБрд╣реЛрд╕реН Grok рдбрд┐рдмрдЧрд░ рдорд╛ред рдореИрд▓реЗ рд╕реЛрдЪреЗ рдХрд┐ рдпреЛ рд░рд╛рдореНрд░реЛ рд╣реБрдиреЗрдЫ рдпрджрд┐ рдпреЛ рдЙрдкрдХрд░рдгрд▓реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдкрдорд╛ Grok рдврд╛рдБрдЪрд╛ рдЙрддреНрдкрдиреНрди рдЧрд░реНрди рд╕рдХреНрдЫ, рддрд░ рдпреЛ рдзреЗрд░реИ рдЙрдкрдпреЛрдЧреА рдерд┐рдПрди рдХрд┐рдирдХрд┐ рдпрд╕рд▓реЗ рдХреЗрд╡рд▓ рджреБрдИрд╡рдЯрд╛ рдорд┐рд▓реНрджреЛрд╣рд░реВ рдлреЗрд▓рд╛ рдкрд╛рд░реЗрдХреЛ рдерд┐рдпреЛред
рдпреЛ рдЦреЛрдЬ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░, рдореИрд▓реЗ рдЗрд▓рд╛рд╕реНрдЯрд┐рдХ рдЧрд┐рдердм рдкреГрд╖реНрдардорд╛ рдлреЗрд▓рд╛ рдкрд░реЗрдХреЛ рд╕рд┐рдиреНрдЯреНрдпрд╛рдХреНрд╕ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдЧреНрд░реЛрдХ рдбрд┐рдмрдЧрд░рдорд╛ рдЖрдлреНрдиреИ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди рдерд╛рд▓реЗрдВред
рдмрд┐рднрд┐рдиреНрди рд╕рд┐рдиреНрдЯреНрдпрд╛рдХреНрд╕рд╣рд░реВрд╕рдБрдЧ рдЦреЗрд▓реЗрдкрдЫрд┐, рдореИрд▓реЗ рдЕрдиреНрддрддрдГ рд▓рдЧ рдбреЗрдЯрд╛рд▓рд╛рдИ рдореИрд▓реЗ рдЪрд╛рд╣реЗрдХреЛ рддрд░рд┐рдХрд╛рд▓реЗ рд╕рдВрд░рдЪрдирд╛ рдЧрд░реНрди рд╕рдХреНрд╖рдо рднрдПрдБред
Grok рдбрд┐рдмрдЧрд░ рд▓рд┐рдЩреНрдХ
рдореВрд▓ рдкрд╛рда:
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 рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рдЕрджреНрдпрд╛рд╡рдзрд┐рдХ рдЧрд░реНрди рдирд┐рд╢реНрдЪрд┐рдд рд╣реБрдиреБрд╣реЛрд╕реН!
Grok рд╕рдВрдЧ, рддрдкрд╛рдЗрдБрдХреЛ рд▓рдЧ рдбрд╛рдЯрд╛ рд╕рдВрд░рдЪрд┐рдд рдЫ!
рд╣рд╛рдореА рдорд╛рдерд┐рдХреЛ рдЫрд╡рд┐рдорд╛ рджреЗрдЦреНрди рд╕рдХреНрдЫреМрдВ, Grok рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдкрдорд╛ Elasticsearch рд╕рдБрдЧ рд▓рдЧ рдбрд╛рдЯрд╛ рдорд┐рд▓рд╛рдЙрди рд╕рдХреНрд╖рдо рдЫред рдпрд╕рд▓реЗ рд▓рдЧрд╣рд░реВ рдкреНрд░рдмрдиреНрдз рдЧрд░реНрди рд░ рджреНрд░реБрдд рд░реВрдкрдорд╛ рдХреНрд╡реЗрд░реА рдЬрд╛рдирдХрд╛рд░реА рдЧрд░реНрди рд╕рдЬрд┐рд▓реЛ рдмрдирд╛рдЙрдБрдЫред рдбрд┐рдмрдЧ рдЧрд░реНрди рд▓рдЧ рдлрд╛рдЗрд▓рд╣рд░реВ рдорд╛рд░реНрдлрдд рдЦрдиреНрдиреЗ рдХреЛ рд╕рдЯреНрдЯрд╛, рддрдкрд╛рдИрд▓реЗ рдЦреЛрдЬрд┐рд░рд╣рдиреБ рднрдПрдХреЛ рдХреБрд░рд╛, рдЬрд╕реНрддреИ рд╡рд╛рддрд╛рд╡рд░рдг рд╡рд╛ url рд▓рд╛рдИ рдлрд┐рд▓реНрдЯрд░ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред
Grok рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рд╣рд░реВ рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрдиреБрд╣реЛрд╕реН! рдпрджрд┐ рддрдкрд╛рдЗрдБрд╕рдБрдЧ рдпреЛ рдЧрд░реНрдиреЗ рдЕрд░реНрдХреЛ рддрд░рд┐рдХрд╛ рдЫ рд╡рд╛ рдорд╛рдерд┐рдХрд╛ рдЙрджрд╛рд╣рд░рдгрд╣рд░реВрд╕рдБрдЧ рдХреБрдиреИ рд╕рдорд╕реНрдпрд╛ рдЫ рднрдиреЗ, рдорд▓рд╛рдИ рдерд╛рд╣рд╛ рджрд┐рдирдХреЛ рд▓рд╛рдЧрд┐ рддрд▓ рдЯрд┐рдкреНрдкрдгреА рд▓реЗрдЦреНрдиреБрд╣реЛрд╕реНред
рдкрдвреНрдирдХреЛ рд▓рд╛рдЧрд┐ рдзрдиреНрдпрд╡рд╛рдж тАФ рд░ рдердк рд░реЛрдЪрдХ рд╕рдлреНрдЯрд╡реЗрдпрд░ рдЗрдиреНрдЬрд┐рдирд┐рдпрд░рд┐рдЩ рд▓реЗрдЦрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдХреГрдкрдпрд╛ рдорд▓рд╛рдИ рдпрд╣рд╛рдБ рдорд╛рдзреНрдпрдордорд╛ рдкрдЫреНрдпрд╛рдЙрдиреБрд╣реЛрд╕реН!
╨а╨╡╤Б╤Г╤А╤Б╤Л
PS
рдЯреЗрд▓рд┐рдЧреНрд░рд╛рдо рдЪреНрдпрд╛рдирд▓ рджреНрд╡рд╛рд░рд╛
рд╕реНрд░реЛрдд: www.habr.com