เจ เจฒเฉเจเจธเฉ เจฒเจฟเจเจผเฉเจจเฉเจต, เจเจเจธเฉเจฌเฉ เจฆเฉ เจธเฉเจเจจเจพ เจคเจเจจเจพเจฒเฉเจเฉ เจกเจพเจเจฐเฉเจเจเฉเจฐเฉเจ เจฆเฉ เจฐเจฟเจฎเฉเจ เจธเจฐเจตเจฟเจธ เจเฉเจจเจฒเจพเจ เจฒเจ เจธเจฎเจฐเฉฑเจฅเจพ เจเฉเจเจฆเจฐ เจฆเฉ เจฎเฉเจเฉ
ELK เจธเจเฉเจ (ElasticSearch, Logstash, Kibana) เจฆเฉ เจตเจฟเจเจฒเจช เจตเจเฉเจ, เจ
เจธเฉเจ เจเจฒเจฟเจเจนเจพเจเจธ เจกเฉเจเจพเจฌเฉเจธ เจจเฉเฉฐ เจฒเฉเจเจธ เจฒเจ เจกเฉเจเจพ เจธเจเฉเจฐเฉเจ เจตเจเฉเจ เจตเจฐเจคเจฃ เจฌเจพเจฐเฉ เจเฉเจ เจเจฐ เจฐเจนเฉ เจนเจพเจเฅค
เจเจธ เจฒเฉเจ เจตเจฟเฉฑเจ เจ เจธเฉเจ เจเจฒเจฟเจเจนเจพเจเจธ เจกเฉเจเจพเจฌเฉเจธ เจ เจคเฉ เจชเจพเจเจฒเจ เจเจพเจฐเจตเจพเจ เจฆเฉ เจธเจผเฉเจฐเฉเจเจคเฉ เจจเจคเฉเจเจฟเจเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจจ เจฆเฉ เจเจชเจฃเฉ เจ เจจเฉเจญเจต เจฌเจพเจฐเฉ เจเฉฑเจฒ เจเจฐเจจเจพ เจเจพเจนเจพเจเจเฉเฅค เจเจน เจคเฉเจฐเฉฐเจค เจงเจฟเจเจจ เจฆเฉเจฃ เจฏเฉเจ เจนเฉ เจเจฟ เจจเจคเฉเจเฉ เจชเฉเจฐเจญเจพเจตเจธเจผเจพเจฒเฉ เจธเจจ.
เจ
เฉฑเจเฉ เจ
เจธเฉเจ เจนเฉเจฐ เจตเจฟเจธเจฅเจพเจฐ เจตเจฟเฉฑเจ เจตเจฐเจฃเจจ เจเจฐเจพเจเจเฉ เจเจฟ เจธเจพเจกเฉ เจธเจฟเจธเจเจฎ เจจเฉเฉฐ เจเจฟเจตเฉเจ เจธเฉฐเจฐเจเจฟเจค เจเฉเจคเจพ เจเจฟเจ เจนเฉ เจ
เจคเฉ เจเจธ เจตเจฟเฉฑเจ เจเจฟเจนเฉเฉ เจญเจพเจ เจธเจผเจพเจฎเจฒ เจนเจจเฅค เจชเจฐ เจนเฉเจฃ เจฎเฉเจ เจธเจฎเฉเฉฑเจเฉ เจคเฉเจฐ 'เจคเฉ เจเจธ เจกเฉเจเจพเจฌเฉเจธ เจฌเจพเจฐเฉ เจฅเฉเฉเจพ เจเจฟเจนเจพ เจเฉฑเจฒ เจเจฐเจจเจพ เจเจพเจนเจพเจเจเจพ, เจ
เจคเฉ เจเจน เจงเจฟเจเจจ เจฆเฉเจฃ เจฏเฉเจ เจเจฟเจเจ เจนเฉ. เจเจฒเจฟเจเจนเจพเจเจธ เจกเฉเจเจพเจฌเฉเจธ Yandex เจฆเจพ เจเฉฑเจ เจเฉฑเจ-เจชเฉเจฐเจฆเจฐเจธเจผเจจ เจตเจฟเจธเจผเจฒเฉเจธเจผเจฃเจพเจคเจฎเจ เจเจพเจฒเจฎ เจกเฉเจเจพเจฌเฉเจธ เจนเฉเฅค Yandex เจธเฉเจตเจพเจตเจพเจ เจตเจฟเฉฑเจ เจตเจฐเจคเจฟเจ เจเจพเจเจฆเจพ เจนเฉ, เจธเจผเฉเจฐเฉ เจตเจฟเฉฑเจ เจเจน Yandex.Metrica เจฒเจ เจฎเฉเฉฑเจ เจกเจพเจเจพ เจธเจเฉเจฐเฉเจ เจนเฉเฅค เจเจชเจจ-เจธเฉเจฐเจธ เจธเจฟเจธเจเจฎ, เจฎเฉเจซเจคเฅค เจเฉฑเจ เจกเจฟเจตเฉเจฒเจชเจฐ เจฆเฉ เจฆเฉเจฐเจฟเจธเจผเจเฉเจเฉเจฃ เจคเฉเจ, เจฎเฉเจ เจนเจฎเฉเจธเจผเจพเจ เจนเฉเจฐเจพเจจ เจนเฉเฉฐเจฆเจพ เจธเฉ เจเจฟ เจเจนเจจเจพเจ เจจเฉ เจเจธเจจเฉเฉฐ เจเจฟเจตเฉเจ เจฒเจพเจเฉ เจเฉเจคเจพ, เจเจฟเจเจเจเจฟ เจเฉฑเจฅเฉ เจธเจผเจพเจจเจฆเจพเจฐ เจคเฉเจฐ 'เจคเฉ เจตเฉฑเจกเจพ เจกเฉเจเจพ เจนเฉ. เจ
เจคเฉ Metrica เจเจชเจญเฉเจเจคเจพ เจเฉฐเจเจฐเจซเฉเจธ เจเจชเจฃเฉ เจเจช เจตเจฟเฉฑเจ เจฌเจนเฉเจค เจฒเจเจเจฆเจพเจฐ เจนเฉ เจ
เจคเฉ เจคเฉเจเจผเฉ เจจเจพเจฒ เจเฉฐเจฎ เจเจฐเจฆเจพ เจนเฉ. เจเจฆเฉเจ เจคเฉเจธเฉเจ เจชเจนเจฟเจฒเฉ เจตเจพเจฐ เจเจธ เจกเฉเจเจพเจฌเฉเจธ เจจเจพเจฒ เจเจพเจฃเฉ เจนเฉ เจเจพเจเจฆเฉ เจนเฉ, เจคเจพเจ เจคเฉเจนเจพเจจเฉเฉฐ เจเจน เจชเฉเจฐเจญเจพเจต เจฎเจฟเจฒเจฆเจพ เจนเฉ: "เจ เฉเจ เจนเฉ, เจ
เฉฐเจค เจตเจฟเฉฑเจ! "เจฒเฉเจเจพเจ เจฒเจ" เจฌเจฃเจพเจเจ เจเจฟเจ! เจเฉฐเจธเจเจพเจฒเฉเจธเจผเจจ เจชเฉเจฐเจเจฟเจฐเจฟเจ เจคเฉเจ เจฒเฉ เจเฉ เจฌเฉเจจเจคเฉเจเจ เจญเฉเจเจฃ เจคเฉฑเจเฅค
เจเจธ เจกเฉเจเจพเจฌเฉเจธ เจตเจฟเฉฑเจ เจฌเจนเฉเจค เจเฉฑเจ เจชเฉเจฐเจตเฉเจธเจผ เจฐเฉเจเจพเจตเจ เจนเฉเฅค เจเฉฑเจฅเฉเจ เจคเฉฑเจ เจเจฟ เจเฉฑเจ เจเจธเจค เจกเจฟเจตเฉเจฒเจชเจฐ เจตเฉ เจเจธ เจกเฉเจเจพเจฌเฉเจธ เจจเฉเฉฐ เจเฉเจ เจฎเจฟเฉฐเจเจพเจ เจตเจฟเฉฑเจ เจธเจฅเจพเจชเจฟเจค เจเจฐ เจธเจเจฆเจพ เจนเฉ เจ เจคเฉ เจเจธเจจเฉเฉฐ เจตเจฐเจคเจฃเจพ เจธเจผเฉเจฐเฉ เจเจฐ เจธเจเจฆเจพ เจนเฉเฅค เจธเจญ เจเฉเจ เจธเฉเจเจพเจฐเฉ เจขเฉฐเจ เจจเจพเจฒ เจเฉฐเจฎ เจเจฐเจฆเจพ เจนเฉเฅค เจเฉฑเจฅเฉเจ เจคเฉฑเจ เจเจฟ เจเจฟเจนเฉเฉ เจฒเฉเจ เจฒเฉเจจเจเจธ เจตเจฟเฉฑเจ เจจเจตเฉเจ เจนเจจ, เจเจน เจเจฒเจฆเฉ เจนเฉ เจเฉฐเจธเจเจพเจฒเฉเจธเจผเจจ เจจเจพเจฒ เจธเจฟเฉฑเจ เจธเจเจฆเฉ เจนเจจ เจ เจคเฉ เจธเจงเจพเจฐเจจ เจเจพเจฐเจตเจพเจเจเจ เจเจฐ เจธเจเจฆเฉ เจนเจจเฅค เจเฉ เจชเจนเจฟเจฒเจพเจ, เจฌเจฟเจ เจกเฉเจเจพ, เจนเฉเจกเฉเจช, เจเฉเจเจฒ เจฌเจฟเจเจเฉเจฌเจฒ, เจเจเจกเฉเจเจซเจเจธ เจธเจผเจฌเจฆ เจธเฉเจฃเจฆเฉ เจธเจฎเฉเจ, เจเจธเจค เจกเจฟเจตเฉเจฒเจชเจฐ เจจเฉเฉฐ เจเจน เจตเจฟเจเจพเจฐ เจเจเจเจฆเจพ เจธเฉ เจเจฟ เจเจน เจเฉเจ เจเฉเจฐเจพเจฌเจพเจเจ, เจชเฉเจเจพเจฌเจพเจเจเจธ เจฌเจพเจฐเฉ เจเฉฑเจฒ เจเจฐ เจฐเจนเฉ เจธเจจ, เจเจฟ เจเฉเจ เจ เจฒเฉเจเจฟเจ เจฎเจจเฉเฉฑเจ เจเจนเจจเจพเจ เจชเฉเจฐเจฃเจพเจฒเฉเจเจ เจจเฉเฉฐ เจธเจฅเจพเจชเจค เจเจฐเจจ เจ เจคเฉ เจตเจฟเจเจธเจค เจเจฐเจจ เจตเจฟเฉฑเจ เจธเจผเจพเจฎเจฒ เจธเจจ, เจคเจพเจ เจเจเจฎเจจ เจจเจพเจฒ เจเจฒเจฟเจเจนเจพเจเจธ เจกเฉเจเจพเจฌเฉเจธ เจฆเฉ เจธเจพเจจเฉเฉฐ เจเฉฑเจ เจธเจงเจพเจฐเจจ, เจธเจฎเจเจฃ เจฏเฉเจ เจเฉเจฒ เจฎเจฟเจฒเจฟเจ เจนเฉ เจเจฟเจธ เจจเจพเจฒ เจคเฉเจธเฉเจ เจชเจนเจฟเจฒเจพเจ เจคเฉเจ เจ เจฃเจธเฉเจฒเจเฉเจเจ เจธเจฎเฉฑเจธเจฟเจเจตเจพเจ เจจเฉเฉฐ เจนเฉฑเจฒ เจเจฐ เจธเจเจฆเฉ เจนเฉเฅค เจเจธ เจตเจฟเฉฑเจ เจธเจฟเจฐเจซเจผ เจเฉฑเจ เจเจธเจค เจฎเจธเจผเฉเจจ เจ เจคเฉ เจธเจฅเจพเจชเจค เจเจฐเจจ เจฒเจ เจชเฉฐเจ เจฎเจฟเฉฐเจ เจฒเฉฑเจเจฆเฉ เจนเจจเฅค เจญเจพเจต, เจธเจพเจจเฉเฉฐ เจเฉฑเจ เจกเฉเจเจพเจฌเฉเจธ เจฎเจฟเจฒเจฟเจ เจนเฉ, เจเจฆเจพเจนเจฐเจจ เจฒเจ, MySql, เจชเจฐ เจธเจฟเจฐเจซ เจ เจฐเจฌเจพเจ เจฐเจฟเจเจพเจฐเจก เจธเจเฉเจฐ เจเจฐเจจ เจฒเจ! SQL เจญเจพเจธเจผเจพ เจฆเฉ เจจเจพเจฒ เจเฉฑเจ เจเจฟเจธเจฎ เจฆเจพ เจธเฉเจชเจฐเจเจฐเจเฉเจตเจฐเฅค เจเจน เจเจธ เจคเจฐเฉเจนเจพเจ เจนเฉ เจเจฟเจตเฉเจ เจฒเฉเจเจพเจ เจจเฉเฉฐ เจชเจฐเจฆเฉเจธเฉ เจนเจฅเจฟเจเจฐ เจฆเจฟเฉฑเจคเฉ เจเจ เจธเจจ.
เจธเจพเจกเฉ เจฒเฉเจ เจเจฒเฉเจเจธเจผเจจ เจธเจฟเจธเจเจฎ เจฌเจพเจฐเฉ
เจเจพเจฃเจเจพเจฐเฉ เจเจเฉฑเจ เฉ เจเจฐเจจ เจฒเจ, เจธเจเฉเจเจกเจฐเจก เจซเจพเจฐเจฎเฉเจ เจฆเฉเจเจ เจตเฉเจฌ เจเจชเจฒเฉเจเฉเจธเจผเจจเจพเจ เจฆเฉเจเจ IIS เจฒเฉเจ เจซเจพเจเจฒเจพเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเฉเจคเฉ เจเจพเจเจฆเฉ เจนเฉ (เจ เจธเฉเจ เจตเจฐเจคเจฎเจพเจจ เจตเจฟเฉฑเจ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจฒเฉเจเจพเจ เจจเฉเฉฐ เจชเจพเจฐเจธ เจเจฐเจจ เจตเจฟเฉฑเจ เจตเฉ เจฐเฉเฉฑเจเฉ เจนเฉเจ เจนเจพเจ, เจชเจฐ เจชเจพเจเจฒเจ เจชเฉเจพเจ 'เจคเฉ เจธเจพเจกเจพ เจฎเฉเฉฑเจ เจเฉเจเจพ IIS เจฒเฉเจเจพเจ เจจเฉเฉฐ เจเจเฉฑเจ เจพ เจเจฐเจจเจพ เจนเฉ)เฅค
เจ เจธเฉเจ เจตเฉฑเจ-เจตเฉฑเจ เจเจพเจฐเจจเจพเจ เจเจฐเจเฉ ELK เจธเจเฉเจ เจจเฉเฉฐ เจชเฉเจฐเฉ เจคเจฐเฉเจนเจพเจ เจเฉฑเจกเจฃ เจตเจฟเฉฑเจ เจ เจธเจฎเจฐเฉฑเจฅ เจธเฉ, เจ เจคเฉ เจ เจธเฉเจ LogStash เจ เจคเฉ Filebeat เจญเจพเจเจพเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจจเจพ เจเจพเจฐเฉ เจฐเฉฑเจเจฆเฉ เจนเจพเจ, เจเจฟเจจเฉเจนเจพเจ เจจเฉ เจเจชเจฃเฉ เจเจช เจจเฉเฉฐ เจเฉฐเจเฉ เจคเจฐเฉเจนเจพเจ เจธเจพเจฌเจค เจเฉเจคเจพ เจนเฉ เจ เจคเฉ เจเจพเจซเจผเฉ เจญเจฐเฉเจธเฉเจฎเฉฐเจฆ เจ เจคเฉ เจ เจจเฉเจฎเจพเจจเจค เจคเฉเจฐ 'เจคเฉ เจเฉฐเจฎ เจเจฐเจฆเฉ เจนเจจเฅค
เจเจฎ เจฒเฉเจเจฟเฉฐเจ เจธเจเฉเจฎ เจนเฉเจ เจพเจ เจฆเจฟเฉฑเจคเฉ เจเจฟเฉฑเจคเจฐ เจตเจฟเฉฑเจ เจฆเจฟเจเจพเจ เจเจ เจนเฉ:
เจเจฒเจฟเจเจนเจพเจเจธ เจกเฉเจเจพเจฌเฉเจธ เจตเจฟเฉฑเจ เจฐเจฟเจเจพเจฐเจกเจฟเฉฐเจ เจกเฉเจเจพ เจฆเฉ เจเฉฑเจ เจตเจฟเจธเจผเฉเจธเจผเจคเจพ เจตเฉฑเจกเฉ เจฌเฉเจเจพเจ เจตเจฟเฉฑเจ เจฐเจฟเจเจพเจฐเจกเจพเจ เจจเฉเฉฐ เจเจฆเฉ-เจเจฆเจพเจเจ (เจเจ เจตเจพเจฐ เจชเฉเจฐเจคเฉ เจธเจเจฟเฉฐเจ) เจธเจผเจพเจฎเจฒ เจเจฐเจจเจพ เจนเฉเฅค เจเจน, เจเจผเจพเจนเจฐ เจคเฉเจฐ 'เจคเฉ, เจธเจญ เจคเฉเจ "เจธเจฎเฉฑเจธเจฟเจ เจตเจพเจฒเจพ" เจนเจฟเฉฑเจธเจพ เจนเฉ เจเจฟเจธเจฆเจพ เจคเฉเจธเฉเจ เจชเจนเจฟเจฒเฉ เจตเจพเจฐ เจเจฒเจฟเจเจนเจพเจเจธ เจกเฉเจเจพเจฌเฉเจธ เจจเจพเจฒ เจเฉฐเจฎ เจเจฐเจฆเฉ เจธเจฎเฉเจ เจธเจพเจนเจฎเจฃเจพ เจเจฐเจฆเฉ เจนเฉ: เจธเจเฉเจฎ เจฅเฉเฉเฉ เจนเฉเจฐ เจเฉเฉฐเจเจฒเจฆเจพเจฐ เจฌเจฃ เจเจพเจเจฆเฉ เจนเฉเฅค
LogStash เจฒเจ เจชเจฒเฉฑเจเจเจจ, เจเฉ เจธเจฟเฉฑเจงเฉ เจคเฉเจฐ 'เจคเฉ เจเจฒเจฟเจเจนเจพเจเจธ เจตเจฟเฉฑเจ เจกเฉเจเจพ เจธเจผเจพเจฎเจฒ เจเจฐเจฆเจพ เจนเฉ, เจจเฉ เจเฉฑเจฅเฉ เจฌเจนเฉเจค เจฎเจฆเจฆ เจเฉเจคเฉเฅค เจเจน เจเฉฐเจชเฉเจจเฉเจเจ เจเจธเฉ เจธเจฐเจตเจฐ 'เจคเฉ เจคเฉเจจเจพเจค เจเฉเจคเจพ เจเจฟเจ เจนเฉ เจเจฟเจตเฉเจ เจเจฟ เจกเจพเจเจพเจฌเฉเจธ เจนเฉ เจนเฉเฅค เจเจธ เจฒเจ, เจเจฎ เจคเฉเจฐ 'เจคเฉ, เจเจธ เจจเฉเฉฐ เจเจฐเจจ เจฆเฉ เจธเจฟเจซเจพเจฐเจธเจผ เจจเจนเฉเจ เจเฉเจคเฉ เจเจพเจเจฆเฉ, เจชเจฐ เจเฉฑเจ เจตเจฟเจนเจพเจฐเจ เจฆเฉเจฐเจฟเจธเจผเจเฉเจเฉเจฃ เจคเฉเจ, เจคเจพเจ เจเฉ เจตเฉฑเจเจฐเฉ เจธเจฐเจตเจฐ เจจเจพ เจฌเจฃเจพเจ เจเจพเจฃ เจเจฆเฉเจ เจเจน เจเจธเฉ เจธเจฐเจตเจฐ 'เจคเฉ เจคเจพเจเจจเจพเจค เจเฉเจคเจพ เจเจพเจเจฆเจพ เจนเฉเฅค เจ
เจธเฉเจ เจกเฉเจเจพเจฌเฉเจธ เจฆเฉ เจจเจพเจฒ เจเฉเจ เจ
เจธเจซเจฒเจคเจพ เจเจพเจ เจธเจฐเฉเจค เจตเจฟเจตเจพเจฆ เจจเจนเฉเจ เจฆเฉเจเจฟเจเฅค เจเจธ เจคเฉเจ เจเจฒเจพเจตเจพ, เจเจน เจจเฉเจ เจเฉเจคเจพ เจเจพเจฃเจพ เจเจพเจนเฉเจฆเจพ เจนเฉ เจเจฟ เจชเจฒเฉฑเจเจเจจ เจตเจฟเฉฑเจ เจเจฒเจคเฉเจเจ เจฆเฉ เจฎเจพเจฎเจฒเฉ เจตเจฟเฉฑเจ เจเฉฑเจ เจฐเฉเจเจฐเฉ เจตเจฟเจงเฉ เจนเฉ. เจ
เจคเฉ เจเจฒเจคเฉเจเจ เจฆเฉ เจฎเจพเจฎเจฒเฉ เจตเจฟเฉฑเจ, เจชเจฒเฉฑเจเจเจจ เจกเจพเจเฉ เจฆเฉ เจเฉฑเจ เจฌเฉเจ เจจเฉเฉฐ เจกเจฟเจธเจ 'เจคเฉ เจฒเจฟเจเจฆเจพ เจนเฉ เจเฉ เจธเจผเจพเจฎเจฒ เจจเจนเฉเจ เจเฉเจคเจพ เจเจพ เจธเจเจฆเจพ เจธเฉ (เจซเจพเจเจฒ เจซเจพเจฐเจฎเฉเจ เจธเฉเจตเจฟเจงเจพเจเจจเจ เจนเฉ: เจธเฉฐเจชเจพเจฆเจจ เจเจฐเจจ เจคเฉเจ เจฌเจพเจ
เจฆ, เจคเฉเจธเฉเจ เจเจฒเจฟเฉฑเจเจนเจพเจเจธ-เจเจฒเจพเจเฉฐเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ เจเจธเจพเจจเฉ เจจเจพเจฒ เจธเจนเฉ เจฌเฉเจ เจชเจพ เจธเจเจฆเฉ เจนเฉ)เฅค
เจธเจเฉเจฎ เจตเจฟเฉฑเจ เจตเจฐเจคเฉ เจเจ เจธเฉเจซเจเจตเฉเจ เจฐ เจฆเฉ เจเฉฑเจ เจชเฉเจฐเฉ เจธเฉเจเฉ เจธเจพเจฐเจฃเฉ เจตเจฟเฉฑเจ เจชเฉเจธเจผ เจเฉเจคเฉ เจเจ เจนเฉ:
เจตเจฐเจคเฉ เจเจ เจธเฉเจซเจเจตเฉเจ เจฐ เจฆเฉ เจธเฉเจเฉ
เจเจพเจเจเจฒ
เจตเฉเจฐเจตเจพ
เจตเฉฐเจก เจฒเจ เจฒเจฟเฉฐเจ
NGINX
เจชเฉเจฐเจ เจฆเฉเจเจฐเจพ เจชเจนเฉเฉฐเจ เจจเฉเฉฐ เจชเฉเจฐเจคเจฟเจฌเฉฐเจงเจฟเจค เจเจฐเจจ เจ เจคเฉ เจ เจงเจฟเจเจพเจฐ เจจเฉเฉฐ เจธเฉฐเจเจ เจฟเจค เจเจฐเจจ เจฒเจ เจฐเจฟเจตเจฐเจธ-เจชเฉเจฐเจพเจเจธเฉ
เจตเจฐเจคเจฎเจพเจจ เจตเจฟเฉฑเจ เจธเจเฉเจฎ เจตเจฟเฉฑเจ เจจเจนเฉเจ เจตเจฐเจคเจฟเจ เจเจฟเจ
เจซเจพเจเจฒเจฌเฉเจ
เจซเจพเจเจฒ เจฒเฉเจเจธ เจฆเจพ เจเฉเจฐเจพเจเจธเจซเจฐเฅค
เจฒเฉเจเจธเจเฉเจธเจผ
เจฒเจพเจ เจเฉเจฒเฉเจเจเจฐ.
FileBeat เจคเฉเจ เจฒเฉเจ เจเจเฉฑเจ เฉ เจเจฐเจจ เจฒเจ เจตเจฐเจคเจฟเจ เจเจพเจเจฆเจพ เจนเฉ, เจจเจพเจฒ เจนเฉ RabbitMQ เจเจคเจพเจฐ (DMZ เจตเจฟเฉฑเจ เจธเจฅเจฟเจค เจธเจฐเจตเจฐเจพเจ เจฒเจเฅค)
เจฒเฉเจเจธเจเฉเจธเจผ- เจเจเจเจชเฉเฉฑเจ- เจเจฒเจฟเฉฑเจเจนเจพเจเจธ
เจฒเฉเจเจธเจเฉเจธเจผ เจชเจฒเฉฑเจเจเจจ เจฌเฉเจเจพเจ เจตเจฟเฉฑเจ เจเจฒเจฟเจเจนเจพเจเจธ เจกเฉเจเจพเจฌเฉเจธ เจตเจฟเฉฑเจ เจฒเจพเจ เจเฉเจฐเจพเจเจธเจซเจฐ เจเจฐเจจ เจฒเจ
/usr/share/logstash/bin/logstash-plugin เจเฉฐเจธเจเจพเจฒ เจเจฐเฉ logstash-output-clickhouse
/usr/share/logstash/bin/logstash-plugin logstash-filter-prune เจเฉฐเจธเจเจพเจฒ เจเจฐเฉ
/usr/share/logstash/bin/logstash-plugin logstash-filter-multiline เจเฉฐเจธเจเจพเจฒ เจเจฐเฉ
เจเจฒเจฟเจเจนเจพouseเจธ
เจฒเฉเจ เจธเจเฉเจฐเฉเจ
เจจเฉเจ เจเจฐเฉเฅค เจ เจเจธเจค 2018 เจคเฉเจ เจธเจผเฉเจฐเฉ เจเจฐเจฆเฉ เจนเฉเจ, RHEL เจฒเจ "เจเจฎ" rpm เจฌเจฟเจฒเจก เจฏเจพเจเจกเฉเจเจธ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจตเจฟเฉฑเจ เจชเฉเจฐเจเจ เจนเฉเจ, เจคเจพเจ เจเฉ เจคเฉเจธเฉเจ เจเจนเจจเจพเจ เจจเฉเฉฐ เจตเจฐเจคเจฃ เจฆเฉ เจเฉเจธเจผเจฟเจธเจผ เจเจฐ เจธเจเฉเฅค เจเฉฐเจธเจเจพเจฒเฉเจธเจผเจจ เจฆเฉ เจธเจฎเฉเจ เจ เจธเฉเจ Altinity เจฆเฉเจเจฐเจพ เจเฉฐเจชเจพเจเจฒ เจเฉเจคเฉ เจชเฉเจเฉเจเจพเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐ เจฐเจนเฉ เจธเฉเฅค
เจเฉเจฐเจพเจซเจจเจพ
เจฒเฉเจเจธ เจฆเฉ เจตเจฟเจเจผเฉเจ เจฒเจพเจเจเจผเฉเจธเจผเจจเฅค เจกเฉเจธเจผเจฌเฉเจฐเจก เจธเฉเฉฑเจเจ เฉฑเจช เจเจฐ เจฐเจฟเจนเจพ เจนเฉ
Redhat เจ เจคเฉ Centos (64 เจฌเจฟเฉฑเจ) - เจจเจตเฉเจจเจคเจฎ เจธเฉฐเจธเจเจฐเจฃ
Grafana 4.6+ เจฒเจ เจนเจพเจเจธ เจกเฉเจเจพเจธเฉเจฐเจธ 'เจคเฉ เจเจฒเจฟเฉฑเจ เจเจฐเฉ
เจเจฒเจฟเจเจนเจพเจเจธ เจกเฉเจเจพ เจธเจฐเฉเจค เจจเจพเจฒ เจเฉเจฐเจพเจซเจพเจจเจพ เจฒเจ เจชเจฒเฉฑเจเจเจจ
เจฒเฉเจเจธเจเฉเจธเจผ
FileBeat เจคเฉเจ RabbitMQ เจเจคเจพเจฐ เจคเฉฑเจ เจฐเจพเจเจเจฐ เจฒเฉเจ เจเจฐเฉเฅค
เจจเฉเจ เจเจฐเฉเฅค เจฌเจฆเจเจฟเจธเจฎเจคเฉ เจจเจพเจฒ FileBeat เจเฉเจฒ RabbitMQ เจฒเจ เจธเจฟเฉฑเจงเจพ เจเจเจเจชเฉเฉฑเจ เจจเจนเฉเจ เจนเฉ, เจเจธเจฒเจ Logstash เจฆเฉ เจฐเฉเจช เจตเจฟเฉฑเจ เจเฉฑเจ เจตเจฟเจเจเจพเจฐเจฒเฉ เจฒเจฟเฉฐเจ เจฆเฉ เจฒเฉเฉ เจนเฉ
เจฐเฉเจฌเจฟเจเจฎเจเจฟQ
เจธเฉเจจเฉเจนเจพ เจเจคเจพเจฐเฅค เจเจน DMZ เจตเจฟเฉฑเจ เจฒเฉเจ เจเจเจเจฐเฉเจเจ เจฆเจพ เจเฉฑเจ เจฌเจซเจฐ เจนเฉ
Erlang เจฐเจจเจเจพเจเจฎ (RabbitMQ เจฒเจ เจฒเฉเฉเฉเจเจฆเจพ)
เจ เจฐเจฒเจพเจเจ เจฐเจจเจเจพเจเจฎเฅค RabbitMQ เจจเฉเฉฐ เจเฉฐเจฎ เจเจฐเจจ เจฒเจ เจฒเฉเฉเฉเจเจฆเจพ เจนเฉ
เจเจฒเจฟเจเจนเจพเจเจธ เจกเฉเจเจพเจฌเฉเจธ เจจเจพเจฒ เจธเจฐเจตเจฐ เจธเฉฐเจฐเจเจจเจพ เจนเฉเจ เจฆเจฟเฉฑเจคเฉ เจธเจพเจฐเจฃเฉ เจตเจฟเฉฑเจ เจชเฉเจธเจผ เจเฉเจคเฉ เจเจ เจนเฉ:
เจเจพเจเจเจฒ
เจฎเฉเฉฑเจฒ
เจเจฟเฉฑเจชเจฃเฉ
เจเฉเจจเจซเจฟเจเจฐเฉเจธเจผเจจ
HDD: 40GB
RAM: 8GB
เจชเฉเจฐเฉเจธเฉเจธเจฐ: เจเฉเจฐ 2 2 เจเฉเจเจพเจนเจฐเจเจเจผ
เจคเฉเจนเจพเจจเฉเฉฐ เจเจฒเจฟเจเจนเจพเจเจธ เจกเฉเจเจพเจฌเฉเจธ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจจ เจฒเจ เจธเฉเจเจพเจ
เจตเฉฑเจฒ เจงเจฟเจเจจ เจฆเฉเจฃเจพ เจเจพเจนเฉเจฆเจพ เจนเฉ (
เจธเจฟเจธเจเจฎ-เจตเจฟเจเจชเจ เจธเจพเจซเจเจตเฉเจ เจฐ
OS: Red Hat Enterprise Linux เจธเจฐเจตเจฐ (Maipo)
เจเฉเจเจฐเจ (เจเจพเจตเจพ 8)
เจเจฟเจตเฉเจ เจเจฟ เจคเฉเจธเฉเจ เจตเฉเจ เจธเจเจฆเฉ เจนเฉ, เจเจน เจเฉฑเจ เจจเจฟเจฏเจฎเจค เจตเจฐเจเจธเจเฉเจธเจผเจจ เจนเฉ.
เจฒเจพเจเจพเจ เจจเฉเฉฐ เจธเจเฉเจฐ เจเจฐเจจ เจฒเจ เจเฉเจฌเจฒ เจฆเฉ เจฌเจฃเจคเจฐ เจเจธ เจชเฉเจฐเจเจพเจฐ เจนเฉ:
log_web.sql
CREATE TABLE log_web (
logdate Date,
logdatetime DateTime CODEC(Delta, LZ4HC),
fld_log_file_name LowCardinality( String ),
fld_server_name LowCardinality( String ),
fld_app_name LowCardinality( String ),
fld_app_module LowCardinality( String ),
fld_website_name LowCardinality( String ),
serverIP LowCardinality( String ),
method LowCardinality( String ),
uriStem String,
uriQuery String,
port UInt32,
username LowCardinality( String ),
clientIP String,
clientRealIP String,
userAgent String,
referer String,
response String,
subresponse String,
win32response String,
timetaken UInt64
, uriQuery__utm_medium String
, uriQuery__utm_source String
, uriQuery__utm_campaign String
, uriQuery__utm_term String
, uriQuery__utm_content String
, uriQuery__yclid String
, uriQuery__region String
) Engine = MergeTree()
PARTITION BY toYYYYMM(logdate)
ORDER BY (fld_app_name, fld_app_module, logdatetime)
SETTINGS index_granularity = 8192;
เจ เจธเฉเจ เจตเจฟเจญเจพเจเจจ (เจฎเจพเจธเจฟเจ) เจ เจคเฉ เจธเฉเจเจเจพเจเจ เจเฉเจฐเฉเจจเจฟเจเจฒเจฐเจฟเจเฉ เจฒเจ เจกเจฟเจซเจพเจฒเจ เจฎเฉเฉฑเจฒเจพเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเฉ เจนเจพเจเฅค เจธเจพเจฐเฉ เจเฉเจคเจฐ เจ เจฎเจฒเฉ เจคเฉเจฐ 'เจคเฉ HTTP เจฌเฉเจจเจคเฉเจเจ เจจเฉเฉฐ เจฐเจฟเจเจพเจฐเจก เจเจฐเจจ เจฒเจ IIS เจฒเฉเจ เจเจเจเจฐเฉเจเจ เจจเจพเจฒ เจฎเฉเจฒ เจเจพเจเจฆเฉ เจนเจจเฅค เจตเฉฑเจเจฐเฉ เจคเฉเจฐ 'เจคเฉ, เจ เจธเฉเจ เจจเฉเจ เจเจฐเจฆเฉ เจนเจพเจ เจเจฟ utm เจเฉเจเจธ เจจเฉเฉฐ เจธเจเฉเจฐ เจเจฐเจจ เจฒเจ เจตเฉฑเจเจฐเฉ เจเฉเจคเจฐ เจนเจจ (เจเจน เจชเฉเฉฑเจเจเจฟเฉฑเจ เจธเจคเจฐ เจเฉเจคเจฐ เจคเฉเจ เจธเจพเจฐเจฃเฉ เจตเจฟเฉฑเจ เจธเฉฐเจฎเจฟเจฒเจฟเจค เจเจฐเจจ เจฆเฉ เจชเฉเจพเจ 'เจคเฉ เจชเจพเจฐเจธ เจเฉเจคเฉ เจเจพเจเจฆเฉ เจนเจจ)เฅค
เจจเจพเจฒ เจนเฉ, เจธเจฟเจธเจเจฎเจพเจ, เจญเจพเจเจพเจ, เจ เจคเฉ เจธเจฐเจตเจฐเจพเจ เจฌเจพเจฐเฉ เจเจพเจฃเจเจพเจฐเฉ เจธเจเฉเจฐ เจเจฐเจจ เจฒเจ เจธเจพเจฐเจฃเฉ เจตเจฟเฉฑเจ เจเจ เจธเจฟเจธเจเจฎ เจเฉเจคเจฐ เจธเจผเจพเจฎเจฒ เจเฉเจคเฉ เจเจ เจนเจจเฅค เจเจนเจจเจพเจ เจเฉเจคเจฐเจพเจ เจฆเฉ เจตเจฐเจฃเจจ เจฒเจ, เจนเฉเจ เจพเจ เจฆเจฟเฉฑเจคเฉ เจธเจพเจฐเจฃเฉ เจตเฉเจเฉเฅค เจเฉฑเจ เจธเจพเจฐเจฃเฉ เจตเจฟเฉฑเจ เจ เจธเฉเจ เจเจ เจธเจฟเจธเจเจฎเจพเจ เจฒเจ เจฒเฉเจ เจธเจเฉเจฐ เจเจฐเจฆเฉ เจนเจพเจเฅค
เจเจพเจเจเจฒ
เจตเฉเจฐเจตเจพ
เจเจฆเจพเจนเจฐเจจ:
fld_app_เจจเจพเจฎ
เจเจชเจฒเฉเจเฉเจธเจผเจจ/เจธเจฟเจธเจเจฎ เจฆเจพ เจจเจพเจฎ
เจตเฉเจง เจฎเฉเฉฑเจฒ:
- site1.domain.com เจฌเจพเจนเจฐเฉ เจธเจพเจเจ 1
- site2.domain.com เจฌเจพเจนเจฐเฉ เจธเจพเจเจ 2
- internal-site1.domain.local เจ เฉฐเจฆเจฐเฉเจจเฉ เจธเจพเจเจ 1
site1.domain.com
fld_app_module
เจธเจฟเจธเจเจฎ เจฎเฉเจกเฉเจเจฒ
เจตเฉเจง เจฎเฉเฉฑเจฒ:
- เจตเฉเฉฑเจฌ - เจตเฉเฉฑเจฌเจธเจพเจเจ
- svc โ เจตเฉเฉฑเจฌเจธเจพเจเจ เจตเฉเฉฑเจฌ เจธเฉเจตเจพ
- intgr โ เจตเฉเฉฑเจฌ เจเจเฉเจเจฐเจฃ เจธเฉเจตเจพ
- bo โ เจชเฉเจฐเจธเจผเจพเจธเจ (เจฌเฉเจเจเจซเจฟเจธ)
เจตเฉเฉฑเจฌ
fld_website_name
IIS เจตเจฟเฉฑเจ เจธเจพเจเจ เจฆเจพ เจจเจพเจฎ
เจเจ เจธเจฟเจธเจเจฎเจพเจ เจจเฉเฉฐ เจเฉฑเจ เจธเจฐเจตเจฐ เจเฉฑเจคเฉ เจคเฉเจจเจพเจค เจเฉเจคเจพ เจเจพ เจธเจเจฆเจพ เจนเฉ, เจเจพเจ เจเฉฑเจ เจธเจฟเจธเจเจฎ เจฎเฉเจกเฉเจเจฒ เจฆเฉเจเจ เจเจ เจเจฆเจพเจนเจฐเจจเจพเจ เจตเฉ
เจตเฉเฉฑเจฌ-เจฎเฉเฉฑเจ
fld_server_name
เจธเจฐเจตเจฐ เจฆเจพ เจจเจพเจฎ
web1.domain.com
fld_log_file_name
เจธเจฐเจตเจฐ เจเฉฑเจคเฉ เจฒเฉเจ เจซเจพเจเจฒ เจฆเจพ เจฎเจพเจฐเจ
เจตเฉฑเจฒเฉเจ: inetpublogsLogFiles
W3SVC1u_ex190711.log
เจเจน เจคเฉเจนเจพเจจเฉเฉฐ เจเฉเจฐเจพเจซเจพเจจเจพ เจตเจฟเฉฑเจ เจเฉเจธเจผเจฒเจคเจพ เจจเจพเจฒ เจเฉเจฐเจพเจซ เจฌเจฃเจพเจเจฃ เจฆเฉ เจเจเจฟเจ เจฆเจฟเฉฐเจฆเจพ เจนเฉเฅค เจเจฆเจพเจนเจฐเจจ เจฒเจ, เจเจฟเจธเฉ เจเจพเจธ เจธเจฟเจธเจเจฎ เจฆเฉ เจธเจพเจนเจฎเจฃเฉ เจตเจพเจฒเฉ เจธเจฟเจฐเฉ เจคเฉเจ เจฌเฉเจจเจคเฉเจเจ เจตเฉเจเฉเฅค เจเจน Yandex.Metrica เจตเจฟเฉฑเจ เจธเจพเจเจ เจเจพเจเจเจเจฐ เจฆเฉ เจธเจฎเจพเจจ เจนเฉเฅค
เจเฉฑเจฅเฉ เจฆเฉ เจฎเจนเฉเจจเจฟเจเจ เจฒเจ เจกเฉเจเจพเจฌเฉเจธ เจฆเฉ เจตเจฐเจคเฉเจ เจฌเจพเจฐเฉ เจเฉเจ เจ เฉฐเจเฉเฉ เจนเจจเฅค
เจธเจฟเจธเจเจฎ เจ เจคเฉ เจเฉฐเจชเฉเจจเฉเจเจ เจฆเฉเจเจฐเจพ เจฐเจฟเจเจพเจฐเจกเจพเจ เจฆเฉ เจธเฉฐเจเจฟเจ
SELECT
fld_app_name,
fld_app_module,
count(fld_app_name) AS rows_count
FROM log_web
GROUP BY
fld_app_name,
fld_app_module
WITH TOTALS
ORDER BY
fld_app_name ASC,
rows_count DESC
โโfld_app_nameโโโโโโฌโfld_app_moduleโโฌโrows_countโโ
โ site1.domain.ru โ web โ 131441 โ
โ site2.domain.ru โ web โ 1751081 โ
โ site3.domain.ru โ web โ 106887543 โ
โ site3.domain.ru โ svc โ 44908603 โ
โ site3.domain.ru โ intgr โ 9813911 โ
โ site4.domain.ru โ web โ 772095 โ
โ site5.domain.ru โ web โ 17037221 โ
โ site5.domain.ru โ intgr โ 838559 โ
โ site5.domain.ru โ bo โ 7404 โ
โ site6.domain.ru โ web โ 595877 โ
โ site7.domain.ru โ web โ 27778858 โ
โโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโ
Totals:
โโfld_app_nameโโฌโfld_app_moduleโโฌโrows_countโโ
โ โ โ 210522593 โ
โโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโ
11 rows in set. Elapsed: 4.874 sec. Processed 210.52 million rows, 421.67 MB (43.19 million rows/s., 86.51 MB/s.)
เจกเจฟเจธเจ เจกเจพเจเจพ เจตเจพเจฒเฉเจ เจฎ
SELECT
formatReadableSize(sum(data_uncompressed_bytes)) AS uncompressed,
formatReadableSize(sum(data_compressed_bytes)) AS compressed,
sum(rows) AS total_rows
FROM system.parts
WHERE table = 'log_web'
โโuncompressedโโฌโcompressedโโฌโtotal_rowsโโ
โ 54.50 GiB โ 4.86 GiB โ 211427094 โ
โโโโโโโโโโโโโโโโดโโโโโโโโโโโโโดโโโโโโโโโโโโโ
1 rows in set. Elapsed: 0.035 sec.
เจเจพเจฒเจฎ เจกเจพเจเจพ เจเฉฐเจชเจฐเฉเจธเจผเจจ เจ เจจเฉเจชเจพเจค
SELECT
name,
formatReadableSize(data_uncompressed_bytes) AS uncompressed,
formatReadableSize(data_compressed_bytes) AS compressed,
data_uncompressed_bytes / data_compressed_bytes AS compress_ratio
FROM system.columns
WHERE table = 'log_web'
โโnameโโโโโโโโโโโโโโโโโโโโฌโuncompressedโโฌโcompressedโโฌโโโโโcompress_ratioโโ
โ logdate โ 401.53 MiB โ 1.80 MiB โ 223.16665968777315 โ
โ logdatetime โ 803.06 MiB โ 35.91 MiB โ 22.363966401202305 โ
โ fld_log_file_name โ 220.66 MiB โ 2.60 MiB โ 84.99905736932571 โ
โ fld_server_name โ 201.54 MiB โ 50.63 MiB โ 3.980924816977078 โ
โ fld_app_name โ 201.17 MiB โ 969.17 KiB โ 212.55518183686877 โ
โ fld_app_module โ 201.17 MiB โ 968.60 KiB โ 212.67805817411906 โ
โ fld_website_name โ 201.54 MiB โ 1.24 MiB โ 162.7204926761546 โ
โ serverIP โ 201.54 MiB โ 50.25 MiB โ 4.010824061219731 โ
โ method โ 201.53 MiB โ 43.64 MiB โ 4.617721053304486 โ
โ uriStem โ 5.13 GiB โ 832.51 MiB โ 6.311522291936919 โ
โ uriQuery โ 2.58 GiB โ 501.06 MiB โ 5.269731450124478 โ
โ port โ 803.06 MiB โ 3.98 MiB โ 201.91673864241824 โ
โ username โ 318.08 MiB โ 26.93 MiB โ 11.812513794583598 โ
โ clientIP โ 2.35 GiB โ 82.59 MiB โ 29.132328640073343 โ
โ clientRealIP โ 2.49 GiB โ 465.05 MiB โ 5.478382297052563 โ
โ userAgent โ 18.34 GiB โ 764.08 MiB โ 24.57905114484208 โ
โ referer โ 14.71 GiB โ 1.37 GiB โ 10.736792723669906 โ
โ response โ 803.06 MiB โ 83.81 MiB โ 9.582334090987247 โ
โ subresponse โ 399.87 MiB โ 1.83 MiB โ 218.4831068635027 โ
โ win32response โ 407.86 MiB โ 7.41 MiB โ 55.050315514606815 โ
โ timetaken โ 1.57 GiB โ 402.06 MiB โ 3.9947395692010637 โ
โ uriQuery__utm_medium โ 208.17 MiB โ 12.29 MiB โ 16.936148912472955 โ
โ uriQuery__utm_source โ 215.18 MiB โ 13.00 MiB โ 16.548367623199912 โ
โ uriQuery__utm_campaign โ 381.46 MiB โ 37.94 MiB โ 10.055156353418509 โ
โ uriQuery__utm_term โ 231.82 MiB โ 10.78 MiB โ 21.502540454070672 โ
โ uriQuery__utm_content โ 441.34 MiB โ 87.60 MiB โ 5.038260760449327 โ
โ uriQuery__yclid โ 216.88 MiB โ 16.58 MiB โ 13.07721335008116 โ
โ uriQuery__region โ 204.35 MiB โ 9.49 MiB โ 21.52661903446796 โ
โโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโดโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโ
28 rows in set. Elapsed: 0.005 sec.
เจตเจฐเจคเฉ เจเจ เจญเจพเจเจพเจ เจฆเจพ เจตเฉเจฐเจตเจพ
เจซเจพเจเจฒเจฌเฉเจเฅค เจซเจพเจเจฒ เจฒเฉเจเจธ เจจเฉเฉฐ เจเฉเจฐเจพเจเจธเจซเจฐ เจเฉเจคเจพ เจเจพ เจฐเจฟเจนเจพ เจนเฉ
เจเจน เจเฉฐเจชเฉเจจเฉเจเจ เจกเจฟเจธเจ เจเฉฑเจคเฉ เจฒเฉเจ เจซเจพเจเจฒเจพเจ เจตเจฟเฉฑเจ เจคเจฌเจฆเฉเจฒเฉเจเจ เจฆเฉ เจจเจฟเจเจฐเจพเจจเฉ เจเจฐเจฆเจพ เจนเฉ เจ เจคเฉ LogStash เจจเฉเฉฐ เจเจพเจฃเจเจพเจฐเฉ เจฆเจฟเฉฐเจฆเจพ เจนเฉเฅค เจเจนเจจเจพเจ เจธเจพเจฐเฉ เจธเจฐเจตเจฐเจพเจ 'เจคเฉ เจธเจฅเจพเจชเจฟเจค เจเฉเจคเจพ เจเจฟเจ เจเจฟเฉฑเจฅเฉ เจฒเฉเจ เจซเจพเจเจฒเจพเจ เจฒเจฟเจเฉเจเจ เจเจพเจเจฆเฉเจเจ เจนเจจ (เจเจฎ เจคเฉเจฐ 'เจคเฉ IIS)เฅค เจเฉเจฒ เจฎเฉเจก เจตเจฟเฉฑเจ เจเฉฐเจฎ เจเจฐเจฆเจพ เจนเฉ (เจ เจฐเจฅเจพเจค, เจเจน เจธเจฟเจฐเจซ เจซเจพเจเจฒ เจตเจฟเฉฑเจ เจธเจผเจพเจฎเจฒ เจเฉเจคเฉ เจฐเจฟเจเจพเจฐเจกเจพเจ เจจเฉเฉฐ เจเฉเจฐเจพเจเจธเจซเจฐ เจเจฐเจฆเจพ เจนเฉ)เฅค เจชเจฐ เจคเฉเจธเฉเจ เจชเฉเจฐเฉเจเจ เจซเจพเจเจฒเจพเจ เจจเฉเฉฐ เจเฉเจฐเจพเจเจธเจซเจฐ เจเจฐเจจ เจฒเจ เจเจธเจจเฉเฉฐ เจตเฉฑเจเจฐเฉ เจคเฉเจฐ 'เจคเฉ เจเฉเจเจซเจฟเจเจฐ เจเจฐ เจธเจเจฆเฉ เจนเฉเฅค เจเจน เจเจฆเฉเจ เจธเฉเจตเจฟเจงเจพเจเจจเจ เจนเฉเฉฐเจฆเจพ เจนเฉ เจเจฆเฉเจ เจคเฉเจนเจพเจจเฉเฉฐ เจชเจฟเจเจฒเฉ เจฎเจนเฉเจจเจฟเจเจ เจฒเจ เจกเจพเจเจพ เจกเจพเจเจจเจฒเฉเจก เจเจฐเจจ เจฆเฉ เจฒเฉเฉ เจนเฉเฉฐเจฆเฉ เจนเฉเฅค เจฒเฉเจ เจซเจพเจเจฒ เจจเฉเฉฐ เจเฉฑเจ เจซเฉเจฒเจกเจฐ เจตเจฟเฉฑเจ เจฐเฉฑเจเฉ เจ เจคเฉ เจเจน เจเจธเจจเฉเฉฐ เจชเฉเจฐเฉ เจคเจฐเฉเจนเจพเจ เจชเฉเฉเจน เจฒเจตเฉเจเจพเฅค
เจเจฆเฉเจ เจธเฉเจตเจพ เจฌเฉฐเจฆ เจนเฉ เจเจพเจเจฆเฉ เจนเฉ, เจคเจพเจ เจกเจพเจเจพ เจธเจเฉเจฐเฉเจ เจตเจฟเฉฑเจ เจเฉเจฐเจพเจเจธเจซเจฐ เจเจฐเจจเจพ เจฌเฉฐเจฆ เจนเฉ เจเจพเจเจฆเจพ เจนเฉเฅค
เจเฉฑเจ เจเจฆเจพเจนเจฐเจจ เจธเฉฐเจฐเจเจจเจพ เจเจธ เจคเจฐเฉเจนเจพเจ เจฆเจฟเจเจพเจ เจฆเจฟเฉฐเจฆเฉ เจนเฉ:
filebeat.yml
filebeat.inputs:
- type: log
enabled: true
paths:
- C:/inetpub/logs/LogFiles/W3SVC1/*.log
exclude_files: ['.gz$','.zip$']
tail_files: true
ignore_older: 24h
fields:
fld_server_name: "site1.domain.ru"
fld_app_name: "site1.domain.ru"
fld_app_module: "web"
fld_website_name: "web-main"
- type: log
enabled: true
paths:
- C:/inetpub/logs/LogFiles/__Import/access_log-*
exclude_files: ['.gz$','.zip$']
tail_files: false
fields:
fld_server_name: "site2.domain.ru"
fld_app_name: "site2.domain.ru"
fld_app_module: "web"
fld_website_name: "web-main"
fld_logformat: "logformat__apache"
filebeat.config.modules:
path: ${path.config}/modules.d/*.yml
reload.enabled: false
reload.period: 2s
output.logstash:
hosts: ["log.domain.com:5044"]
ssl.enabled: true
ssl.certificate_authorities: ["C:/filebeat/certs/ca.pem", "C:/filebeat/certs/ca-issuing.pem"]
ssl.certificate: "C:/filebeat/certs/site1.domain.ru.cer"
ssl.key: "C:/filebeat/certs/site1.domain.ru.key"
#================================ Processors =====================================
processors:
- add_host_metadata: ~
- add_cloud_metadata: ~
เจฒเฉเจเจธเจเฉเจธเจผเฅค เจฒเฉเจ เจเฉเจฒเฉเจเจเจฐ
เจเจน เจเฉฐเจชเฉเจจเฉเจเจ เจซเจพเจเจฒเจฌเฉเจ (เจเจพเจ RabbitMQ เจเจคเจพเจฐ เจฐเจพเจนเฉเจ) เจคเฉเจ เจฒเฉเจ เจฐเจฟเจเจพเจฐเจก เจชเฉเจฐเจพเจชเจค เจเจฐเจจ เจฒเจ เจคเจฟเจเจฐ เจเฉเจคเจพ เจเจฟเจ เจนเฉ, เจเจนเจจเจพเจ เจจเฉเฉฐ เจชเจพเจฐเจธ เจเจฐเฉ เจ เจคเฉ เจเจนเจจเจพเจ เจจเฉเฉฐ เจเจฒเจฟเจเจนเจพเจเจธ เจกเฉเจเจพเจฌเฉเจธ เจตเจฟเฉฑเจ เจฌเฉเจเจพเจ เจตเจฟเฉฑเจ เจธเจผเจพเจฎเจฒ เจเจฐเฉเฅค
เจเจฒเจฟเจเจนเจพเจเจธ เจตเจฟเฉฑเจ เจชเจพเจเจฃ เจฒเจ, เจฒเฉเจเจธเจเฉเจธเจผ-เจเจเจเจชเฉเฉฑเจ-เจเจฒเจฟเจเจนเจพเจเจธ เจชเจฒเฉฑเจเจเจจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเฉเฅค เจฒเฉเจเจธเจเฉเจธเจผ เจชเจฒเฉฑเจเจเจจ เจตเจฟเฉฑเจ เจฌเฉเจจเจคเฉเจเจ เจจเฉเฉฐ เจฐเฉเจเจฐเฉเจธ เจเจฐเจจ เจฒเจ เจเฉฑเจ เจตเจฟเจงเฉ เจนเฉ, เจชเจฐ เจเฉฑเจ เจจเจฟเจฏเจฎเจค เจฌเฉฐเจฆ เจฆเฉเจฐเจพเจจ, เจธเฉเจตเจพ เจจเฉเฉฐ เจเจชเจฃเฉ เจเจช เจฌเฉฐเจฆ เจเจฐเจจเจพ เจฌเจฟเจนเจคเจฐ เจนเฉเฅค เจเจฆเฉเจ เจฐเฉเจเจฟเจ เจเจพเจเจฆเจพ เจนเฉ, เจคเจพเจ RabbitMQ เจเจคเจพเจฐ เจตเจฟเฉฑเจ เจธเฉเจจเฉเจนเฉ เจเจเฉฑเจ เฉ เจนเฉ เจเจพเจฃเจเฉ, เจเจธ เจฒเจ เจเฉเจเจฐ เจธเจเจพเจช เจฒเฉฐเจฌเฉ เจธเจฎเฉเจ เจฒเจ เจนเฉ, เจคเจพเจ เจธเจฐเจตเจฐเจพเจ 'เจคเฉ เจซเจพเจเจฒเจฌเฉเจเจธ เจจเฉเฉฐ เจฐเฉเจเจฃเจพ เจฌเจฟเจนเจคเจฐ เจนเฉเฅค เจเฉฑเจ เจธเจเฉเจฎ เจตเจฟเฉฑเจ เจเจฟเฉฑเจฅเฉ RabbitMQ เจฆเฉ เจตเจฐเจคเฉเจ เจจเจนเฉเจ เจเฉเจคเฉ เจเจพเจเจฆเฉ เจนเฉ (เจธเจฅเจพเจจเจ เจจเฉเฉฑเจเจตเจฐเจ 'เจคเฉ Filebeat เจธเจฟเฉฑเจงเฉ เจฒเฉเจเจธเจเฉเจธเจผ เจจเฉเฉฐ เจฒเฉเจ เจญเฉเจเจฆเจพ เจนเฉ), Filebeats เจเจพเจซเจผเฉ เจธเจตเฉเจเจพเจฐเจฏเฉเจ เจ เจคเฉ เจธเฉเจฐเฉฑเจเจฟเจ เจค เจเฉฐเจฎ เจเจฐเจฆเฉ เจนเจจ, เจเจธ เจฒเจ เจเจนเจจเจพเจ เจฒเจ เจเจเจเจชเฉเฉฑเจ เจฆเฉ เจ เจฃเจเจชเจฒเจฌเจงเจคเจพ เจฆเจพ เจเฉเจ เจจเจคเฉเจเจพ เจจเจนเฉเจ เจนเฉเฉฐเจฆเจพเฅค
เจเฉฑเจ เจเจฆเจพเจนเจฐเจจ เจธเฉฐเจฐเจเจจเจพ เจเจธ เจคเจฐเฉเจนเจพเจ เจฆเจฟเจเจพเจ เจฆเจฟเฉฐเจฆเฉ เจนเฉ:
log_web__filebeat_clickhouse.conf
input {
beats {
port => 5044
type => 'iis'
ssl => true
ssl_certificate_authorities => ["/etc/logstash/certs/ca.cer", "/etc/logstash/certs/ca-issuing.cer"]
ssl_certificate => "/etc/logstash/certs/server.cer"
ssl_key => "/etc/logstash/certs/server-pkcs8.key"
ssl_verify_mode => "peer"
add_field => {
"fld_server_name" => "%{[fields][fld_server_name]}"
"fld_app_name" => "%{[fields][fld_app_name]}"
"fld_app_module" => "%{[fields][fld_app_module]}"
"fld_website_name" => "%{[fields][fld_website_name]}"
"fld_log_file_name" => "%{source}"
"fld_logformat" => "%{[fields][fld_logformat]}"
}
}
rabbitmq {
host => "queue.domain.com"
port => 5671
user => "q-reader"
password => "password"
queue => "web_log"
heartbeat => 30
durable => true
ssl => true
#ssl_certificate_path => "/etc/logstash/certs/server.p12"
#ssl_certificate_password => "password"
add_field => {
"fld_server_name" => "%{[fields][fld_server_name]}"
"fld_app_name" => "%{[fields][fld_app_name]}"
"fld_app_module" => "%{[fields][fld_app_module]}"
"fld_website_name" => "%{[fields][fld_website_name]}"
"fld_log_file_name" => "%{source}"
"fld_logformat" => "%{[fields][fld_logformat]}"
}
}
}
filter {
if [message] =~ "^#" {
drop {}
}
if [fld_logformat] == "logformat__iis_with_xrealip" {
grok {
match => ["message", "%{TIMESTAMP_ISO8601:log_timestamp} %{IP:serverIP} %{WORD:method} %{NOTSPACE:uriStem} %{NOTSPACE:uriQuery} %{NUMBER:port} %{NOTSPACE:username} %{IPORHOST:clientIP} %{NOTSPACE:userAgent} %{NOTSPACE:referer} %{NUMBER:response} %{NUMBER:subresponse} %{NUMBER:win32response} %{NUMBER:timetaken} %{NOTSPACE:xrealIP} %{NOTSPACE:xforwarderfor}"]
}
} else {
grok {
match => ["message", "%{TIMESTAMP_ISO8601:log_timestamp} %{IP:serverIP} %{WORD:method} %{NOTSPACE:uriStem} %{NOTSPACE:uriQuery} %{NUMBER:port} %{NOTSPACE:username} %{IPORHOST:clientIP} %{NOTSPACE:userAgent} %{NOTSPACE:referer} %{NUMBER:response} %{NUMBER:subresponse} %{NUMBER:win32response} %{NUMBER:timetaken}"]
}
}
date {
match => [ "log_timestamp", "YYYY-MM-dd HH:mm:ss" ]
timezone => "Etc/UTC"
remove_field => [ "log_timestamp", "@timestamp" ]
target => [ "log_timestamp2" ]
}
ruby {
code => "tstamp = event.get('log_timestamp2').to_i
event.set('logdatetime', Time.at(tstamp).strftime('%Y-%m-%d %H:%M:%S'))
event.set('logdate', Time.at(tstamp).strftime('%Y-%m-%d'))"
}
if [bytesSent] {
ruby {
code => "event['kilobytesSent'] = event['bytesSent'].to_i / 1024.0"
}
}
if [bytesReceived] {
ruby {
code => "event['kilobytesReceived'] = event['bytesReceived'].to_i / 1024.0"
}
}
ruby {
code => "event.set('clientRealIP', event.get('clientIP'))"
}
if [xrealIP] {
ruby {
code => "event.set('clientRealIP', event.get('xrealIP'))"
}
}
if [xforwarderfor] {
ruby {
code => "event.set('clientRealIP', event.get('xforwarderfor'))"
}
}
mutate {
convert => ["bytesSent", "integer"]
convert => ["bytesReceived", "integer"]
convert => ["timetaken", "integer"]
convert => ["port", "integer"]
add_field => {
"clientHostname" => "%{clientIP}"
}
}
useragent {
source=> "useragent"
prefix=> "browser"
}
kv {
source => "uriQuery"
prefix => "uriQuery__"
allow_duplicate_values => false
field_split => "&"
include_keys => [ "utm_medium", "utm_source", "utm_campaign", "utm_term", "utm_content", "yclid", "region" ]
}
mutate {
join => { "uriQuery__utm_source" => "," }
join => { "uriQuery__utm_medium" => "," }
join => { "uriQuery__utm_campaign" => "," }
join => { "uriQuery__utm_term" => "," }
join => { "uriQuery__utm_content" => "," }
join => { "uriQuery__yclid" => "," }
join => { "uriQuery__region" => "," }
}
}
output {
#stdout {codec => rubydebug}
clickhouse {
headers => ["Authorization", "Basic abcdsfks..."]
http_hosts => ["http://127.0.0.1:8123"]
save_dir => "/etc/logstash/tmp"
table => "log_web"
request_tolerance => 1
flush_size => 10000
idle_flush_time => 1
mutations => {
"fld_log_file_name" => "fld_log_file_name"
"fld_server_name" => "fld_server_name"
"fld_app_name" => "fld_app_name"
"fld_app_module" => "fld_app_module"
"fld_website_name" => "fld_website_name"
"logdatetime" => "logdatetime"
"logdate" => "logdate"
"serverIP" => "serverIP"
"method" => "method"
"uriStem" => "uriStem"
"uriQuery" => "uriQuery"
"port" => "port"
"username" => "username"
"clientIP" => "clientIP"
"clientRealIP" => "clientRealIP"
"userAgent" => "userAgent"
"referer" => "referer"
"response" => "response"
"subresponse" => "subresponse"
"win32response" => "win32response"
"timetaken" => "timetaken"
"uriQuery__utm_medium" => "uriQuery__utm_medium"
"uriQuery__utm_source" => "uriQuery__utm_source"
"uriQuery__utm_campaign" => "uriQuery__utm_campaign"
"uriQuery__utm_term" => "uriQuery__utm_term"
"uriQuery__utm_content" => "uriQuery__utm_content"
"uriQuery__yclid" => "uriQuery__yclid"
"uriQuery__region" => "uriQuery__region"
}
}
}
pipelines.yml
# This file is where you define your pipelines. You can define multiple.
# For more information on multiple pipelines, see the documentation:
# https://www.elastic.co/guide/en/logstash/current/multiple-pipelines.html
- pipeline.id: log_web__filebeat_clickhouse
path.config: "/etc/logstash/log_web__filebeat_clickhouse.conf"
เจเจฒเจฟเจ เจนเจพเจเจธ. เจฒเฉเจ เจธเจเฉเจฐเฉเจ
เจธเจพเจฐเฉ เจธเจฟเจธเจเจฎเจพเจ เจฒเจ เจฒเฉเจ เจเฉฑเจ เจธเจพเจฐเจฃเฉ เจตเจฟเฉฑเจ เจธเฉเจฐเฉฑเจเจฟเจ เจค เจเฉเจคเฉ เจเจพเจเจฆเฉ เจนเจจ (เจฒเฉเจ เจฆเฉ เจธเจผเฉเจฐเฉ เจตเจฟเฉฑเจ เจฆเฉเจเฉ)เฅค เจเจน เจฌเฉเจจเจคเฉเจเจ เจฌเจพเจฐเฉ เจเจพเจฃเจเจพเจฐเฉ เจจเฉเฉฐ เจธเจเฉเจฐ เจเจฐเจจ เจฒเจ เจคเจฟเจเจฐ เจเฉเจคเจพ เจเจฟเจ เจนเฉ: เจธเจพเจฐเฉ เจชเฉเจฐเจพเจฎเฉเจเจฐ เจตเฉฑเจ-เจตเฉฑเจ เจซเจพเจฐเจฎเฉเจเจพเจ เจฒเจ เจธเจฎเจพเจจ เจนเจจ, เจเจฆเจพเจนเจฐเจจ เจฒเจ IIS เจฒเฉเจ, เจ เจชเจพเจเฉ เจ เจคเฉ nginx เจฒเฉเจเฅค เจเจชเจฒเฉเจเฉเจธเจผเจจ เจฒเฉเจเจธ เจฒเจ, เจเจฟเจธ เจตเจฟเฉฑเจ, เจเจฆเจพเจนเจฐเจจ เจฒเจ, เจเจฒเจคเฉเจเจ, เจธเฉเจเจจเจพ เจธเฉฐเจฆเฉเจธเจผ, เจเฉเจคเจพเจตเจจเฉเจเจ เจจเฉเฉฐ เจฐเจฟเจเจพเจฐเจก เจเฉเจคเจพ เจเจฟเจ เจนเฉ, เจเฉฑเจ เจตเฉฑเจเจฐเฉ เจธเจพเจฐเจฃเฉ เจขเฉเจเจตเฉเจ เจฌเจฃเจคเจฐ เจฆเฉ เจจเจพเจฒ เจชเฉเจฐเจฆเจพเจจ เจเฉเจคเฉ เจเจพเจตเฉเจเฉ (เจตเจฐเจคเจฎเจพเจจ เจตเจฟเฉฑเจ เจกเจฟเจเจผเจพเจเจจ เจชเฉเจพเจ 'เจคเฉ)เฅค
เจเฉฑเจ เจธเจพเจฐเจฃเฉ เจจเฉเฉฐ เจกเจฟเจเจผเจพเจเจจ เจเจฐเจฆเฉ เจธเจฎเฉเจ, เจชเฉเจฐเจพเจเจฎเจฐเฉ เจเฉเฉฐเจเฉ (เจเจฟเจธ เจฆเฉเจเจฐเจพ เจธเจเฉเจฐเฉเจ เจฆเฉเจฐเจพเจจ เจกเฉเจเจพ เจจเฉเฉฐ เจเฉเจฐเจฎเจฌเฉฑเจง เจเฉเจคเจพ เจเจพเจตเฉเจเจพ) เจฌเจพเจฐเฉ เจซเฉเจธเจฒเจพ เจเจฐเจจเจพ เจฌเจนเฉเจค เจฎเจนเฉฑเจคเจตเจชเฉเจฐเจจ เจนเฉเฅค เจกเจพเจเจพ เจเฉฐเจชเจฐเฉเจธเจผเจจ เจ
เจคเฉ เจชเฉเฉฑเจเจเจฟเฉฑเจ เจฆเฉ เจเจคเฉ เจฆเฉ เจกเจฟเจเจฐเฉ เจเจธ 'เจคเฉ เจจเจฟเจฐเจญเจฐ เจเจฐเจฆเฉ เจนเฉ. เจธเจพเจกเฉ เจเจฆเจพเจนเจฐเจจ เจตเจฟเฉฑเจ, เจเฉเฉฐเจเฉ เจนเฉ
เจเจฐเจกเจฐ เจฆเฉเจเจฐเจพ (fld_app_name, fld_app_module, logdatetime)
เจญเจพเจต, เจธเจฟเจธเจเจฎ เจฆเฉ เจจเจพเจฎ เจฆเฉเจเจฐเจพ, เจธเจฟเจธเจเจฎ เจเฉฐเจชเฉเจจเฉเจเจ เจฆเจพ เจจเจพเจฎ เจ
เจคเฉ เจเจเจจเจพ เจฆเฉ เจฎเจฟเจคเฉเฅค เจชเจนเจฟเจฒเจพเจ เจธเจฎเจพเจเจฎ เจฆเฉ เจคเจฐเฉเจ เจเจ. เจเจธ เจจเฉเฉฐ เจเจเจฐเฉ เจธเจฅเจพเจจ 'เจคเฉ เจฒเจฟเจเจพเจฃ เจคเฉเจ เจฌเจพเจ
เจฆ, เจธเจตเจพเจฒเจพเจ เจจเฉ เจฒเจเจญเจ เจฆเฉเฉฑเจเจฃเฉ เจคเฉเจเจผเฉ เจจเจพเจฒ เจเฉฐเจฎ เจเจฐเจจเจพ เจธเจผเฉเจฐเฉ เจเจฐ เจฆเจฟเฉฑเจคเจพเฅค เจชเฉเจฐเจพเจเจฎเจฐเฉ เจเฉเฉฐเจเฉ เจจเฉเฉฐ เจฌเจฆเจฒเจฃ เจฒเจ เจธเจพเจฐเจฃเฉ เจจเฉเฉฐ เจฎเฉเฉ-เจฌเจฃเจพเจเจฃ เจ
เจคเฉ เจกเฉเจเจพ เจจเฉเฉฐ เจฎเฉเฉ-เจ
เฉฑเจชเจฒเฉเจก เจเจฐเจจ เจฆเฉ เจฒเฉเฉ เจนเฉเจตเฉเจเฉ เจคเจพเจ เจเฉ เจเจฒเจฟเจเจนเจพเจเจธ เจกเจฟเจธเจ 'เจคเฉ เจกเฉเจเจพ เจจเฉเฉฐ เจฎเฉเฉ-เจเฉเจฐเจฎเจฌเฉฑเจง เจเจฐ เจธเจเฉเฅค เจเจน เจเฉฑเจ เจฎเฉเจธเจผเจเจฒ เจเจชเจฐเฉเจธเจผเจจ เจนเฉ, เจเจธเจฒเจ เจเจน เจธเจฒเจพเจน เจฆเจฟเฉฑเจคเฉ เจเจพเจเจฆเฉ เจนเฉ เจเจฟ เจชเจนเจฟเจฒเจพเจ เจคเฉเจ เจงเจฟเจเจจ เจจเจพเจฒ เจธเฉเจเฉ เจเจฟ เจเจพเจเจเฉ เจเฉเฉฐเจเฉ เจตเจฟเฉฑเจ เจเฉ เจธเจผเจพเจฎเจฒ เจเฉเจคเจพ เจเจพเจฃเจพ เจเจพเจนเฉเจฆเจพ เจนเฉเฅค
เจเจน เจตเฉ เจจเฉเจ เจเฉเจคเจพ เจเจพเจฃเจพ เจเจพเจนเฉเจฆเจพ เจนเฉ เจเจฟ LowCardinality เจกเจพเจเจพ เจเจฟเจธเจฎ เจฎเฉเจเจพเจฌเจฒเจคเจจ เจนเจพเจฒเฉเจ เจธเฉฐเจธเจเจฐเจฃเจพเจ เจตเจฟเฉฑเจ เจชเฉเจฐเจเจ เจนเฉเจเจ เจนเฉเฅค เจเจธเจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเฉ เจธเจฎเฉเจ, เจเจนเจจเจพเจ เจเฉเจคเจฐเจพเจ เจฒเจ เจธเฉฐเจเฉเจเจฟเจค เจกเฉเจเจพ เจฆเจพ เจเจเจพเจฐ เจคเฉเจเจผเฉ เจจเจพเจฒ เจเจเจพ เจฆเจฟเฉฑเจคเจพ เจเจพเจเจฆเจพ เจนเฉ เจเจฟเจจเฉเจนเจพเจ เจฆเฉ เจฎเฉเฉฑเจเจคเจพ เจเฉฑเจ เจนเฉเฉฐเจฆเฉ เจนเฉ (เจเฉเจ เจตเจฟเจเจฒเจช)เฅค
เจ เจธเฉเจ เจตเจฐเจคเจฎเจพเจจ เจตเจฟเฉฑเจ เจธเฉฐเจธเจเจฐเจฃ 19.6 เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐ เจฐเจนเฉ เจนเจพเจ เจ เจคเฉ เจ เจธเฉเจ เจจเจตเฉเจจเจคเจฎ เจธเฉฐเจธเจเจฐเจฃ เจจเฉเฉฐ เจ เจชเจกเฉเจ เจเจฐเจจ เจฆเฉ เจเฉเจธเจผเจฟเจธเจผ เจเจฐเจจ เจฆเฉ เจฏเฉเจเจจเจพ เจฌเจฃเจพ เจฐเจนเฉ เจนเจพเจเฅค เจเจนเจจเจพเจ เจเฉเจฒ เจ เจกเฉเจชเจเจฟเจต เจเฉเจฐเฉเจจเฉเจฒเฉเจฐเจฟเจเฉ, เจธเจเจฟเฉฑเจชเจฟเฉฐเจ เจธเฉเจเจเจพเจเจ เจ เจคเฉ เจกเจฌเจฒเจกเฉเจฒเจเจพ เจเฉเจกเฉเจ เจตเจฐเจเฉเจเจ เจธเจผเจพเจจเจฆเจพเจฐ เจตเจฟเจธเจผเฉเจธเจผเจคเจพเจตเจพเจ เจนเจจ, เจเจฆเจพเจนเจฐเจจ เจฒเจเฅค
เจฎเฉเจฒ เจฐเฉเจช เจตเจฟเฉฑเจ, เจเฉฐเจธเจเจพเจฒเฉเจธเจผเจจ เจฆเฉเจฐเจพเจจ เจธเฉฐเจฐเจเจจเจพ เจฒเจพเจเจฟเฉฐเจ เจชเฉฑเจงเจฐ เจจเฉเฉฐ เจเจฐเฉเจธ เจเจฐเจจ เจฒเจ เจธเฉเฉฑเจ เจเฉเจคเจพ เจเจฟเจ เจนเฉเฅค เจฒเฉเจเจธ เจจเฉเฉฐ เจเฉเฉฐเจฎเจพเจเจ เจ เจคเฉ เจเจฐเจเจพเจเจต เจเฉเจคเจพ เจเจพเจเจฆเจพ เจนเฉ, เจชเจฐ เจเจธเฉ เจธเจฎเฉเจ เจเจน เจเฉฑเจ เจเฉเจเจพเจฌเจพเจเจ เจคเฉฑเจ เจซเฉเจฒเจฆเฉ เจนเจจเฅค เจเฉ เจเฉเจ เจฒเฉเฉ เจจเจนเฉเจ เจนเฉ, เจคเจพเจ เจคเฉเจธเฉเจ เจเฉเจคเจพเจตเจจเฉ เจฆเฉ เจชเฉฑเจงเจฐ เจจเฉเฉฐ เจธเฉเฉฑเจ เจเจฐ เจธเจเจฆเฉ เจนเฉ, เจคเจพเจ เจฒเจพเจ เจฆเจพ เจเจเจพเจฐ เจคเฉเจเจผเฉ เจจเจพเจฒ เจเจ เจเจพเจตเฉเจเจพเฅค เจฒเจพเจเจฟเฉฐเจ เจธเฉเจเจฟเฉฐเจเจพเจ config.xml เจซเจพเจเจฒ เจตเจฟเฉฑเจ เจฆเจฟเฉฑเจคเฉเจเจ เจเจเจเจ เจนเจจ:
<!-- Possible levels: https://github.com/pocoproject/poco/blob/develop/Foundation/include/Poco/Logger. h#L105 -->
<level>warning</level>
เจเฉเจ เจฒเจพเจญเจฆเจพเจเจ เจนเฉเจเจฎ
ะะพัะบะพะปัะบั ะพัะธะณะธะฝะฐะปัะฝัะต ะฟะฐะบะตัั ัััะฐะฝะพะฒะบะธ ัะพะฑะธัะฐัััั ะฟะพ Debian, ัะพ ะดะปั ะดััะณะธั
ะฒะตััะธะน Linux ะฝะตะพะฑั
ะพะดะธะผะพ ะธัะฟะพะปัะทะพะฒะฐัั ะฟะฐะบะตัั ัะพะฑัะฐะฝะฝัะต ะบะพะผะฟะฐะฝะธะตะน Altinity.
ะะพั ะฟะพ ััะพะน ัััะปะบะต ะตััั ะธะฝััััะบัะธะธ ั ัััะปะบะฐะผะธ ะฝะฐ ะธั
ัะตะฟะพะทะธัะพัะธะน: https://www.altinity.com/blog/2017/12/18/logstash-with-clickhouse
sudo yum search clickhouse-server
sudo yum install clickhouse-server.noarch
1. ะฟัะพะฒะตัะบะฐ ััะฐัััะฐ
sudo systemctl status clickhouse-server
2. ะพััะฐะฝะพะฒะบะฐ ัะตัะฒะตัะฐ
sudo systemctl stop clickhouse-server
3. ะทะฐะฟััะบ ัะตัะฒะตัะฐ
sudo systemctl start clickhouse-server
ะะฐะฟััะบ ะดะปั ะฒัะฟะพะปะฝะตะฝะธั ะทะฐะฟัะพัะพะฒ ะฒ ะผะฝะพะณะพัััะพัะฝะพะผ ัะตะถะธะผะต (ะฒัะฟะพะปะฝะตะฝะธะต ะฟะพัะปะต ะทะฝะฐะบะฐ ";")
clickhouse-client --multiline
clickhouse-client --multiline --host 127.0.0.1 --password pa55w0rd
clickhouse-client --multiline --host 127.0.0.1 --port 9440 --secure --user default --password pa55w0rd
ะะปะฐะณะธะฝ ะบะปะธะบะปะฐัะทะฐ ะดะปั ะปะพะณััะตั ะฒ ัะปััะฐะต ะพัะธะฑะบะธ ะฒ ะพะดะฝะพะน ัััะพะบะต ัะพั
ัะฐะฝัะตั ะฒัั ะฟะฐัะบั ะฒ ัะฐะนะป /tmp/log_web_failed.json
ะะพะถะฝะพ ะฒัััะฝัั ะธัะฟัะฐะฒะธัั ััะพั ัะฐะนะป ะธ ะฟะพะฟัะพะฑะพะฒะฐัั ะทะฐะปะธัั ะตะณะพ ะฒ ะะ ะฒัััะฝัั:
clickhouse-client --host 127.0.0.1 --password password --query="INSERT INTO log_web FORMAT JSONEachRow" < /tmp/log_web_failed__fixed.json
sudo mv /etc/logstash/tmp/log_web_failed.json /etc/logstash/tmp/log_web_failed__fixed.json
sudo chown user_dev /etc/logstash/tmp/log_web_failed__fixed.json
sudo clickhouse-client --host 127.0.0.1 --password password --query="INSERT INTO log_web FORMAT JSONEachRow" < /etc/logstash/tmp/log_web_failed__fixed.json
sudo mv /etc/logstash/tmp/log_web_failed__fixed.json /etc/logstash/tmp/log_web_failed__fixed_.json
ะฒัั
ะพะด ะธะท ะบะพะผะฐะฝะดะฝะพะน ัััะพะบะธ
quit;
## ะะฐัััะพะนะบะฐ TLS
https://www.altinity.com/blog/2019/3/5/clickhouse-networking-part-2
openssl s_client -connect log.domain.com:9440 < /dev/null
เจฒเฉเจเจธเจเฉเจธเจผเฅค FileBeat เจคเฉเจ RabbitMQ เจเจคเจพเจฐ เจคเฉฑเจ เจฐเจพเจเจเจฐ เจฒเฉเจ เจเจฐเฉ
เจเจน เจญเจพเจ FileBeat เจคเฉเจ RabbitMQ เจเจคเจพเจฐ เจตเจฟเฉฑเจ เจเจเจฃ เจตเจพเจฒเฉ เจฒเฉเจเจพเจ เจจเฉเฉฐ เจฐเฉเจ เจเจฐเจจ เจฒเจ เจตเจฐเจคเจฟเจ เจเจพเจเจฆเจพ เจนเฉเฅค เจเฉฑเจฅเฉ เจฆเฉ เจจเฉเจเจคเฉ เจนเจจ:
- เจฌเจฆเจเจฟเจธเจฎเจคเฉ เจจเจพเจฒ, FileBeat เจเฉเจฒ RabbitMQ เจจเฉเฉฐ เจธเจฟเฉฑเจงเจพ เจฒเจฟเจเจฃ เจฒเจ เจเฉเจ เจเจเจเจชเฉเฉฑเจ เจชเจฒเฉฑเจเจเจจ เจจเจนเฉเจ เจนเฉเฅค เจ เจคเฉ เจ เจเจฟเจนเฉ เจเจพเจฐเจเจเฉเจธเจผเจฒเจคเจพ, เจเจนเจจเจพเจ เจฆเฉ เจเจฟเจฅเจฌ 'เจคเฉ เจชเฉเจธเจ เจฆเฉเจเจฐเจพ เจจเจฟเจฐเจฃเจพ เจเจฐเจจเจพ, เจฒเจพเจเฉ เจเจฐเจจ เจฒเจ เจฏเฉเจเจจเจพเจฌเฉฑเจง เจจเจนเฉเจ เจนเฉ. เจเจพเจซเจเจพ เจฒเจ เจเฉฑเจ เจชเจฒเฉฑเจเจเจจ เจนเฉ, เจชเจฐ เจเฉเจ เจเจพเจฐเจจเจพเจ เจเจฐเจเฉ เจ เจธเฉเจ เจเจธเจจเฉเฉฐ เจเฉเจฆ เจจเจนเฉเจ เจตเจฐเจค เจธเจเจฆเฉเฅค
- DMZ เจตเจฟเฉฑเจ เจฒเฉเจ เจเจเฉฑเจ เฉ เจเจฐเจจ เจฒเจ เจฒเฉเฉเจพเจ เจนเจจเฅค เจเจนเจจเจพเจ เจฆเฉ เจเจงเจพเจฐ 'เจคเฉ, เจฒเฉเจเจธ เจจเฉเฉฐ เจชเจนเจฟเจฒเจพเจ เจเจคเจพเจฐเจฌเฉฑเจง เจเฉเจคเจพ เจเจพเจฃเจพ เจเจพเจนเฉเจฆเจพ เจนเฉ เจ เจคเฉ เจซเจฟเจฐ LogStash เจเจคเจพเจฐ เจคเฉเจ เจฌเจพเจนเจฐเจฒเฉ เจฐเจฟเจเจพเจฐเจกเจพเจ เจจเฉเฉฐ เจชเฉเฉเจนเจฆเจพ เจนเฉเฅค
เจเจธ เจฒเจ, เจเจพเจธ เจคเฉเจฐ 'เจคเฉ DMZ เจตเจฟเฉฑเจ เจธเจฅเจฟเจค เจธเจฐเจตเจฐเจพเจ เจฆเฉ เจฎเจพเจฎเจฒเฉ เจฒเจ, เจ เจเจฟเจนเฉ เจฅเฉเฉเฉ เจเจฟเจนเฉ เจเฉเฉฐเจเจฒเจฆเจพเจฐ เจธเจเฉเจฎ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจจเจพ เจเจผเจฐเฉเจฐเฉ เจนเฉ. เจเฉฑเจ เจเจฆเจพเจนเจฐเจจ เจธเฉฐเจฐเจเจจเจพ เจเจธ เจคเจฐเฉเจนเจพเจ เจฆเจฟเจเจพเจ เจฆเจฟเฉฐเจฆเฉ เจนเฉ:
iis_w3c_logs__filebeat_rabbitmq.conf
input {
beats {
port => 5044
type => 'iis'
ssl => true
ssl_certificate_authorities => ["/etc/pki/tls/certs/app/ca.pem", "/etc/pki/tls/certs/app/ca-issuing.pem"]
ssl_certificate => "/etc/pki/tls/certs/app/queue.domain.com.cer"
ssl_key => "/etc/pki/tls/certs/app/queue.domain.com-pkcs8.key"
ssl_verify_mode => "peer"
}
}
output {
#stdout {codec => rubydebug}
rabbitmq {
host => "127.0.0.1"
port => 5672
exchange => "monitor.direct"
exchange_type => "direct"
key => "%{[fields][fld_app_name]}"
user => "q-writer"
password => "password"
ssl => false
}
}
RabbitMQ. เจธเฉเจจเฉเจนเจพ เจเจคเจพเจฐ
เจเจน เจเฉฐเจชเฉเจจเฉเจเจ DMZ เจตเจฟเฉฑเจ เจฒเฉเจ เจเจเจเจฐเฉเจเจ เจจเฉเฉฐ เจฌเจซเจฐ เจเจฐเจจ เจฒเจ เจตเจฐเจคเจฟเจ เจเจพเจเจฆเจพ เจนเฉเฅค เจฐเจฟเจเจพเจฐเจกเจฟเฉฐเจ Filebeat โ LogStash เจฒเจฟเฉฐเจ เจฐเจพเจนเฉเจ เจเฉเจคเฉ เจเจพเจเจฆเฉ เจนเฉเฅค เจฐเฉเจกเจฟเฉฐเจ DMZ เจฆเฉ เจฌเจพเจนเจฐ LogStash เจฆเฉเจเจฐเจพ เจเฉเจคเฉ เจเจพเจเจฆเฉ เจนเฉเฅค RabbitMQ เจฆเฉเจเจฐเจพ เจเฉฐเจฎ เจเจฐเจฆเฉ เจธเจฎเฉเจ, เจชเฉเจฐเจคเฉ เจธเจเจฟเฉฐเจ เจฒเจเจญเจ 4 เจนเจเจผเจพเจฐ เจธเฉฐเจฆเฉเจธเจผเจพเจ เจฆเฉ เจชเฉเจฐเจเจฟเจฐเจฟเจ เจเฉเจคเฉ เจเจพเจเจฆเฉ เจนเฉเฅค
เจธเฉเจจเฉเจนเจพ เจฐเฉเจเจฟเฉฐเจ เจธเจฟเจธเจเจฎ เจจเจพเจฎ เจฆเฉเจเจฐเจพ เจเฉเจเจซเจฟเจเจฐ เจเฉเจคเฉ เจเจพเจเจฆเฉ เจนเฉ, เจ เจฐเจฅเจพเจค, เจซเจพเจเจฒเจฌเฉเจ เจเฉเจเจซเจฟเจเจฐเฉเจธเจผเจจ เจกเฉเจเจพ เจฆเฉ เจ เจงเจพเจฐ เจคเฉเฅค เจธเจพเจฐเฉ เจธเฉเจจเฉเจนเฉ เจเฉฑเจ เจเจคเจพเจฐ เจตเจฟเฉฑเจ เจเจพเจเจฆเฉ เจนเจจเฅค เจเฉเจเจฐ เจเจฟเจธเฉ เจเจพเจฐเจจ เจเจฐเจเฉ เจเจคเจพเจฐเจฌเฉฑเจง เจธเฉเจตเจพ เจฌเฉฐเจฆ เจเจฐ เจฆเจฟเฉฑเจคเฉ เจเจพเจเจฆเฉ เจนเฉ, เจคเจพเจ เจเจน เจธเฉเจจเฉเจนเจพ เจเฉเจเจเจฃ เจฆเฉ เจ เจเจตเจพเจ เจจเจนเฉเจ เจเจฐเฉเจเจพ: FileBeats เจจเฉเฉฐ เจเจจเฉเจเจธเจผเจจ เจฆเฉเจเจ เจคเจฐเฉเฉฑเจเฉเจเจ เจชเฉเจฐเจพเจชเจค เจนเฉเจฃเจเฉเจเจ เจ เจคเฉ เจ เจธเจฅเจพเจ เจคเฉเจฐ 'เจคเฉ เจญเฉเจเจฃเจพ เจฌเฉฐเจฆ เจนเฉ เจเจพเจตเฉเจเจพเฅค เจ เจคเฉ LogStash, เจเฉ เจเจฟ เจเจคเจพเจฐ เจคเฉเจ เจชเฉเฉเจนเจฆเจพ เจนเฉ, เจจเฉเฉฐ เจตเฉ เจจเฉเฉฑเจเจตเจฐเจ เจคเจฐเฉเจเฉเจเจ เจชเฉเจฐเจพเจชเจค เจนเฉเจฃเจเฉเจเจ เจ เจคเฉ เจเจจเฉเจเจธเจผเจจ เจฆเฉ เจฐเฉเจธเจเฉเจฐ เจนเฉเจฃ เจฆเฉ เจเจกเฉเจ เจนเฉเจตเฉเจเฉเฅค เจเจธ เจธเจฅเจฟเจคเฉ เจตเจฟเฉฑเจ, เจฌเฉเจธเจผเจ, เจกเฉเจเจพ เจนเฉเจฃ เจกเฉเจเจพเจฌเฉเจธ เจตเจฟเฉฑเจ เจจเจนเฉเจ เจฒเจฟเจเจฟเจ เจเจพเจตเฉเจเจพ.
เจเจคเจพเจฐเจพเจ เจฌเจฃเจพเจเจฃ เจ เจคเฉ เจธเฉฐเจฐเจเจฟเจค เจเจฐเจจ เจฒเจ เจนเฉเจ เจพเจ เจฆเจฟเฉฑเจคเฉเจเจ เจนเจฆเจพเจเจคเจพเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเฉเจคเฉ เจเจพเจเจฆเฉ เจนเฉ:
sudo /usr/local/bin/rabbitmqadmin/rabbitmqadmin declare exchange --vhost=/ name=monitor.direct type=direct sudo /usr/local/bin/rabbitmqadmin/rabbitmqadmin declare queue --vhost=/ name=web_log durable=true
sudo /usr/local/bin/rabbitmqadmin/rabbitmqadmin --vhost="/" declare binding source="monitor.direct" destination_type="queue" destination="web_log" routing_key="site1.domain.ru"
sudo /usr/local/bin/rabbitmqadmin/rabbitmqadmin --vhost="/" declare binding source="monitor.direct" destination_type="queue" destination="web_log" routing_key="site2.domain.ru"
เจเฉเจฐเจพเจซเจพเจจเจพ. เจกเฉเจธเจผเจฌเฉเจฐเจก
เจเจน เจเฉฐเจชเฉเจจเฉเจเจ เจจเจฟเจเจฐเจพเจจเฉ เจกเฉเจเจพ เจฆเฉ เจเจฒเจชเจจเจพ เจเจฐเจจ เจฒเจ เจตเจฐเจคเจฟเจ เจเจพเจเจฆเจพ เจนเฉเฅค เจเจธ เจธเจฅเจฟเจคเฉ เจตเจฟเฉฑเจ, เจคเฉเจนเจพเจจเฉเฉฐ Grafana 4.6+ เจชเจฒเฉฑเจเจเจจ เจฒเจ เจเจฒเจฟเจเจนเจพเจเจธ เจกเฉเจเจพเจธเฉเจฐเจธ เจจเฉเฉฐ เจธเจฅเจพเจชเจฟเจค เจเจฐเจจ เจฆเฉ เจฒเฉเฉ เจนเฉเฅค เจธเจพเจจเฉเฉฐ เจกเฉเจธเจผเจฌเฉเจฐเจก 'เจคเฉ SQL เจซเจฟเจฒเจเจฐเจพเจ เจฆเฉ เจชเฉเจฐเฉเจธเฉเจธเจฟเฉฐเจ เจฆเฉ เจเฉเจธเจผเจฒเจคเจพ เจจเฉเฉฐ เจฌเจฟเจนเจคเจฐ เจฌเจฃเจพเจเจฃ เจฒเจ เจเจธ เจจเฉเฉฐ เจฅเฉเฉเฉเจนเจพ เจเจฟเจนเจพ เจฌเจฆเจฒเจฃเจพ เจชเจฟเจเฅค
เจเจฆเจพเจนเจฐเจจ เจฒเจ, เจ เจธเฉเจ เจตเฉเจฐเฉเจเจฌเจฒเจพเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเฉ เจนเจพเจ, เจ เจคเฉ เจเฉเจเจฐ เจเจน เจซเจฟเจฒเจเจฐ เจเฉเจคเจฐ เจตเจฟเฉฑเจ เจจเจฟเจฐเจฆเจฟเจธเจผเจ เจจเจนเฉเจ เจนเจจ, เจคเจพเจ เจ เจธเฉเจ เจเจพเจนเฉเฉฐเจฆเฉ เจนเจพเจ เจเจฟ เจซเจพเจฐเจฎ เจฆเฉ WHERE เจตเจฟเฉฑเจ เจเฉฑเจ เจธเจฅเจฟเจคเฉ เจชเฉเจฆเจพ เจจเจพ เจเฉเจคเฉ เจเจพเจตเฉ ( uriStem = "AND uriStem != ")เฅค เจเจธ เจธเจฅเจฟเจคเฉ เจตเจฟเฉฑเจ, เจเจฒเจฟเจเจนเจพเจเจธ uriStem เจเจพเจฒเจฎ เจจเฉเฉฐ เจชเฉเฉเจนเฉเจเจพเฅค เจเจธ เจฒเจ, เจ เจธเฉเจ เจตเฉฑเจ-เจตเฉฑเจ เจตเจฟเจเจฒเจชเจพเจ เจฆเฉ เจเฉเจธเจผเจฟเจธเจผ เจเฉเจคเฉ เจ เจคเฉ เจ เฉฐเจค เจตเจฟเฉฑเจ เจเจพเจฒเจฎ เจฆเจพ เจเจผเจฟเจเจฐ เจเฉเจคเฉ เจฌเจฟเจจเจพเจ, เจเจพเจฒเฉ เจฎเฉเฉฑเจฒ เจฆเฉ เจธเจฅเจฟเจคเฉ เจตเจฟเฉฑเจ 1 เจตเจพเจชเจธ เจเจฐเจจ เจฒเจ เจชเจฒเฉฑเจเจเจจ ($valueIfEmpty เจฎเฉเจเจฐเฉ) เจจเฉเฉฐ เจซเจฟเจเจธ เจเฉเจคเจพเฅค
เจ เจคเฉ เจนเฉเจฃ เจคเฉเจธเฉเจ เจเฉเจฐเจพเจซ เจฒเจ เจเจธ เจชเฉเฉฑเจเจเจฟเฉฑเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐ เจธเจเจฆเฉ เจนเฉ
$columns(response, count(*) c) from $table where $adhoc
and $valueIfEmpty($fld_app_name, 1, fld_app_name = '$fld_app_name')
and $valueIfEmpty($fld_app_module, 1, fld_app_module = '$fld_app_module') and $valueIfEmpty($fld_server_name, 1, fld_server_name = '$fld_server_name') and $valueIfEmpty($uriStem, 1, uriStem like '%$uriStem%')
and $valueIfEmpty($clientRealIP, 1, clientRealIP = '$clientRealIP')
เจเฉ เจเจฟ เจเจธ เจคเจฐเฉเจนเจพเจ SQL เจตเจฟเฉฑเจ เจฌเจฆเจฒเจฟเจ เจเจพเจเจฆเจพ เจนเฉ (เจจเฉเจ เจเจฐเฉ เจเจฟ เจเจพเจฒเฉ uriStem เจเฉเจคเจฐ เจเฉเจตเจฒ 1 เจตเจฟเฉฑเจ เจฌเจฆเจฒเฉ เจเจพเจเจฆเฉ เจนเจจ)
SELECT
t,
groupArray((response, c)) AS groupArr
FROM (
SELECT
(intDiv(toUInt32(logdatetime), 60) * 60) * 1000 AS t, response,
count(*) AS c FROM default.log_web
WHERE (logdate >= toDate(1565061982)) AND (logdatetime >= toDateTime(1565061982)) AND 1 AND (fld_app_name = 'site1.domain.ru') AND (fld_app_module = 'web') AND 1 AND 1 AND 1
GROUP BY
t, response
ORDER BY
t ASC,
response ASC
)
GROUP BY t ORDER BY t ASC
เจธเจฟเฉฑเจเจพ
เจเจฒเจฟเจเจนเจพเจเจธ เจกเฉเจเจพเจฌเฉเจธ เจฆเฉ เจฆเจฟเฉฑเจ เจฎเจพเจฐเจเฉเจ เจตเจฟเฉฑเจ เจเฉฑเจ เจฎเจนเฉฑเจคเจตเจชเฉเจฐเจจ เจเจเจจเจพ เจฌเจฃ เจเจ เจนเฉ. เจเจน เจเจฒเจชเจจเจพ เจเจฐเจจเจพ เจเจเจพ เจธเฉ เจเจฟ เจเฉฑเจ เจฎเฉเจนเจค เจตเจฟเฉฑเจ, เจชเฉเจฐเฉ เจคเจฐเฉเจนเจพเจ เจฎเฉเจซเจค, เจ เจธเฉเจ เจตเฉฑเจกเฉ เจกเฉเจเจพ เจจเจพเจฒ เจเฉฐเจฎ เจเจฐเจจ เจฒเจ เจเฉฑเจ เจธเจผเจเจคเฉเจธเจผเจพเจฒเฉ เจ เจคเฉ เจตเจฟเจนเจพเจฐเจ เจธเจพเจงเจจ เจจเจพเจฒ เจฒเฉเจธ เจธเฉเฅค เจฌเฉเจธเจผเฉฑเจ, เจเจฟเจตเฉเจ เจเจฟ เจฒเฉเฉเจพเจ เจตเจงเจฆเฉเจเจ เจนเจจ (เจเจฆเจพเจนเจฐเจฃ เจตเจเฉเจ, เจเจ เจธเจฐเจตเจฐเจพเจ เจฒเจ เจธเจผเจพเจฐเจกเจฟเฉฐเจ เจ เจคเฉ เจชเฉเจฐเจคเฉเจเฉเจฐเจฟเจคเฉ), เจธเจเฉเจฎ เจนเฉเจฐ เจเฉเฉฐเจเจฒเจฆเจพเจฐ เจฌเจฃ เจเจพเจตเฉเจเฉเฅค เจชเจฐ เจชเจนเจฟเจฒเฉ เจชเฉเจฐเจญเจพเจต เจฆเฉ เจ เจจเฉเจธเจพเจฐ, เจเจธ เจกเฉเจเจพเจฌเฉเจธ เจจเจพเจฒ เจเฉฐเจฎ เจเจฐเจจเจพ เจฌเจนเฉเจค เจธเฉเจนเจพเจตเจฃเจพ เจนเฉ. เจเจน เจธเจชเฉฑเจธเจผเจ เจนเฉ เจเจฟ เจเจคเจชเจพเจฆ "เจฒเฉเจเจพเจ เจฒเจ" เจฌเจฃเจพเจเจ เจเจฟเจ เจนเฉเฅค
ElasticSearch เจฆเฉ เจคเฉเจฒเจจเจพ เจตเจฟเฉฑเจ, เจธเจผเฉเจฐเฉเจเจคเฉ เจ เจจเฉเจฎเจพเจจเจพเจ เจฆเฉ เจ เจจเฉเจธเจพเจฐ, เจธเจเฉเจฐ เจเจฐเจจ เจ เจคเฉ เจชเฉเจฐเฉเจธเฉเจธเจฟเฉฐเจ เจฒเฉเจ เจฆเฉ เจฒเจพเจเจค เจชเฉฐเจ เจคเฉเจ เจฆเจธ เจเฉเจฃเจพ เจเฉฑเจ เจเจพเจเจฆเฉ เจนเฉเฅค เจฆเฉเจเฉ เจธเจผเจฌเจฆเจพเจ เจตเจฟเฉฑเจ, เจเฉเจเจฐ เจกเฉเจเจพ เจฆเฉ เจฎเฉเจเฉเจฆเจพ เจฎเจพเจคเจฐเจพ เจฒเจ เจธเจพเจจเฉเฉฐ เจเจ เจฎเจธเจผเฉเจจเจพเจ เจฆเจพ เจเฉฑเจ เจเจฒเฉฑเจธเจเจฐ เจธเจฅเจพเจชเจค เจเจฐเจจเจพ เจชเจเจเจพ, เจคเจพเจ เจเจฒเจฟเจเจนเจพเจเจธ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเฉ เจธเจฎเฉเจ เจธเจพเจจเฉเฉฐ เจธเจฟเจฐเจซ เจเฉฑเจ เจเฉฑเจ-เจชเจพเจตเจฐ เจฎเจธเจผเฉเจจ เจฆเฉ เจฒเฉเฉ เจนเฉเฅค เจนเจพเจ, เจฌเฉเจธเจผเฉฑเจ, ElasticSearch เจตเจฟเฉฑเจ เจเจจ-เจกเจฟเจธเจ เจกเฉเจเจพ เจเฉฐเจชเจฐเฉเจธเจผเจจ เจตเจฟเจงเฉ เจ เจคเฉ เจนเฉเจฐ เจตเจฟเจธเจผเฉเจธเจผเจคเจพเจตเจพเจ เจตเฉ เจนเจจ เจเฉ เจธเจฐเฉเจค เจฆเฉ เจเจชเจค เจจเฉเฉฐ เจฎเจนเฉฑเจคเจตเจชเฉเจฐเจจ เจคเฉเจฐ 'เจคเฉ เจเจเจพ เจธเจเจฆเฉเจเจ เจนเจจ, เจชเจฐ เจเจฒเจฟเจเจนเจพเจเจธ เจฆเฉ เจฎเฉเจเจพเจฌเจฒเฉ เจเจธ เจฒเจ เจตเจงเฉเจฐเฉ เจฒเจพเจเจคเจพเจ เจฆเฉ เจฒเฉเฉ เจชเจตเฉเจเฉเฅค
เจธเจพเจกเฉ เจตเฉฑเจฒเฉเจ เจเจฟเจธเฉ เจตเฉ เจตเจฟเจธเจผเฉเจธเจผ เจ เจจเฉเจเฉเจฒเจคเจพ เจฆเฉ เจฌเจฟเจจเจพเจ, เจกเจฟเจซเฉเจฒเจ เจธเฉเจเจฟเฉฐเจเจพเจ เจฆเฉ เจจเจพเจฒ, เจกเฉเจเจพเจฌเฉเจธ เจคเฉเจ เจกเฉเจเจพ เจฒเฉเจก เจเจฐเจจเจพ เจ เจคเฉ เจกเจพเจเจพ เจชเฉเจฐเจพเจชเจค เจเจฐเจจเจพ เจธเจผเจพเจจเจฆเจพเจฐ เจเจคเฉ เจจเจพเจฒ เจเฉฐเจฎ เจเจฐเจฆเจพ เจนเฉเฅค เจธเจพเจกเฉ เจเฉเจฒ เจ เจเฉ เจเจผเจฟเจเจฆเจพ เจกเฉเจเจพ เจจเจนเฉเจ เจนเฉ (เจฒเจเจญเจ 200 เจฎเจฟเจฒเฉเจ เจจ เจฐเจฟเจเจพเจฐเจก), เจชเจฐ เจธเจฐเจตเจฐ เจเฉเจฆ เจเจฎเจเจผเฉเจฐ เจนเฉเฅค เจ เจธเฉเจ เจญเจตเจฟเฉฑเจ เจตเจฟเฉฑเจ เจเจธ เจเฉเจฒ เจจเฉเฉฐ เจนเฉเจฐ เจเจฆเฉเจธเจผเจพเจ เจฒเจ เจตเจฐเจค เจธเจเจฆเฉ เจนเจพเจ เจเฉ เจฒเฉเจ เจธเจเฉเจฐ เจเจฐเจจ เจจเจพเจฒ เจธเจฌเฉฐเจงเจค เจจเจนเฉเจ เจนเจจเฅค เจเจฆเจพเจนเจฐเจจ เจฒเจ, เจเจเจก-เจเฉ-เจเจเจก เจตเจฟเจธเจผเจฒเฉเจธเจผเจฃ เจฒเจ, เจธเฉเจฐเฉฑเจเจฟเจ เจฆเฉ เจเฉเจคเจฐ เจตเจฟเฉฑเจ, เจฎเจธเจผเฉเจจ เจธเจฟเจเจฒเจพเจเฅค
เจ เฉฐเจค เจตเจฟเฉฑเจ, เจซเจผเจพเจเจฆเฉ เจ เจคเฉ เจจเฉเจเจธเจพเจจ เจฌเจพเจฐเฉ เจเฉฑเจ เจเฉเจเจพ เจเจฟเจนเจพ.
ะะธะฝััั
- เจตเฉฑเจกเฉ เจฌเฉเจเจพเจ เจตเจฟเฉฑเจ เจฐเจฟเจเจพเจฐเจก เจฒเฉเจก เจเฉเจคเจพ เจเจพ เจฐเจฟเจนเจพ เจนเฉเฅค เจเฉฑเจ เจชเจพเจธเฉ, เจเจน เจเฉฑเจ เจตเจฟเจธเจผเฉเจธเจผเจคเจพ เจนเฉ, เจชเจฐ เจคเฉเจนเจพเจจเฉเฉฐ เจ เจเฉ เจตเฉ เจฐเจฟเจเจพเจฐเจกเจพเจ เจจเฉเฉฐ เจฌเจซเจฐ เจเจฐเจจ เจฒเจ เจตเจพเจงเฉ เจญเจพเจเจพเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจจเฉ เจชเจตเฉเจเฉเฅค เจเจน เจเฉฐเจฎ เจนเจฎเฉเจธเจผเจพ เจธเจงเจพเจฐเจจ เจจเจนเฉเจ เจนเฉเฉฐเจฆเจพ, เจชเจฐ เจซเจฟเจฐ เจตเฉ เจนเฉฑเจฒ เจเฉเจคเจพ เจเจพ เจธเจเจฆเจพ เจนเฉ. เจ เจคเฉ เจฎเฉเจ เจธเจเฉเจฎ เจจเฉเฉฐ เจธเจฐเจฒ เจฌเจฃเจพเจเจฃเจพ เจเจพเจนเจพเจเจเจพเฅค
- เจเฉเจ เจตเจฟเจฆเฉเจธเจผเฉ เจเจพเจฐเจเจธเจผเฉเจฒเจคเจพ เจเจพเจ เจจเจตเฉเจเจ เจตเจฟเจธเจผเฉเจธเจผเจคเจพเจตเจพเจ เจ เจเจธเจฐ เจจเจตเฉเจ เจธเฉฐเจธเจเจฐเจฃเจพเจ เจตเจฟเฉฑเจ เจเฉเฉฑเจ เจเจพเจเจฆเฉเจเจ เจนเจจเฅค เจเจน เจเจฟเฉฐเจคเจพเจตเจพเจ เจชเฉเจฆเจพ เจเจฐเจฆเจพ เจนเฉ, เจเฉฑเจ เจจเจตเฉเจ เจธเฉฐเจธเจเจฐเจฃ เจตเจฟเฉฑเจ เจ เจชเจเฉเจฐเฉเจก เจเจฐเจจ เจฆเฉ เจเฉฑเจเจพ เจจเฉเฉฐ เจเจเจพเจเจเจฆเจพ เจนเฉเฅค เจเจฆเจพเจนเจฐเจจ เจฒเจ, เจเจพเจซเจเจพ เจเฉเจฌเจฒ เจเฉฐเจเจฃ เจเฉฑเจ เจฌเจนเฉเจค เจนเฉ เจเจชเจฏเฉเจเฉ เจตเจฟเจธเจผเฉเจธเจผเจคเจพ เจนเฉ เจเฉ เจคเฉเจนเจพเจจเฉเฉฐ เจเจชเจคเจเจพเจฐเจพเจ เจจเฉเฉฐ เจฒเจพเจเฉ เจเฉเจคเฉ เจฌเจฟเจจเจพเจ, เจเจพเจซเจเจพ เจฆเฉเจเจ เจเจเจจเจพเจตเจพเจ เจจเฉเฉฐ เจธเจฟเฉฑเจงเฉ เจคเฉเจฐ 'เจคเฉ เจชเฉเฉเจนเจจ เจฆเฉ เจเจเจฟเจ เจฆเจฟเฉฐเจฆเฉ เจนเฉเฅค เจชเจฐ เจเจฟเจฅเจฌ 'เจคเฉ เจฎเฉเฉฑเจฆเจฟเจเจ เจฆเฉ เจธเฉฐเจเจฟเจ เจฆเฉเจเจฐเจพ เจจเจฟเจฐเจฃเจพ เจเจฐเจฆเฉ เจนเฉเจ, เจ เจธเฉเจ เจ เจเฉ เจตเฉ เจเจคเจชเจพเจฆเจจ เจตเจฟเฉฑเจ เจเจธ เจเฉฐเจเจฃ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจจ เจคเฉเจ เจธเฉเจเฉเจค เจนเจพเจ. เจนเจพเจฒเจพเจเจเจฟ, เจเฉ เจคเฉเจธเฉเจ เจชเจพเจธเฉ เจตเฉฑเจฒ เจ เจเจพเจจเจ เจ เฉฐเจฆเฉเจฒเจจ เจจเจนเฉเจ เจเจฐเจฆเฉ เจ เจคเฉ เจฌเฉเจจเจฟเจเจฆเฉ เจเจพเจฐเจเจธเจผเฉเจฒเจคเจพ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเฉ เจนเฉ, เจคเจพเจ เจเจน เจธเจฅเจฟเจฐเจคเจพ เจจเจพเจฒ เจเฉฐเจฎ เจเจฐเจฆเจพ เจนเฉ.
ะะปััั
- เจนเฉเจฒเฉ เจจเจนเฉเจ เจนเฉเฉฐเจฆเจพเฅค
- เจเฉฑเจ เจฆเจพเจเจฒเจพ เจฅเฉเจฐเฉเจธเจผเจนเฉเจฒเจกเฅค
- เจเจชเจจ-เจธเจฐเฉเจคเฅค
- เจฎเฉเจซเจผเจค.
- เจธเจเฉเจฒเฉเจฌเจฒ (เจธเจผเฉเจ เจฐเจฟเฉฐเจ/เจฌเจพเจเจธ เจคเฉเจ เจฌเจพเจนเจฐ เจฆเฉ เจชเฉเจฐเจคเฉเจเฉเจฐเจฟเจคเฉ)
- เจธเฉฐเจเจพเจฐ เจฎเฉฐเจคเจฐเจพเจฒเฉ เจฆเฉเจเจฐเจพ เจธเจฟเจซเจพเจฐเจธเจผ เจเฉเจคเฉ เจเจ เจฐเฉเจธเฉ เจธเฉเจซเจเจตเฉเจ เจฐ เจฆเฉ เจฐเจเจฟเจธเจเจฐ เจตเจฟเฉฑเจ เจธเจผเจพเจฎเจฒ เจเฉเจคเจพ เจเจฟเจ เจนเฉเฅค
- เจฏเจพเจเจกเฉเจเจธ เจคเฉเจ เจ เจงเจฟเจเจพเจฐเจค เจธเจนเจพเจเจคเจพ เจฆเฉ เจเจชเจฒเจฌเจงเจคเจพเฅค
เจธเจฐเฉเจค: www.habr.com