LogStash เจตเจฟเฉฑเจš GROK เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ เจฒเฉŒเจ—เจธ เจคเฉ‹เจ‚ ELK เจธเจŸเฉˆเจ• เจตเจฟเฉฑเจš เจ—เฉˆเจฐ-เจธเฉฐเจ—เจ เจฟเจค เจกเฉ‡เจŸเจพ เจจเฉ‚เฉฐ เจฌเจฆเจฒเจฃ เจฒเจˆ เจธเฉเจเจพเจ… เจ…เจคเฉ‡ เจœเฉเจ—เจคเจพเจ‚

GROK เจจเจพเจฒ เจ—เฉˆเจฐ-เจธเฉฐเจ—เจ เจฟเจค เจกเฉ‡เจŸเจพ เจฆเจพ เจธเฉฐเจฐเจšเจจเจพ เจ•เจฐเจจเจพ

เจœเฉ‡เจ•เจฐ เจคเฉเจธเฉ€เจ‚ เจ‡เจฒเจพเจธเจŸเจฟเจ• (ELK) เจธเจŸเฉˆเจ• เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐ เจฐเจนเฉ‡ เจนเฉ‹ เจ…เจคเฉ‡ Elasticsearch เจจเจพเจฒ เจ•เจธเจŸเจฎ เจฒเฉŒเจ—เจธเจŸเฉˆเจธเจผ เจฒเฉŒเจ—เจธ เจจเฉ‚เฉฐ เจฎเฉˆเจช เจ•เจฐเจจ เจตเจฟเฉฑเจš เจฆเจฟเจฒเจšเจธเจชเฉ€ เจฐเฉฑเจ–เจฆเฉ‡ เจนเฉ‹, เจคเจพเจ‚ เจ‡เจน เจชเฉ‹เจธเจŸ เจคเฉเจนเจพเจกเฉ‡ เจฒเจˆ เจนเฉˆเฅค

LogStash เจตเจฟเฉฑเจš GROK เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ เจฒเฉŒเจ—เจธ เจคเฉ‹เจ‚ ELK เจธเจŸเฉˆเจ• เจตเจฟเฉฑเจš เจ—เฉˆเจฐ-เจธเฉฐเจ—เจ เจฟเจค เจกเฉ‡เจŸเจพ เจจเฉ‚เฉฐ เจฌเจฆเจฒเจฃ เจฒเจˆ เจธเฉเจเจพเจ… เจ…เจคเฉ‡ เจœเฉเจ—เจคเจพเจ‚

ELK เจธเจŸเฉˆเจ• เจคเจฟเฉฐเจจ เจ“เจชเจจ เจธเฉ‹เจฐเจธ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸเจพเจ‚ เจฆเจพ เจธเฉฐเจ–เฉ‡เจช เจฐเฉ‚เจช เจนเฉˆ: Elasticsearch, Logstash เจ…เจคเฉ‡ Kibanaเฅค เจ‡เจ•เฉฑเจ เฉ‡ เจ‰เจน เจ‡เฉฑเจ• เจฒเจพเจ— เจชเฉเจฐเจฌเฉฐเจงเจจ เจชเจฒเฉ‡เจŸเจซเจพเจฐเจฎ เจฌเจฃเจพเจ‰เจ‚เจฆเฉ‡ เจนเจจเฅค

  • เจฒเจฒเจธเฉ€ เจ–เฉ‹เจœ เจ‡เฉฑเจ• เจ–เฉ‹เจœ เจ…เจคเฉ‡ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ เจชเฉเจฐเจฃเจพเจฒเฉ€ เจนเฉˆเฅค
  • เจฒเฉŒเจ—เจธเจŸเฉˆเจธเจผ เจ‡เฉฑเจ• เจธเจฐเจตเจฐ-เจธเจพเจˆเจก เจกเฉ‡เจŸเจพ เจชเฉเจฐเฉ‹เจธเฉˆเจธเจฟเฉฐเจ— เจชเจพเจˆเจชเจฒเจพเจˆเจจ เจนเฉˆ เจœเฉ‹ เจ‡เฉฑเจ•เฉ‹ เจธเจฎเฉ‡เจ‚ เจ•เจˆ เจธเจฐเฉ‹เจคเจพเจ‚ เจคเฉ‹เจ‚ เจกเฉ‡เจŸเจพ เจจเฉ‚เฉฐ เจ—เฉเจฐเจนเจฟเจฃ เจ•เจฐเจฆเฉ€ เจนเฉˆ, เจ‡เจธเจจเฉ‚เฉฐ เจฌเจฆเจฒเจฆเฉ€ เจนเฉˆ, เจ…เจคเฉ‡ เจซเจฟเจฐ เจ‡เจธเจจเฉ‚เฉฐ "เจธเจŸเฉˆเจธเจผ" เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ Elasticsearch เจตเจฟเฉฑเจš เจญเฉ‡เจœเจฆเฉ€ เจนเฉˆเฅค
  • เจ•เจฟเจฌเจพเจจเจพ Elasticsearch เจตเจฟเฉฑเจš เจšเจพเจฐเจŸ เจ…เจคเฉ‡ เจ—เฉเจฐเจพเจซ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจ‰เจชเจญเฉ‹เจ—เจคเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจกเฉ‡เจŸเจพ เจฆเฉ€ เจ•เจฒเจชเจจเจพ เจ•เจฐเจจ เจฆเฉ€ เจ†เจ—เจฟเจ† เจฆเจฟเฉฐเจฆเจพ เจนเฉˆเฅค

เจฌเฉ€เจŸเจธ เจฌเจพเจ…เจฆ เจตเจฟเฉฑเจš เจ†เจ‡เจ† เจ…เจคเฉ‡ เจ‡เฉฑเจ• เจนเจฒเจ•เจพ เจกเจพเจŸเจพ เจธเจผเจฟเจชเจฐ เจนเฉˆเฅค เจฌเฉ€เจŸเจธ เจฆเฉ€ เจธเจผเฉเจฐเฉ‚เจ†เจค เจจเฉ‡ เจเจฒเจ• เจธเจŸเฉˆเจ• เจจเฉ‚เฉฐ เจฒเจšเจ•เฉ€เจฒเฉ‡ เจธเจŸเฉˆเจ• เจตเจฟเฉฑเจš เจฌเจฆเจฒ เจฆเจฟเฉฑเจคเจพ, เจชเจฐ เจ‡เจน เจฌเจฟเฉฐเจฆเฉ‚ เจจเจนเฉ€เจ‚ เจนเฉˆเฅค

เจ‡เจน เจฒเฉ‡เจ– Grok เจฌเจพเจฐเฉ‡ เจนเฉˆ, เจœเฉ‹ เจ•เจฟ Logstash เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพ เจนเฉˆ เจœเฉ‹ เจคเฉเจนเจพเจกเฉ‡ เจฒเฉŒเจ—เจธ เจจเฉ‚เฉฐ เจธเจŸเฉˆเจธเจผ เจตเจฟเฉฑเจš เจญเฉ‡เจœเจฃ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจฌเจฆเจฒ เจธเจ•เจฆเฉ€ เจนเฉˆเฅค เจธเจพเจกเฉ‡ เจ‰เจฆเฉ‡เจธเจผเจพเจ‚ เจฒเจˆ, เจฎเฉˆเจ‚ เจธเจฟเจฐเจซ Logstash เจคเฉ‹เจ‚ Elasticsearch เจตเจฟเฉฑเจš เจกเฉ‡เจŸเจพ เจฆเฉ€ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจ•เจฐเจจ เจฌเจพเจฐเฉ‡ เจ—เฉฑเจฒ เจ•เจฐเจพเจ‚เจ—เจพเฅค

LogStash เจตเจฟเฉฑเจš GROK เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ เจฒเฉŒเจ—เจธ เจคเฉ‹เจ‚ ELK เจธเจŸเฉˆเจ• เจตเจฟเฉฑเจš เจ—เฉˆเจฐ-เจธเฉฐเจ—เจ เจฟเจค เจกเฉ‡เจŸเจพ เจจเฉ‚เฉฐ เจฌเจฆเจฒเจฃ เจฒเจˆ เจธเฉเจเจพเจ… เจ…เจคเฉ‡ เจœเฉเจ—เจคเจพเจ‚

Grok เจฒเฉŒเจ—เจธเจŸเฉˆเจธเจผ เจฆเฉ‡ เจ…เฉฐเจฆเจฐ เจ‡เฉฑเจ• เจซเจฟเจฒเจŸเจฐ เจนเฉˆ เจœเฉ‹ เจ—เฉˆเจฐ-เจธเฉฐเจ—เจ เจฟเจค เจกเฉ‡เจŸเจพ เจจเฉ‚เฉฐ เจ•เจฟเจธเฉ‡ เจธเจŸเฉเจฐเจ•เจšเจฐเจก เจ…เจคเฉ‡ เจชเฉเฉฑเจ›เจ—เจฟเฉฑเจ›เจฏเฉ‹เจ— เจตเจฟเฉฑเจš เจชเจพเจฐเจธ เจ•เจฐเจจ เจฒเจˆ เจตเจฐเจคเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค เจ‡เจน เจ‡เฉฑเจ• เจฐเฉˆเจ—เฉ‚เจฒเจฐ เจธเจฎเฉ€เจ•เจฐเจจ (เจฐเฉ‡เจœเฉˆเจ•เจธ) เจฆเฉ‡ เจธเจฟเจ–เจฐ 'เจคเฉ‡ เจฌเฉˆเจ เจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจฒเฉŒเจ— เจซเจพเจˆเจฒเจพเจ‚ เจตเจฟเฉฑเจš เจธเจคเจฐ เจจเจพเจฒ เจฎเฉ‡เจฒ เจ•เจฐเจจ เจฒเจˆ เจŸเฉˆเจ•เจธเจŸ เจชเฉˆเจŸเจฐเจจเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเจพ เจนเฉˆเฅค

เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจ…เจธเฉ€เจ‚ เจนเฉ‡เจ เจพเจ‚ เจฆเจฟเฉฑเจคเฉ‡ เจญเจพเจ—เจพเจ‚ เจตเจฟเฉฑเจš เจฆเฉ‡เจ–เจพเจ‚เจ—เฉ‡, เจœเจฆเฉ‹เจ‚ เจ•เฉเจธเจผเจฒ เจฒเฉŒเจ— เจชเฉเจฐเจฌเฉฐเจงเจจ เจฆเฉ€ เจ—เฉฑเจฒ เจ†เจ‰เจ‚เจฆเฉ€ เจนเฉˆ เจคเจพเจ‚ Grok เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจ เจจเจพเจฒ เจ‡เฉฑเจ• เจตเฉฑเจกเจพ เจซเจผเจฐเจ• เจชเฉˆเจ‚เจฆเจพ เจนเฉˆเฅค

Grok เจคเฉ‹เจ‚ เจฌเจฟเจจเจพเจ‚ เจคเฉเจนเจพเจกเจพ เจฒเฉŒเจ— เจกเฉ‡เจŸเจพ เจ—เฉˆเจฐ-เจธเฉฐเจ—เจ เจฟเจค เจนเฉˆ

LogStash เจตเจฟเฉฑเจš GROK เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ เจฒเฉŒเจ—เจธ เจคเฉ‹เจ‚ ELK เจธเจŸเฉˆเจ• เจตเจฟเฉฑเจš เจ—เฉˆเจฐ-เจธเฉฐเจ—เจ เจฟเจค เจกเฉ‡เจŸเจพ เจจเฉ‚เฉฐ เจฌเจฆเจฒเจฃ เจฒเจˆ เจธเฉเจเจพเจ… เจ…เจคเฉ‡ เจœเฉเจ—เจคเจพเจ‚

Grok เจคเฉ‹เจ‚ เจฌเจฟเจจเจพเจ‚, เจœเจฆเฉ‹เจ‚ เจฒเฉŒเจ—เจธ เจจเฉ‚เฉฐ Logstash เจคเฉ‹เจ‚ Elasticsearch เจจเฉ‚เฉฐ เจญเฉ‡เจœเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจ•เจฟเจฌเจพเจจเจพ เจตเจฟเฉฑเจš เจฐเฉˆเจ‚เจกเจฐ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจคเจพเจ‚ เจ‰เจน เจธเจฟเจฐเจซเจผ เจธเฉเจจเฉ‡เจนเฉ‡ เจฆเฉ‡ เจฎเฉเฉฑเจฒ เจตเจฟเฉฑเจš เจฆเจฟเจ–เจพเจˆ เจฆเจฟเฉฐเจฆเฉ‡ เจนเจจเฅค

เจ‡เจธ เจธเจฅเจฟเจคเฉ€ เจตเจฟเฉฑเจš เจ…เจฐเจฅเจชเฉ‚เจฐเจจ เจœเจพเจฃเจ•เจพเจฐเฉ€ เจฆเฉ€ เจชเฉเฉฑเจ›เจ—เจฟเฉฑเจ› เจ•เจฐเจจเจพ เจฎเฉเจธเจผเจ•เจฒ เจนเฉˆ เจ•เจฟเจ‰เจ‚เจ•เจฟ เจธเจพเจฐเจพ เจฒเฉŒเจ— เจกเฉ‡เจŸเจพ เจ‡เฉฑเจ• เจ•เฉเฉฐเจœเฉ€ เจตเจฟเฉฑเจš เจธเจŸเฉ‹เจฐ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค เจ‡เจน เจฌเจฟเจนเจคเจฐ เจนเฉ‹เจตเฉ‡เจ—เจพ เจœเฉ‡เจ•เจฐ เจฒเฉŒเจ— เจธเฉเจจเฉ‡เจนเจฟเจ†เจ‚ เจจเฉ‚เฉฐ เจฌเจฟเจนเจคเจฐ เจขเฉฐเจ— เจจเจพเจฒ เจตเจฟเจตเจธเจฅเจฟเจค เจ•เฉ€เจคเจพ เจœเจพเจตเฉ‡เฅค

เจฒเฉŒเจ—เจธ เจคเฉ‹เจ‚ เจ—เฉˆเจฐ-เจธเฉฐเจ—เจ เจฟเจค เจกเฉ‡เจŸเจพ

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

เจœเฉ‡เจ•เจฐ เจคเฉเจธเฉ€เจ‚ เจ•เฉฑเจšเฉ‡ เจกเฉ‡เจŸเจพ เจจเฉ‚เฉฐ เจจเฉ‡เฉœเจฟเจ“เจ‚ เจฆเฉ‡เจ–เจฆเฉ‡ เจนเฉ‹, เจคเจพเจ‚ เจคเฉเจธเฉ€เจ‚ เจฆเฉ‡เจ–เฉ‹เจ—เฉ‡ เจ•เจฟ เจ‡เจน เจ…เจธเจฒ เจตเจฟเฉฑเจš เจตเฉฑเจ–-เจตเฉฑเจ– เจญเจพเจ—เจพเจ‚ เจฆเฉ‡ เจธเจผเจพเจฎเจฒ เจนเจจ, เจนเจฐเฉ‡เจ• เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจธเจชเฉ‡เจธ เจฆเฉเจ†เจฐเจพ เจตเฉฑเจ– เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆเฅค

เจตเจงเฉ‡เจฐเฉ‡ เจคเจœเจฐเจฌเฉ‡เจ•เจพเจฐ เจกเจฟเจตเฉˆเจฒเจชเจฐเจพเจ‚ เจฒเจˆ, เจคเฉเจธเฉ€เจ‚ เจธเจผเจพเจ‡เจฆ เจ…เฉฐเจฆเจพเจœเจผเจพ เจฒเจ—เจพ เจธเจ•เจฆเฉ‡ เจนเฉ‹ เจ•เจฟ เจนเจฐเฉ‡เจ• เจนเจฟเฉฑเจธเฉ‡ เจฆเจพ เจ•เฉ€ เจ…เจฐเจฅ เจนเฉˆ เจ…เจคเฉ‡ API เจ•เจพเจฒ เจคเฉ‹เจ‚ เจ‰เจน เจฒเฉŒเจ— เจธเฉเจจเฉ‡เจนเจพ เจ•เฉ€ เจนเฉˆเฅค เจนเจฐเฉ‡เจ• เจ†เจˆเจŸเจฎ เจฆเฉ€ เจชเฉ‡เจธเจผเจ•เจพเจฐเฉ€ เจนเฉ‡เจ เจพเจ‚ เจฆเจฟเฉฑเจคเฉ€ เจ—เจˆ เจนเฉˆเฅค

เจธเจพเจกเฉ‡ เจกเฉ‡เจŸเจพ เจฆเจพ เจขเจพเจ‚เจšเจพเจ—เจค เจฆเฉเจฐเจฟเจธเจผ

  • เจฒเฉ‹เจ•เจฒเจนเฉ‹เจธเจŸ == เจตเจพเจคเจพเจตเจฐเจจ
  • เจชเฉเจฐเจพเจชเจค เจ•เจฐเฉ‹ == เจตเจฟเจงเฉ€
  • โ€‹ /v2/applink/5c2f4bb3e9fda1234edc64d == url
  • 400 == เจœเจตเจพเจฌ_เจธเจฅเจฟเจคเฉ€
  • 46ms == เจœเจตเจพเจฌ_เจธเจฎเจพเจ‚
  • โ€‹ 5bc6e716b5d6cb35fc9687c0 == user_id

เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจ…เจธเฉ€เจ‚ เจธเจŸเฉเจฐเจ•เจšเจฐเจก เจกเฉ‡เจŸเจพ เจตเจฟเฉฑเจš เจฆเฉ‡เจ–เจฆเฉ‡ เจนเจพเจ‚, เจ—เฉˆเจฐ-เจธเฉฐเจ—เจ เจฟเจค เจฒเฉŒเจ—เจธ เจฒเจˆ เจ‡เฉฑเจ• เจ†เจฐเจกเจฐ เจนเฉˆเฅค เจ…เจ—เจฒเจพ เจ•เจฆเจฎ เจ•เฉฑเจšเฉ‡ เจกเฉ‡เจŸเจพ เจฆเฉ€ เจธเฉŒเจซเจŸเจตเฉ‡เจ…เจฐ เจชเฉเจฐเฉ‹เจธเฉˆเจธเจฟเฉฐเจ— เจนเฉˆเฅค เจ‡เจน เจ‰เจน เจฅเจพเจ‚ เจนเฉˆ เจœเจฟเฉฑเจฅเฉ‡ เจ—เฉเจฐเฉ‹เจ• เจšเจฎเจ•เจฆเจพ เจนเฉˆ.

Grok เจŸเฉˆเจ‚เจชเจฒเฉ‡เจŸเจธ

เจฌเจฟเจฒเจŸ-เจ‡เจจ เจ—เฉเจฐเฉ‹เจ• เจŸเฉˆเจ‚เจชเจฒเฉ‡เจŸเจธ

เจฒเฉŒเจ—เจธเจŸเฉˆเจธเจผ 100 เจคเฉ‹เจ‚ เจตเฉฑเจง เจฌเจฟเจฒเจŸ-เจ‡เจจ เจŸเฉˆเจ‚เจชเจฒเฉ‡เจŸเจธ เจฆเฉ‡ เจจเจพเจฒ เจ—เฉˆเจฐ-เจธเฉฐเจ—เจ เจฟเจค เจกเฉ‡เจŸเจพ เจจเฉ‚เฉฐ เจธเจŸเฉเจฐเจ•เจšเจฐ เจ•เจฐเจจ เจฒเจˆ เจ†เจ‰เจ‚เจฆเจพ เจนเฉˆเฅค apache, linux, haproxy, aws เจ†เจฆเจฟ เจตเจฐเจ—เฉ‡ เจ†เจฎ เจธเจฟเจธเจฒเฉŒเจ— เจฒเจˆ เจœเจฆเฉ‹เจ‚ เจตเฉ€ เจธเฉฐเจญเจต เจนเฉ‹เจตเฉ‡ เจคเจพเจ‚ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจฏเจ•เฉ€เจจเฉ€ เจคเฉŒเจฐ 'เจคเฉ‡ เจ‡เจธเจฆเจพ เจฒเจพเจญ เจฒเฉˆเจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆเฅค

เจนเจพเจฒเจพเจ‚เจ•เจฟ, เจ•เฉ€ เจนเฉเฉฐเจฆเจพ เจนเฉˆ เจœเจฆเฉ‹เจ‚ เจคเฉเจนเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจ•เจธเจŸเจฎ เจฒเฉŒเจ— เจนเฉเฉฐเจฆเฉ‡ เจนเจจ เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจ‰เจชเจฐเฉ‹เจ•เจค เจ‰เจฆเจพเจนเจฐเจจ เจตเจฟเฉฑเจš? เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ†เจชเจฃเจพ 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" ]
  }
}

เจคเฉเจนเจพเจกเฉ€เจ†เจ‚ เจคเจฌเจฆเฉ€เจฒเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจธเฉเจฐเฉฑเจ–เจฟเจ…เจค เจ•เจฐเจจ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, เจฒเฉŒเจ—เจธเจŸเฉˆเจธเจผ เจจเฉ‚เฉฐ เจฎเฉเฉœ เจšเจพเจฒเฉ‚ เจ•เจฐเฉ‹ เจ…เจคเฉ‡ เจ‡เจน เจฏเจ•เฉ€เจจเฉ€ เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ เจ‡เจธเจฆเฉ€ เจธเจฅเจฟเจคเฉ€ เจฆเฉ€ เจœเจพเจ‚เจš เจ•เจฐเฉ‹ เจ•เจฟ เจ‡เจน เจ…เจœเฉ‡ เจตเฉ€ เจ•เฉฐเจฎ เจ•เจฐ เจฐเจฟเจนเจพ เจนเฉˆเฅค

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 เจธเจฐเฉ‹เจค เจฒเจฟเฉฐเจ•

เจฆเฉเจ†เจฐเจพ เจŸเฉˆเจฒเฉ€เจ—เฉเจฐเจพเจฎ เจšเฉˆเจจเจฒ เจฒเจฒเจธเฉ€ เจ–เฉ‹เจœ

เจธเจฐเฉ‹เจค: www.habr.com

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹