ืขืฆื•ืช ืื•ืŸ ื˜ืจื™ืงืก ืคึฟืึทืจ ืงืึทื ื•ื•ืขืจื˜ื™ื ื’ ืึทื ืกื˜ืจืึทืงื˜ืฉืขืจื“ ื“ืึทื˜ืŸ ืคึฟื•ืŸ ืœืึธื’ืก ืฆื• ELK Stack ืžื™ื˜ GROK ืื™ืŸ LogStash

ืกื˜ืจืึทืงื˜ืฉืขืจื™ื ื’ ืึทื ืกื˜ืจืึทืงื˜ืฉืขืจื“ ื“ืึทื˜ืŸ ืžื™ื˜ GROK

ืื•ื™ื‘ ืื™ืจ ื ื•ืฆืŸ ื“ื™ Elastic (ELK) ืึธื ืœื™ื™ื’ืŸ ืื•ืŸ ืื™ืจ ื–ืขื ื˜ ืื™ื ื˜ืขืจืขืกื™ืจื˜ ืื™ืŸ ืžืึทืคึผื™ื ื’ ืžื ื”ื’ Logstash ืœืึธื’ืก ืฆื• Elasticsearch, ื“ืขืจ ืคึผืึธืกื˜ืŸ ืื™ื– ืคึฟืึทืจ ืื™ืจ.

ืขืฆื•ืช ืื•ืŸ ื˜ืจื™ืงืก ืคึฟืึทืจ ืงืึทื ื•ื•ืขืจื˜ื™ื ื’ ืึทื ืกื˜ืจืึทืงื˜ืฉืขืจื“ ื“ืึทื˜ืŸ ืคึฟื•ืŸ ืœืึธื’ืก ืฆื• ELK Stack ืžื™ื˜ GROK ืื™ืŸ LogStash

ื“ื™ ELK ืึธื ืœื™ื™ื’ืŸ ืื™ื– ืึทืŸ ืึทืงืจืึทื ื™ื ืคึฟืึทืจ ื“ืจื™ื™ ืึธืคึฟืŸ ืžืงื•ืจ ืคึผืจืึทื“ื–ืฉืขืงืก: Elasticsearch, Logstash ืื•ืŸ Kibana. ืฆื•ื–ืึทืžืขืŸ ื–ื™ื™ ืคืึธืจืขื ืึท ืงืœืึธืฅ ืคืึทืจื•ื•ืึทืœื˜ื•ื ื’ ืคึผืœืึทื˜ืคืึธืจืžืข.

  • ืขืœืึทืกื˜ื™ืงืกืึทืจื˜ืฉ ืื™ื– ืึท ื–ื•ื›ืŸ ืื•ืŸ ืึทื ืึทืœื™ืกื™ืก ืกื™ืกื˜ืขื.
  • ืœืึธื’ืกื˜ืึทืฉ ืื™ื– ืึท ืกืขืจื•ื•ืขืจ-ื–ื™ื™ึทื˜ ื“ืึทื˜ืŸ ืคึผืจืึทืกืขืกื™ื ื’ ืจืขืจื  - ืœื™ื ื™ืข ื•ื•ืึธืก ื™ื ื“ื–ืฉืขืกื˜ื™ื“ ื“ืึทื˜ืŸ ืคื•ืŸ ืงื™ื™ืคืœ ืงื•ื•ืืœืŸ ืกื™ื™ืžืึทืœื˜ื™ื™ื ื™ืึทืกืœื™, ื˜ืจืึทื ืกืคืึธืจืžื– ืขืก ืื•ืŸ ื“ืขืจื ืึธืš ืกืขื ื“ื– ืขืก ืฆื• ืึท "ืกื˜ืฉ" ืึทื–ืึท ื•ื•ื™ Elasticsearch.
  • ืงื™ื‘ืึทื ืึท ืึทืœืึทื•ื– ื ื™ืฆืขืจืก ืฆื• ื•ื•ื™ื–ืฉื•ื•ืึทืœื™ื™ื– ื“ืึทื˜ืŸ ืžื™ื˜ ื˜ืฉืึทืจืฅ ืื•ืŸ ื’ืจืึทืคืก ืื™ืŸ Elasticsearch.

ืฉืœืึธื’ืŸ ื’ืขืงื•ืžืขืŸ ืฉืคึผืขื˜ืขืจ ืื•ืŸ ืื™ื– ืึท ืœื™ื™ื˜ื•ื•ื™ื™ื˜ ื“ืึทื˜ืŸ ืฉื™ืคึผืขืจ. ื“ื™ ื”ืงื“ืžื” ืคื•ืŸ ื‘ื™ืฅ ืคืืจื•ื•ืื ื“ืœืขืŸ ื“ื™ ืขืœืง ืกื˜ืึทืง ืื™ืŸ ื“ื™ ืขืœืึทืกื˜ื™ืง ืกื˜ืึทืง, ืึธื‘ืขืจ ื“ืึธืก ืื™ื– ื ื™ืฉื˜ ื“ื™ ืคื•ื ื˜.

ื“ืขืจ ืึทืจื˜ื™ืงืœ ืื™ื– ื•ื•ืขื’ืŸ Grok, ื•ื•ืึธืก ืื™ื– ืึท ืฉื˜ืจื™ืš ืื™ืŸ Logstash ื•ื•ืึธืก ืงืขื ืขืŸ ื™ื‘ืขืจืžืึทื›ืŸ ื“ื™ื™ืŸ ืœืึธื’ืก ืื™ื™ื“ืขืจ ื–ื™ื™ ื–ืขื ืขืŸ ื’ืขืฉื™ืงื˜ ืฆื• ื“ื™ ืกื˜ืึทืฉ. ืคึฟืึทืจ ืื•ื ื“ื–ืขืจ ืฆื•ื•ืขืงืŸ, ืื™ืš ื•ื•ืขืœ ื ืึธืจ ืจืขื“ืŸ ื•ื•ืขื’ืŸ ืคึผืจืึทืกืขืกื™ื ื’ ื“ืึทื˜ืŸ ืคึฟื•ืŸ Logstash ืื™ืŸ Elasticsearch.

ืขืฆื•ืช ืื•ืŸ ื˜ืจื™ืงืก ืคึฟืึทืจ ืงืึทื ื•ื•ืขืจื˜ื™ื ื’ ืึทื ืกื˜ืจืึทืงื˜ืฉืขืจื“ ื“ืึทื˜ืŸ ืคึฟื•ืŸ ืœืึธื’ืก ืฆื• ELK Stack ืžื™ื˜ GROK ืื™ืŸ LogStash

Grok ืื™ื– ืึท ืคื™ืœื˜ืขืจ ืื™ืŸ Logstash ื•ื•ืึธืก ืื™ื– ื’ืขื ื™ืฆื˜ ืฆื• ืคึผืึทืจืก ืึทื ืกื˜ืจืึทืงื˜ืฉืขืจื“ ื“ืึทื˜ืŸ ืื™ืŸ ืขืคึผืขืก ืกื˜ืจืึทืงื˜ืฉืขืจื“ ืื•ืŸ ืงื•ื•ืขืจื™ืึทื‘ืœืข. ืขืก ื–ื™ืฆื˜ ืื•ื™ืฃ ืฉืคึผื™ืฅ ืคื•ืŸ ืึท ืจืขื’ื•ืœืขืจ ืื•ื™ืกื“ืจื•ืง (ืจืขื’ืขืงืก) ืื•ืŸ ื ื™ืฆื˜ ื˜ืขืงืกื˜ ืคึผืึทื˜ืขืจื ื– ืฆื• ื’ืœื™ื™ึทื›ืŸ ืกื˜ืจื™ื ื’ืก ืื™ืŸ ืงืœืึธืฅ ื˜ืขืงืขืก.

ื•ื•ื™ ืžื™ืจ ื•ื•ืขืœืŸ ื–ืขืŸ ืื™ืŸ ื“ื™ ืคืืœื’ืขื ื“ืข ืกืขืงืฉืึทื ื–, ื“ื™ ื ื•ืฆืŸ ืคื•ืŸ Grok ืžืื›ื˜ ืึท ื’ืจื•ื™ืก ื—ื™ืœื•ืง ื•ื•ืขืŸ ืขืก ืงื•ืžื˜ ืฆื• ืขืคืขืงื˜ื™ื•ื• ืงืœืึธืฅ ืคืึทืจื•ื•ืึทืœื˜ื•ื ื’.

ืึธืŸ ื’ืจืึธืง, ื“ื™ื™ืŸ ืงืœืึธืฅ ื“ืึทื˜ืŸ ื–ืขื ืขืŸ ืึทื ืกื˜ืจืึทืงื˜ืฉืขืจื“

ืขืฆื•ืช ืื•ืŸ ื˜ืจื™ืงืก ืคึฟืึทืจ ืงืึทื ื•ื•ืขืจื˜ื™ื ื’ ืึทื ืกื˜ืจืึทืงื˜ืฉืขืจื“ ื“ืึทื˜ืŸ ืคึฟื•ืŸ ืœืึธื’ืก ืฆื• ELK Stack ืžื™ื˜ GROK ืื™ืŸ LogStash

ืึธืŸ ื’ืจืึธืง, ื•ื•ืขืŸ ืœืึธื’ืก ื–ืขื ืขืŸ ื’ืขืฉื™ืงื˜ ืคึฟื•ืŸ Logstash ืฆื• Elasticsearch ืื•ืŸ ืจืขื ื“ืขืจื“ ืื™ืŸ Kibana, ื–ื™ื™ ื“ืขืจืฉื™ื™ึทื ืขืŸ ื‘ืœื•ื™ื– ืื™ืŸ ื“ื™ ืึธื ื–ืึธื’ ื•ื•ืขืจื˜.

ืขืก ืื™ื– ืฉื•ื•ืขืจ ืฆื• ื–ื•ื›ืŸ ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข ืื™ืŸ ื“ืขื ืกื™ื˜ื•ืึทืฆื™ืข, ื•ื•ื™ื™ึทืœ ืึทืœืข ืงืœืึธืฅ ื“ืึทื˜ืŸ ื–ืขื ืขืŸ ืกื˜ืึธืจื“ ืื™ืŸ ืึท ืื™ื™ืŸ ืฉืœื™ืกืœ. ืขืก ื•ื•ืึธืœื˜ ื–ื™ื™ืŸ ื‘ืขืกืขืจ ืื•ื™ื‘ ื“ื™ ืงืœืึธืฅ ืึทืจื˜ื™ืงืœืขืŸ ื–ืขื ืขืŸ ื‘ืขืกืขืจ ืึธืจื’ืึทื ื™ื–ื™ืจื˜.

ืึทื ืกื˜ืจืึทืงื˜ืฉืขืจื“ ื“ืึทื˜ืŸ ืคื•ืŸ ืœืึธื’ืก

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

ืื•ื™ื‘ ืื™ืจ ืงื•ืง ืขื ื’ ืื™ืŸ ื“ื™ ืจื•ื™ ื“ืึทื˜ืŸ, ืื™ืจ ื•ื•ืขื˜ ื–ืขืŸ ืึทื– ืขืก ืึทืงืฉืœื™ ื‘ืืฉื˜ื™ื™ื˜ ืคื•ืŸ ืคืึทืจืฉื™ื“ืขื ืข ื˜ื™ื™ืœืŸ, ื™ืขื“ืขืจ ืืคื’ืขืฉื™ื™ื“ื˜ ื“ื•ืจืš ืึท ืคึผืœืึทืฅ.

ืคึฟืึทืจ ืžืขืจ ื™ืงืกืคึผื™ืจื™ืึทื ืกื˜ ื“ืขื•ื•ืขืœืึธืคึผืขืจืก, ืื™ืจ ืงืขื ืขืŸ ืžื™ืกื˜ืึธืžืข ื˜ืจืขืคืŸ ื•ื•ืึธืก ื™ืขื“ืขืจ ืคื•ืŸ ื“ื™ ืคึผืึทืจืฅ ืžื™ื˜ืœ ืื•ืŸ ื•ื•ืึธืก ื“ื™ ืงืœืึธืฅ ืึธื ื–ืึธื’ ืื™ื– ืคึฟื•ืŸ ื“ื™ ืึทืคึผื™ ืจื•ืคืŸ. ื“ื™ ืคึผืจืขื–ืขื ื˜ื™ืจื•ื ื’ ืคื•ืŸ ื™ืขื“ืขืจ ื ื•ืžืขืจ ืื™ื– ืึทื•ื˜ืœื™ื™ื ื“ ืื•ื ื˜ืŸ.

ืกื˜ืจืึทืงื˜ืฉืขืจื“ ืžื™ื™ื ื•ื ื’ ืคื•ืŸ ืื•ื ื“ื–ืขืจ ื“ืึทื˜ืŸ

  • ืœืึธืงืึทืœื”ืึธืกื˜ == ืกื•ื•ื™ื•ื•ืข
  • ื‘ืึทืงื•ืžืขืŸ == ืื•ืคึฟืŸ
  • โ€‹ /v2/applink/5c2f4bb3e9fda1234edc64d == url
  • 400 == ืขื ื˜ืคืขืจ_ืกื˜ืึทื˜ื•ืก
  • 46ms == ืขื ื˜ืคืขืจ_ืฆื™ื™ื˜
  • โ€‹ 5bc6e716b5d6cb35fc9687c0 == user_id

ื•ื•ื™ ืžื™ืจ ื–ืขืŸ ืื™ืŸ ืกื˜ืจืึทืงื˜ืฉืขืจื“ ื“ืึทื˜ืŸ, ืขืก ืื™ื– ืึท ืกื“ืจ ืคึฟืึทืจ ืึทื ืกื˜ืจืึทืงื˜ืฉืขืจื“ ืœืึธื’ืก. ื“ืขืจ ื•ื•ื™ื™ึทื˜ืขืจ ืฉืจื™ื˜ ืื™ื– ื•ื•ื™ื™ื›ื•ื•ืืจื’ ืคึผืจืึทืกืขืกื™ื ื’ ืคื•ืŸ ืจื•ื™ ื“ืึทื˜ืŸ. ื“ื ืฉืฒื ื˜ ื’ืจื•ืง.

ื’ืจืึธืง ื˜ืขืžืคึผืœืึทื˜ืขืก

ื’ืขื‘ื•ื™ื˜-ืื™ืŸ ื’ืจืึธืง ื˜ืขืžืคึผืœืึทื˜ืขืก

Logstash ืงื•ืžื˜ ืžื™ื˜ ืื™ื‘ืขืจ 100 ื’ืขื‘ื•ื™ื˜-ืื™ืŸ ื˜ืขืžืคึผืœืึทื˜ืขืก ืคึฟืึทืจ ืกื˜ืจืึทืงื˜ืฉืขืจื™ื ื’ ืึทื ืกื˜ืจืึทืงื˜ืฉืขืจื“ ื“ืึทื˜ืŸ. ืื™ืจ ื–ืึธืœ ื‘ืืฉื˜ื™ืžื˜ ื ื•ืฆืŸ ื“ืขื ื•ื•ืขืŸ ืžืขื’ืœืขืš ืคึฟืึทืจ ื’ืขื ืขืจืึทืœ ืกื™ืกืœืึธื’ืก ื•ื•ื™ ืึทืคึผืึทื˜ืฉื™, ืœื™ื ื•ืงืก, ื”ืึทืคึผืจืึธืงืกื™, ืึทื•ืก ืื•ืŸ ืึทื–ื•ื™ ืื•ื™ืฃ.

ืึธื‘ืขืจ, ื•ื•ืึธืก ื›ืึทืคึผืึทื ื– ื•ื•ืขืŸ ืื™ืจ ื”ืึธื‘ืŸ ืžื ื”ื’ ืœืึธื’ืก ื•ื•ื™ ืื™ืŸ ื“ืขื ื‘ื™ื™ึทืฉืคึผื™ืœ ืื•ื™ื‘ืŸ? ืื™ืจ ืžื•ื–ืŸ ื‘ื•ื™ืขืŸ ื“ื™ื™ืŸ ืื™ื™ื’ืขื ืข ื’ืจืึธืง ืžื•ืกื˜ืขืจ.

ืžื ื”ื’ ื’ืจืึธืง ื˜ืขืžืคึผืœืึทื˜ืขืก

ืื™ืจ ื”ืึธื‘ืŸ ืฆื• ืคึผืจื•ื‘ื™ืจืŸ ืฆื• ื‘ื•ื™ืขืŸ ื“ื™ื™ืŸ ืื™ื™ื’ืขื ืข ื’ืจืึธืง ืžื•ืกื˜ืขืจ. ืื™ืš ื”ืื‘ ื’ืขื ื•ืฆื˜ ื’ืจืึธืง ื“ืขื‘ื•ื’ื’ืขืจ ะธ ื’ืจืึธืง ืคึผืึทื˜ืขืจื ื–.

ื‘ืึทืžืขืจืงื•ื ื’ ืึทื– ื“ื™ Grok ืžื•ืกื˜ืขืจ ืกื™ื ื˜ืึทืงืก ืื™ื– ื•ื•ื™ ื’ื™ื™ื˜: %{SYNTAX:SEMANTIC}

ื“ืขืจ ืขืจืฉื˜ืขืจ ื–ืึทืš ืื™ืš ื’ืขืคืจื•ื•ื•ื˜ ืฆื• ื˜ืึธืŸ ืื™ื– ืฆื• ื’ื™ื™ืŸ ืฆื• ื“ื™ ืงื•ื•ื™ื˜ืœ ืึทื ื˜ื“ืขืงืŸ ืื™ืŸ ื“ื™ ื’ืจืึธืง ื“ื™ื‘ื•ื’ื’ืขืจ. ืื™ืš ื’ืขื“ืึทื ืง ืขืก ื•ื•ืึธืœื˜ ื–ื™ื™ืŸ ืงื™ืœ ืื•ื™ื‘ ื“ื™ ื’ืขืฆื™ื™ึทื’ ืงืขืŸ ืื•ื™ื˜ืึธืžืึทื˜ื™ืฉ ื“ื–ืฉืขื ืขืจื™ื™ื˜ ืึท ื’ืจืึธืง ืžื•ืกื˜ืขืจ, ืึธื‘ืขืจ ืขืก ืื™ื– ื ื™ืฉื˜ ืฆื• ื ื•ืฆื™ืง ื•ื•ื™ื™ึทืœ ืขืก ื‘ืœื•ื™ื– ื’ืขืคึฟื•ื ืขืŸ ืฆื•ื•ื™ื™ ืฉื•ื•ืขื‘ืขืœืขืš.

ืขืฆื•ืช ืื•ืŸ ื˜ืจื™ืงืก ืคึฟืึทืจ ืงืึทื ื•ื•ืขืจื˜ื™ื ื’ ืึทื ืกื˜ืจืึทืงื˜ืฉืขืจื“ ื“ืึทื˜ืŸ ืคึฟื•ืŸ ืœืึธื’ืก ืฆื• ELK Stack ืžื™ื˜ GROK ืื™ืŸ LogStash

ืžื™ื˜ ื“ืขื ื•ืคื“ืขืงื•ื ื’, ืื™ืš ืกื˜ืึทืจื˜ืขื“ ืงืจื™ื™ื™ื˜ื™ื ื’ ืžื™ื™ืŸ ืื™ื™ื’ืขื ืข ืžื•ืกื˜ืขืจ ืื™ืŸ ื“ื™ ื’ืจืึธืง ื“ืขื‘ื•ื’ื’ืขืจ ื ื™ืฆืŸ ื“ื™ ืกื™ื ื˜ืึทืงืก ื’ืขืคึฟื•ื ืขืŸ ืื•ื™ืฃ ื“ื™ Elastic Github ื‘ืœืึทื˜.

ืขืฆื•ืช ืื•ืŸ ื˜ืจื™ืงืก ืคึฟืึทืจ ืงืึทื ื•ื•ืขืจื˜ื™ื ื’ ืึทื ืกื˜ืจืึทืงื˜ืฉืขืจื“ ื“ืึทื˜ืŸ ืคึฟื•ืŸ ืœืึธื’ืก ืฆื• ELK Stack ืžื™ื˜ GROK ืื™ืŸ LogStash

ื ืึธืš ืคึผืœื™ื™ื™ื ื’ ืžื™ื˜ ืคืึทืจืฉื™ื“ืขื ืข ืกื™ื ื˜ืึทืงืกื™ื–, ืื™ืš ืœืขืกืึธืฃ ืงืขื ืขืŸ ืฆื• ืกื˜ืจื•ืงื˜ื•ืจ ื“ื™ ืงืœืึธืฅ ื“ืึทื˜ืŸ ื•ื•ื™ ืื™ืš ื’ืขื•ื•ืืœื˜.

ืขืฆื•ืช ืื•ืŸ ื˜ืจื™ืงืก ืคึฟืึทืจ ืงืึทื ื•ื•ืขืจื˜ื™ื ื’ ืึทื ืกื˜ืจืึทืงื˜ืฉืขืจื“ ื“ืึทื˜ืŸ ืคึฟื•ืŸ ืœืึธื’ืก ืฆื• ELK Stack ืžื™ื˜ GROK ืื™ืŸ LogStash

ื’ืจืึธืง ื“ื™ื‘ื•ื’ื’ืขืจ ืœื™ื ืง 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"
    ]
  ]
}

ืžื™ื˜ ื“ื™ ื’ืจืึธืง ืžื•ืกื˜ืขืจ ืื•ืŸ ืžืึทืคึผื˜ ื“ืึทื˜ืŸ ืื™ืŸ ื”ืึทื ื˜, ื“ื™ ืœืขืฆื˜ืข ืฉืจื™ื˜ ืื™ื– ืฆื• ืœื™ื™ื’ืŸ ืขืก ืฆื• 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

ืฆื•ื ืกื•ืฃ, ืฆื• ืžืึทื›ืŸ ื–ื™ื›ืขืจ ืึทื– ื“ื™ ืขื ื“ืขืจื•ื ื’ืขืŸ ื”ืึธื‘ืŸ ื’ืขื ื•ืžืขืŸ ื•ื•ื™ืจืงื•ื ื’, ื–ื™ื™ื˜ ื–ื™ื›ืขืจ ืฆื• ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงืŸ ื“ื™ื™ืŸ Elasticsearch ืื™ื ื“ืขืงืก ืคึฟืึทืจ Logstash ืื™ืŸ Kibana!

ืขืฆื•ืช ืื•ืŸ ื˜ืจื™ืงืก ืคึฟืึทืจ ืงืึทื ื•ื•ืขืจื˜ื™ื ื’ ืึทื ืกื˜ืจืึทืงื˜ืฉืขืจื“ ื“ืึทื˜ืŸ ืคึฟื•ืŸ ืœืึธื’ืก ืฆื• ELK Stack ืžื™ื˜ GROK ืื™ืŸ LogStash

ืžื™ื˜ Grok, ื“ื™ื™ืŸ ืงืœืึธืฅ ื“ืึทื˜ืŸ ืื™ื– ืกื˜ืจืึทืงื˜ืฉืขืจื“!

ืขืฆื•ืช ืื•ืŸ ื˜ืจื™ืงืก ืคึฟืึทืจ ืงืึทื ื•ื•ืขืจื˜ื™ื ื’ ืึทื ืกื˜ืจืึทืงื˜ืฉืขืจื“ ื“ืึทื˜ืŸ ืคึฟื•ืŸ ืœืึธื’ืก ืฆื• ELK Stack ืžื™ื˜ GROK ืื™ืŸ LogStash

ื•ื•ื™ ืžื™ืจ ืงืขื ืขืŸ ื–ืขืŸ ืื™ืŸ ื“ื™ ื‘ื™ืœื“ ืื•ื™ื‘ืŸ, Grok ืื™ื– ื˜ื•ื™ื’ืขื•ื•ื“ื™ืง ืคื•ืŸ ืื•ื™ื˜ืึธืžืึทื˜ื™ืฉ ื’ืœื™ื™ึทื›ืŸ ืœืึธื’ ื“ืึทื˜ืŸ ืžื™ื˜ Elasticsearch. ื“ืึธืก ืžืื›ื˜ ืขืก ื’ืจื™ื ื’ืขืจ ืฆื• ืคื™ืจืŸ ืœืึธื’ืก ืื•ืŸ ื’ืขืฉื•ื•ื™ื ื“ ืึธื ืคึฟืจืขื’ ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข. ืึทื ืฉื˜ืึธื˜ ื“ื™ื’ื™ื ื’ ื“ื•ืจืš ืงืœืึธืฅ ื˜ืขืงืขืก ืฆื• ื“ื™ื‘ืึทื’, ืื™ืจ ืงืขื ืขืŸ ืคืฉื•ื˜ ืคื™ืœื˜ืขืจ ื“ื•ืจืš ื•ื•ืึธืก ืื™ืจ ื–ื•ื›ื˜ ืคึฟืึทืจ, ืึทื–ืึท ื•ื•ื™ ืึท ืกื•ื•ื™ื•ื•ืข ืึธื“ืขืจ ืึท URL.

ืคึผืจื•ึผื•ื•ื˜ ื’ืจืึธืง ืื•ื™ืกื“ืจื•ืงืŸ! ืื•ื™ื‘ ืื™ืจ ื”ืึธื˜ ืืŸ ืื ื“ืขืจ ื•ื•ืขื’ ืฆื• ื˜ืึธืŸ ื“ืึธืก ืึธื“ืขืจ ื”ืึธื‘ืŸ ืงื™ื™ืŸ ืคืจืื‘ืœืขืžืขืŸ ืžื™ื˜ ื“ื™ ื‘ื™ื™ืฉืคื™ืœืŸ ืื•ื™ื‘ืŸ, ื ืึธืจ ืฉืจื™ื™ึทื‘ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’ ืื•ื ื˜ืŸ ืฆื• ืœืึธื–ืŸ ืžื™ืจ ื•ื•ื™ืกืŸ.

ื“ืึทื ืงืขืŸ ืคึฟืึทืจ ืœื™ื™ืขื ืขืŸ - ืื•ืŸ ื‘ื™ื˜ืข ื ืึธื›ืคืึธืœื’ืŸ ืžื™ืจ ื“ืึธ ืื•ื™ืฃ ืžืขื“ื™ื•ื ืคึฟืึทืจ ืžืขืจ ื˜ืฉื™ืงืึทื•ื•ืข ื•ื•ื™ื™ื›ื•ื•ืืจื’ ื™ื ื–ืฉืขื ื™ืขืจื™ืข ืึทืจื˜ื™ืงืœืขืŸ!

ืจืขืกื•ืจืกืŸ

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

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’