LogStash เชฎเชพเช‚ GROK เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชฒเซ‰เช—เซเชธเชฎเชพเช‚เชฅเซ€ เช…เชจเชธเซเชŸเซเชฐเช•เซเชšเชฐเซเชก เชกเซ‡เชŸเชพเชจเซ‡ ELK เชธเซเชŸเซ‡เช•เชฎเชพเช‚ เช•เชจเซเชตเชฐเซเชŸ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡เชจเซ€ เชŸเชฟเชชเซเชธ เช…เชจเซ‡ เชฏเซเช•เซเชคเชฟเช“

GROK เชธเชพเชฅเซ‡ เช…เชจเชธเซเชŸเซเชฐเช•เซเชšเชฐเซเชก เชกเซ‡เชŸเชพเชจเซเช‚ เชฎเชพเชณเช–เซเช‚

เชœเซ‹ เชคเชฎเซ‡ เชธเซเชฅเชฟเชคเชฟเชธเซเชฅเชพเชชเช• (ELK) เชธเซเชŸเซ‡เช•เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€ เชฐเชนเซเชฏเชพเช‚ เช›เซ‹ เช…เชจเซ‡ เชตเซˆเชตเชฟเชงเซเชฏเชชเซ‚เชฐเซเชฃ เชฒเซ‹เช—เชธเซเชŸเซ‡เชถ เชฒเซ‹เช—เชจเซ‡ Elasticsearch เชชเชฐ เชฎเซ‡เชช เช•เชฐเชตเชพเชฎเชพเช‚ เชฐเชธ เชงเชฐเชพเชตเซ‹ เช›เซ‹, เชคเซ‹ เช† เชชเซ‹เชธเซเชŸ เชคเชฎเชพเชฐเชพ เชฎเชพเชŸเซ‡ เช›เซ‡.

LogStash เชฎเชพเช‚ GROK เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชฒเซ‰เช—เซเชธเชฎเชพเช‚เชฅเซ€ เช…เชจเชธเซเชŸเซเชฐเช•เซเชšเชฐเซเชก เชกเซ‡เชŸเชพเชจเซ‡ ELK เชธเซเชŸเซ‡เช•เชฎเชพเช‚ เช•เชจเซเชตเชฐเซเชŸ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡เชจเซ€ เชŸเชฟเชชเซเชธ เช…เชจเซ‡ เชฏเซเช•เซเชคเชฟเช“

ELK เชธเซเชŸเซ‡เช• เช เชคเซเชฐเชฃ เช“เชชเชจ เชธเซ‹เชฐเซเชธ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเซเชธเชจเซเช‚ เชŸเซ‚เช‚เช•เซเช‚ เชจเชพเชฎ เช›เซ‡: Elasticsearch, Logstash เช…เชจเซ‡ Kibana. เชคเซ‡เช“ เชธเชพเชฅเซ‡ เชฎเชณเซ€เชจเซ‡ เชฒเซ‹เช— เชฎเซ‡เชจเซ‡เชœเชฎเซ‡เชจเซเชŸ เชชเซเชฒเซ‡เชŸเชซเซ‹เชฐเซเชฎ เชฌเชจเชพเชตเซ‡ เช›เซ‡.

  • เชธเซเชฅเชฟเชคเชฟเชธเซเชฅเชพเชชเช• เชถเซ‹เชง เชถเซ‹เชง เช…เชจเซ‡ เชตเชฟเชถเซเชฒเซ‡เชทเชฃเชพเชคเซเชฎเช• เชธเชฟเชธเซเชŸเชฎ เช›เซ‡.
  • เชฒเซ‹เช—เชธเซเชŸเซ‡เชถ เช เชธเชฐเซเชตเชฐ-เชธเชพเช‡เชก เชกเซ‡เชŸเชพ เชชเซเชฐเซ‹เชธเซ‡เชธเชฟเช‚เช— เชชเชพเช‡เชชเชฒเชพเช‡เชจ เช›เซ‡ เชœเซ‡ เชเช•เชธเชพเชฅเซ‡ เชฌเชนเซเชตเชฟเชง เชธเซเชคเซเชฐเซ‹เชคเซ‹เชฎเชพเช‚เชฅเซ€ เชกเซ‡เชŸเชพ เช‡เชจเซเชœเซ‡เชธเซเชŸ เช•เชฐเซ‡ เช›เซ‡, เชคเซ‡เชจเซ‡ เชฐเซ‚เชชเชพเช‚เชคเชฐเชฟเชค เช•เชฐเซ‡ เช›เซ‡ เช…เชจเซ‡ เชชเช›เซ€ เชคเซ‡เชจเซ‡ เช‡เชฒเชพเชธเซเชŸเชฟเช•เชธเชฐเซเชš เชœเซ‡เชตเชพ "เชธเซเชŸเซ‡เชถ" เชชเชฐ เชฎเซ‹เช•เชฒเซ‡ เช›เซ‡.
  • เช•เชฟเชฌเชจเชพ Elasticsearch เชฎเชพเช‚ เชšเชพเชฐเซเชŸ เช…เชจเซ‡ เช—เซเชฐเชพเชซเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเช“เชจเซ‡ เชกเซ‡เชŸเชพเชจเซ€ เช•เชฒเซเชชเชจเชพ เช•เชฐเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡.

เชงเชฌเช•เชพเชฐเชพ เชชเชพเช›เชณเชฅเซ€ เช†เชตเซเชฏเซ‹ เช…เชจเซ‡ เชฒเชพเช‡เชŸเชตเซ‡เช‡เชŸ เชกเซ‡เชŸเชพ เชถเชฟเชชเชฐ เช›เซ‡. เชฌเซ€เชŸเซเชธเชจเซ€ เชฐเชœเซ‚เช†เชคเซ‡ เชเชฒเซเช• เชธเซเชŸเซ‡เช•เชจเซ‡ เชธเซเชฅเชฟเชคเชฟเชธเซเชฅเชพเชชเช• เชธเซเชŸเซ‡เช•เชฎเชพเช‚ เชชเชฐเชฟเชตเชฐเซเชคเชฟเชค เช•เชฐเซเชฏเซเช‚, เชชเชฐเช‚เชคเซ เชคเซ‡ เชฎเซเชฆเซเชฆเซ‹ เชจเชฅเซ€.

เช† เชฒเซ‡เช– Grok เชตเชฟเชถเซ‡ เช›เซ‡, เชœเซ‡ Logstash เชฎเชพเช‚ เชเช• เชตเชฟเชถเซ‡เชทเชคเชพ เช›เซ‡ เชœเซ‡ เชคเชฎเชพเชฐเชพ เชฒเซ‹เช—เชจเซ‡ เชธเช‚เชคเชพเชกเชตเชพเชจเซ€ เชœเช—เซเชฏเชพเชฎเชพเช‚ เชฎเซ‹เช•เชฒเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เชคเซ‡ เชชเชนเซ‡เชฒเชพเช‚ เชคเซ‡เชจเซ‡ เชฌเชฆเชฒเซ€ เชถเช•เซ‡ เช›เซ‡. เช…เชฎเชพเชฐเชพ เชนเซ‡เชคเซเช“ เชฎเชพเชŸเซ‡, เชนเซเช‚ เชซเช•เซเชค Logstash เชฅเซ€ Elasticsearch เชฎเชพเช‚ เชกเซ‡เชŸเชพเชจเซ€ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เช•เชฐเชตเชพ เชตเชฟเชถเซ‡ เชตเชพเชค เช•เชฐเซ€เชถ.

LogStash เชฎเชพเช‚ GROK เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชฒเซ‰เช—เซเชธเชฎเชพเช‚เชฅเซ€ เช…เชจเชธเซเชŸเซเชฐเช•เซเชšเชฐเซเชก เชกเซ‡เชŸเชพเชจเซ‡ ELK เชธเซเชŸเซ‡เช•เชฎเชพเช‚ เช•เชจเซเชตเชฐเซเชŸ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡เชจเซ€ เชŸเชฟเชชเซเชธ เช…เชจเซ‡ เชฏเซเช•เซเชคเชฟเช“

Grok เช Logstash เชจเซ€ เช…เช‚เชฆเชฐเชจเซเช‚ เชเช• เชซเชฟเชฒเซเชŸเชฐ เช›เซ‡ เชœเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช…เชจเชธเซเชŸเซเชฐเช•เซเชšเชฐเซเชก เชกเซ‡เชŸเชพเชจเซ‡ เชธเซเชŸเซเชฐเช•เซเชšเชฐเซเชก เช…เชจเซ‡ เช•เซเชตเซ‡เชฐเซ€ เช•เชฐเซ€ เชถเช•เชพเชฏ เชคเซ‡เชตเชพ เช•เช‚เชˆเช•เชฎเชพเช‚ เชชเชพเชฐเซเชธ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชฅเชพเชฏ เช›เซ‡. เชคเซ‡ เชฐเซ‡เช—เซเชฏเซเชฒเชฐ เชเช•เซเชธเชชเซเชฐเซ‡เชถเชจ (เชฐเซ‡เชœเซ‡เช•เซเชธ)เชจเซ€ เชŸเซ‹เชš เชชเชฐ เชฌเซ‡เชธเซ‡ เช›เซ‡ เช…เชจเซ‡ เชฒเซ‹เช— เชซเชพเชˆเชฒเซ‹เชฎเชพเช‚ เชธเซเชŸเซเชฐเซ€เช‚เช—เซเชธเชจเซ‡ เชฎเซ‡เชš เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชŸเซ‡เช•เซเชธเซเชŸ เชชเซ‡เชŸเชฐเซเชจเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‡ เช›เซ‡.

เชœเซ‡เชฎ เช†เชชเชฃเซ‡ เชจเซ€เชšเซ‡เชจเชพ เชตเชฟเชญเชพเช—เซ‹เชฎเชพเช‚ เชœเซ‹เชˆเชถเซเช‚, เชœเซเชฏเชพเชฐเซ‡ เช•เชพเชฐเซเชฏเช•เซเชทเชฎ เชฒเซ‹เช— เชฎเซ‡เชจเซ‡เชœเชฎเซ‡เชจเซเชŸเชจเซ€ เชตเชพเชค เช†เชตเซ‡ เชคเซเชฏเชพเชฐเซ‡ Grok เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชฅเซ€ เชฎเซ‹เชŸเซ‹ เชซเชฐเช• เชชเชกเซ‡ เช›เซ‡.

Grok เชตเชฟเชจเชพ เชคเชฎเชพเชฐเซ‹ เชฒเซ‹เช— เชกเซ‡เชŸเชพ เช…เชจเชธเซเชŸเซเชฐเช•เซเชšเชฐเซเชก เช›เซ‡

LogStash เชฎเชพเช‚ GROK เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชฒเซ‰เช—เซเชธเชฎเชพเช‚เชฅเซ€ เช…เชจเชธเซเชŸเซเชฐเช•เซเชšเชฐเซเชก เชกเซ‡เชŸเชพเชจเซ‡ ELK เชธเซเชŸเซ‡เช•เชฎเชพเช‚ เช•เชจเซเชตเชฐเซเชŸ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡เชจเซ€ เชŸเชฟเชชเซเชธ เช…เชจเซ‡ เชฏเซเช•เซเชคเชฟเช“

Grok เชตเชฟเชจเชพ, เชœเซเชฏเชพเชฐเซ‡ เชฒเซ‹เช—เซเชธ Logstash เชฅเซ€ Elasticsearch เชชเชฐ เชฎเซ‹เช•เชฒเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ เช…เชจเซ‡ เช•เชฟเชฌเชพเชจเชพเชฎเชพเช‚ เชฐเซ‡เชจเซเชกเชฐ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชคเซเชฏเชพเชฐเซ‡ เชคเซ‡ เชฎเชพเชคเซเชฐ เชธเช‚เชฆเซ‡เชถ เชฎเซ‚เชฒเซเชฏเชฎเชพเช‚ เชฆเซ‡เช–เชพเชฏ เช›เซ‡.

เช† เชชเชฐเชฟเชธเซเชฅเชฟเชคเชฟเชฎเชพเช‚ เช…เชฐเซเชฅเชชเซ‚เชฐเซเชฃ เชฎเชพเชนเชฟเชคเซ€เชจเซ€ เชชเซ‚เช›เชชเชฐเช› เช•เชฐเชตเซ€ เชฎเซเชถเซเช•เซ‡เชฒ เช›เซ‡ เช•เชพเชฐเชฃ เช•เซ‡ เชคเชฎเชพเชฎ เชฒเซ‹เช— เชกเซ‡เชŸเชพ เชเช• เช•เซ€เชฎเชพเช‚ เชธเช‚เช—เซเชฐเชนเชฟเชค เช›เซ‡. เชœเซ‹ เชฒเซ‹เช— เชธเช‚เชฆเซ‡เชถเชพเช“ เชตเชงเซ เชธเชพเชฐเซ€ เชฐเซ€เชคเซ‡ เช—เซ‹เช เชตเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เชคเซ‹ เชคเซ‡ เชตเชงเซ เชธเชพเชฐเซเช‚ เชฐเชนเซ‡เชถเซ‡.

เชฒเซ‰เช—เซเชธเชฎเชพเช‚เชฅเซ€ เช…เชจเชธเซเชŸเซเชฐเช•เซเชšเชฐเซเชก เชกเซ‡เชŸเชพ

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

เชœเซ‹ เชคเชฎเซ‡ เช•เชพเชšเชพ เชกเซ‡เชŸเชพเชจเซ‡ เชจเชœเซ€เช•เชฅเซ€ เชœเซ‹เชถเซ‹, เชคเซ‹ เชคเชฎเซ‡ เชœเซ‹เชถเซ‹ เช•เซ‡ เชคเซ‡ เชตเชพเชธเซเชคเชตเชฎเชพเช‚ เชœเซเชฆเชพ เชœเซเชฆเชพ เชญเชพเช—เซ‹ เชงเชฐเชพเชตเซ‡ เช›เซ‡, เชฆเชฐเซ‡เช• เชเช• เชœเช—เซเชฏเชพ เชฆเซเชตเชพเชฐเชพ เช…เชฒเช— เชชเชกเซ‡ เช›เซ‡.

เชตเชงเซ เช…เชจเซเชญเชตเซ€ เชตเชฟเช•เชพเชธเช•เชฐเซเชคเชพเช“ เชฎเชพเชŸเซ‡, เชคเชฎเซ‡ เช•เชฆเชพเชš เช…เชจเซเชฎเชพเชจ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹ เช•เซ‡ เชฆเชฐเซ‡เช• เชญเชพเช—เชจเซ‹ เช…เชฐเซเชฅ เชถเซเช‚ เช›เซ‡ เช…เชจเซ‡ เชเชชเซ€เช†เชˆ เช•เซ‰เชฒเชฎเชพเช‚เชฅเซ€ เชคเซ‡ เชฒเซ‹เช— เชธเช‚เชฆเซ‡เชถ เชถเซเช‚ เช›เซ‡. เชฆเชฐเซ‡เช• เชตเชธเซเชคเซเชจเซ€ เชฐเชœเซ‚เช†เชค เชจเซ€เชšเซ‡ เชฆเชฐเซเชถเชพเชตเซ‡เชฒ เช›เซ‡.

เช…เชฎเชพเชฐเชพ เชกเซ‡เชŸเชพเชจเซเช‚ เชธเซเชŸเซเชฐเช•เซเชšเชฐเซเชก เชตเซเชฏเซ

  • เชฒเซ‹เช•เชฒเชนเซ‹เชธเซเชŸ == เชชเชฐเซเชฏเชพเชตเชฐเชฃ
  • เชฎเซ‡เชณเชตเซ‹ == เชชเชฆเซเชงเชคเชฟ
  • โ€‹ /v2/applink/5c2f4bb3e9fda1234edc64d == url
  • 400 == เชชเซเชฐเชคเชฟเชญเชพเชต_เชธเซเชฅเชฟเชคเชฟ
  • 46ms == เชชเซเชฐเชคเชฟเชญเชพเชต_เชธเชฎเชฏ
  • โ€‹ 5bc6e716b5d6cb35fc9687c0 == user_id

เช†เชชเชฃเซ‡ เชธเซเชŸเซเชฐเช•เซเชšเชฐเซเชก เชกเซ‡เชŸเชพเชฎเชพเช‚ เชœเซ‹เชˆเช เช›เซ€เช เชคเซ‡เชฎ, เช…เชจเชธเซเชŸเซเชฐเช•เซเชšเชฐเซเชก เชฒเซ‰เช—เซเชธ เชฎเชพเชŸเซ‡ เช“เชฐเซเชกเชฐ เช›เซ‡. เช†เช—เชณเชจเซเช‚ เชชเช—เชฒเซเช‚ เช เช•เชพเชšเชพ เชกเซ‡เชŸเชพเชจเซ€ เชธเซ‹เชซเซเชŸเชตเซ‡เชฐ เชชเซเชฐเซ‹เชธเซ‡เชธเชฟเช‚เช— เช›เซ‡. เช† เชคเซ‡ เช›เซ‡ เชœเซเชฏเชพเช‚ เช—เซเชฐเซ‹เช• เชšเชฎเช•เซ‡ เช›เซ‡.

Grok เชจเชฎเซ‚เชจเชพเช“

เชฌเชฟเชฒเซเชŸ-เช‡เชจ Grok เชจเชฎเซ‚เชจเชพเช“

เชฒเซ‹เช—เชธเซเชŸเซ‡เชถ เช…เชจเชธเซเชŸเซเชฐเช•เซเชšเชฐเซเชก เชกเซ‡เชŸเชพเชจเซ‡ เชธเช‚เชฐเชšเชฟเชค เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ 100 เชฅเซ€ เชตเชงเซ เชฌเชฟเชฒเซเชŸ-เช‡เชจ เชŸเซ‡เชฎเซเชชเซเชฒเซ‡เชŸเซเชธ เชธเชพเชฅเซ‡ เช†เชตเซ‡ เช›เซ‡. เช…เชชเชพเชšเซ‡, เชฒเชฟเชจเช•เซเชธ, เชนเซ‡เชชเซเชฐเซ‹เช•เซเชธเซ€, aws เช…เชจเซ‡ เชคเซ‡เชฅเซ€ เชตเชงเซ เชœเซ‡เชตเชพ เชธเชพเชฎเชพเชจเซเชฏ เชธเชฟเชธเซเชฒเซ‹เช— เชฎเชพเชŸเซ‡ เชœเซเชฏเชพเชฐเซ‡ เชชเชฃ เชถเช•เซเชฏ เชนเซ‹เชฏ เชคเซเชฏเชพเชฐเซ‡ เชคเชฎเชพเชฐเซ‡ เชšเซ‹เช•เซเช•เชธเชชเชฃเซ‡ เช†เชจเซ‹ เชฒเชพเชญ เชฒเซ‡เชตเซ‹ เชœเซ‹เชˆเช.

เชœเซ‹ เช•เซ‡, เชœเซเชฏเชพเชฐเซ‡ เชคเชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เช‰เชชเชฐเชจเชพ เช‰เชฆเชพเชนเชฐเชฃเชจเซ€ เชœเซ‡เชฎ เช•เชธเซเชŸเชฎ เชฒเซ‰เช—เซเชธ เชนเซ‹เชฏ เชคเซเชฏเชพเชฐเซ‡ เชถเซเช‚ เชฅเชพเชฏ เช›เซ‡? เชคเชฎเชพเชฐเซ‡ เชคเชฎเชพเชฐเซ‹ เชชเซ‹เชคเชพเชจเซ‹ Grok เชŸเซ‡เชฎเซเชชเชฒเซ‡เชŸ เชฌเชจเชพเชตเชตเซ‹ เชชเชกเชถเซ‡.

เช•เชธเซเชŸเชฎ Grok เชจเชฎเซ‚เชจเชพเช“

เชคเชฎเชพเชฐเซ‡ เชคเชฎเชพเชฐเซ‹ เชชเซ‹เชคเชพเชจเซ‹ Grok เชŸเซ‡เชฎเซเชชเชฒเซ‡เชŸ เชฌเชจเชพเชตเชตเชพเชจเซ‹ เชชเซเชฐเชฏเชพเชธ เช•เชฐเชตเซ‹ เชชเชกเชถเซ‡. เชฎเซ‡ เชตเชพเชชเชฐเซเชฏเซ Grok เชกเซ€เชฌเช—เชฐ ะธ Grok เชชเซ‡เชŸเชฐเซเชจ.

เชจเซ‹เช‚เชง เช•เชฐเซ‹ เช•เซ‡ เช—เซเชฐเซ‹เช• เชŸเซ‡เชฎเซเชชเชฒเซ‡เชŸ เชธเชฟเชจเซเชŸเซ‡เช•เซเชธ เชจเซ€เชšเซ‡ เชฎเซเชœเชฌ เช›เซ‡: %{SYNTAX:SEMANTIC}

เชชเซเชฐเชฅเชฎ เชตเชธเซเชคเซ เชœเซ‡ เชฎเซ‡เช‚ เช•เชฐเชตเชพเชจเซ‹ เชชเซเชฐเชฏเชพเชธ เช•เชฐเซเชฏเซ‹ เชคเซ‡ เชŸเซ‡เชฌ เชชเชฐ เชœเชตเชพเชจเซ‹ เชนเชคเซ‹ เชœเชพเชฃเซ‹ เช—เซเชฐเซ‹เช• เชกเซ€เชฌเช—เชฐเชฎเชพเช‚. เชฎเซ‡เช‚ เชตเชฟเชšเชพเชฐเซเชฏเซเช‚ เช•เซ‡ เชœเซ‹ เช† เชŸเซ‚เชฒ เช†เชชเชฎเซ‡เชณเซ‡ 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

เช›เซ‡เชตเชŸเซ‡, เชซเซ‡เชฐเชซเชพเชฐเซ‹ เช…เชธเชฐเชฎเชพเช‚ เช†เชตเซเชฏเชพ เช›เซ‡ เชคเซ‡เชจเซ€ เช–เชพเชคเชฐเซ€ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เช•เชฟเชฌเชพเชจเชพเชฎเชพเช‚ เชฒเซ‹เช—เชธเซเชŸเซ‡เชถ เชฎเชพเชŸเซ‡ เชคเชฎเชพเชฐเชพ เช‡เชฒเชพเชธเซเชŸเชฟเช•เชธเชฐเซเชš เช‡เชจเซเชกเซ‡เช•เซเชธเชจเซ‡ เช…เชชเชกเซ‡เชŸ เช•เชฐเชตเชพเชจเซ€ เช–เชพเชคเชฐเซ€ เช•เชฐเซ‹!

LogStash เชฎเชพเช‚ GROK เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชฒเซ‰เช—เซเชธเชฎเชพเช‚เชฅเซ€ เช…เชจเชธเซเชŸเซเชฐเช•เซเชšเชฐเซเชก เชกเซ‡เชŸเชพเชจเซ‡ ELK เชธเซเชŸเซ‡เช•เชฎเชพเช‚ เช•เชจเซเชตเชฐเซเชŸ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡เชจเซ€ เชŸเชฟเชชเซเชธ เช…เชจเซ‡ เชฏเซเช•เซเชคเชฟเช“

Grok เชธเชพเชฅเซ‡, เชคเชฎเชพเชฐเซ‹ เชฒเซ‹เช— เชกเซ‡เชŸเชพ เชธเช‚เชฐเชšเชฟเชค เช›เซ‡!

LogStash เชฎเชพเช‚ GROK เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชฒเซ‰เช—เซเชธเชฎเชพเช‚เชฅเซ€ เช…เชจเชธเซเชŸเซเชฐเช•เซเชšเชฐเซเชก เชกเซ‡เชŸเชพเชจเซ‡ ELK เชธเซเชŸเซ‡เช•เชฎเชพเช‚ เช•เชจเซเชตเชฐเซเชŸ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡เชจเซ€ เชŸเชฟเชชเซเชธ เช…เชจเซ‡ เชฏเซเช•เซเชคเชฟเช“

เชœเซ‡เชฎ เช†เชชเชฃเซ‡ เช‰เชชเชฐเชจเซ€ เชˆเชฎเซ‡เชœเชฎเชพเช‚ เชœเซ‹เชˆ เชถเช•เซ€เช เช›เซ€เช, Grok เช เชˆเชฒเชพเชธเซเชŸเชฟเช•เชธเชฐเซเชš เชธเชพเชฅเซ‡ เชฒเซ‹เช— เชกเซ‡เชŸเชพเชจเซ‡ เช†เชชเชฎเซ‡เชณเซ‡ เชฎเซ‡เชš เช•เชฐเชตเชพเชฎเชพเช‚ เชธเช•เซเชทเชฎ เช›เซ‡. เช† เชฒเซ‰เช—เชจเซเช‚ เชธเช‚เชšเชพเชฒเชจ เช•เชฐเชตเชพเชจเซเช‚ เช…เชจเซ‡ เชฎเชพเชนเชฟเชคเซ€เชจเซ‡ เชเชกเชชเชฅเซ€ เชชเซ‚เช›เชตเชพเชจเซเช‚ เชธเชฐเชณ เชฌเชจเชพเชตเซ‡ เช›เซ‡. เชกเซ€เชฌเช— เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชฒเซ‹เช— เชซเชพเช‡เชฒเซ‹ เช–เซ‹เชฆเชตเชพเชจเซ‡ เชฌเชฆเชฒเซ‡, เชคเชฎเซ‡ เชœเซ‡ เชถเซ‹เชงเซ€ เชฐเชนเซเชฏเชพเช‚ เช›เซ‹ เชคเซ‡เชจเชพ เชฆเซเชตเชพเชฐเชพ เชคเชฎเซ‡ เชซเช•เซเชค เชซเชฟเชฒเซเชŸเชฐ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹, เชœเซ‡เชฎ เช•เซ‡ เชชเชฐเซเชฏเชพเชตเชฐเชฃ เช…เชฅเชตเชพ 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/

เชชเซ€เชเชธ เชธเซเชคเซเชฐเซ‹เชค เชฒเชฟเช‚เช•

เชฆเซเชตเชพเชฐเชพ เชŸเซ‡เชฒเชฟเช—เซเชฐเชพเชฎ เชšเซ‡เชจเชฒ เชธเซเชฅเชฟเชคเชฟเชธเซเชฅเชพเชชเช• เชถเซ‹เชง

เชธเซ‹เชฐเซเชธ: www.habr.com

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹