เดฒเต‹เด•เดฟเดฏเดฟเตฝ เดจเดฟเดจเตเดจเต เดฒเต‹เด—เตเด•เตพ เดถเต‡เด–เดฐเดฟเด•เตเด•เตเดจเตเดจเต

เดฒเต‹เด•เดฟเดฏเดฟเตฝ เดจเดฟเดจเตเดจเต เดฒเต‹เด—เตเด•เตพ เดถเต‡เด–เดฐเดฟเด•เตเด•เตเดจเตเดจเต

Badoo-เตฝ เดžเด™เตเด™เตพ เดชเตเดคเดฟเดฏ เดธเดพเด™เตเด•เต‡เดคเดฟเด•เดตเดฟเดฆเตเดฏเด•เตพ เดจเดฟเดฐเดจเตเดคเดฐเด‚ เดจเดฟเดฐเต€เด•เตเดทเดฟเด•เตเด•เตเด•เดฏเตเด‚ เด…เดต เดžเด™เตเด™เดณเตเดŸเต† เดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเดฟเตฝ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดฃเดฎเต‹ เดตเต‡เดฃเตเดŸเดฏเต‹ เดŽเดจเตเดจเต เดตเดฟเดฒเดฏเดฟเดฐเตเดคเตเดคเตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต. เดˆ เดชเด เดจเด™เตเด™เดณเดฟเตฝ เด’เดจเตเดจเต เดธเดฎเต‚เดนเดตเตเดฎเดพเดฏเดฟ เดชเด™เตเด•เดฟเดŸเดพเตป เดžเด™เตเด™เตพ เด†เด—เตเดฐเดนเดฟเด•เตเด•เตเดจเตเดจเต. เดฒเต‹เด—เต เด…เด—เตเดฐเด—เต‡เดทเตป เดธเดฟเดธเตเดฑเตเดฑเดฎเดพเดฏ เดฒเต‹เด•เดฟเด•เตเด•เดพเดฃเต เด‡เดคเต เดธเดฎเตผเดชเตเดชเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเต.

เดฒเต‹เด—เตเด•เตพ เดธเด‚เดญเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเด‚ เด•เดพเดฃเตเดจเตเดจเดคเดฟเดจเตเดฎเตเดณเตเดณ เด’เดฐเต เดชเดฐเดฟเดนเดพเดฐเดฎเดพเดฃเต เดฒเต‹เด•เดฟ, เด…เดต เดตเดฟเดถเด•เดฒเดจเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเตเด‚ เดชเตเดฐเต‹เดฎเดฟเดคเตเดฏเต‚เดธเดฟเดจเต เดกเดพเดฑเตเดฑ เด…เดฏเดฏเตโ€Œเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดฎเตเดณเตเดณ เด’เดฐเต เดตเดดเด•เตเด•เดฎเตเดณเตเดณ เดธเด‚เดตเดฟเดงเดพเดจเดตเตเด‚ เดˆ เดธเตเดฑเตเดฑเดพเด•เตเด•เต เดจเตฝเด•เตเดจเตเดจเต. เดฎเต†เดฏเต เดฎเดพเดธเดคเตเดคเดฟเตฝ, เดฎเดฑเตเดฑเตŠเดฐเต เด…เดชเตโ€Œเดกเต‡เดฑเตเดฑเต เดชเตเดฑเดคเตเดคเดฟเดฑเด™เตเด™เดฟ, เด…เดคเต เดธเตเดฐเดทเตโ€ŒเดŸเดพเด•เตเด•เตพ เดธเดœเต€เดตเดฎเดพเดฏเดฟ เดชเตเดฐเดฎเต‹เดŸเตเดŸเต เดšเต†เดฏเตเดฏเตเดจเตเดจเต. เดฒเต‹เด•เดฟเด•เตเด•เต เดŽเดจเตเดคเตเดšเต†เดฏเตเดฏเดพเตป เด•เดดเดฟเดฏเตเด‚, เด…เดคเต เดŽเดจเตเดคเต เด…เดตเดธเดฐเด™เตเด™เตพ เดจเตฝเด•เตเดจเตเดจเต, เดžเด™เตเด™เตพ เด‡เดชเตเดชเต‹เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจ เดธเตเดฑเตเดฑเดพเด•เตเด•เดพเดฏ ELK เดจเต เดชเด•เดฐเดฎเดพเดฏเดฟ เด…เดคเดฟเดจเต เดŽเดคเตเดฐเดคเตเดคเต‹เดณเด‚ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เดพเดจเดพเด•เตเด‚ เดŽเดจเตเดจเดคเดฟเตฝ เดžเด™เตเด™เตพเด•เตเด•เต เดคเดพเตฝเดชเตเดชเดฐเตเดฏเดฎเตเดฃเตเดŸเดพเดฏเดฟเดฐเตเดจเตเดจเต.

เดŽเดจเตเดคเดพเดฃเต เดฒเต‹เด•เดฟ

เด’เดฐเต เดธเดฎเตเดชเต‚เตผเดฃเตเดฃ เดฒเต‹เด—เดฟเด‚เด—เต เดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเดฟเดจเดพเดฏเตเดณเตเดณ เด’เดฐเต เด•เต‚เดŸเตเดŸเด‚ เด˜เดŸเด•เด™เตเด™เดณเดพเดฃเต เด—เตเดฐเดพเดซเดพเดจ เดฒเต‹เด•เตเด•เดฟ. เดธเดฎเดพเดจเดฎเดพเดฏ เดฎเดฑเตเดฑเต เดธเดฟเดธเตเดฑเตเดฑเด™เตเด™เดณเดฟเตฝ เดจเดฟเดจเตเดจเต เดตเตเดฏเดคเตเดฏเดธเตเดคเดฎเดพเดฏเดฟ, เดฒเต‹เด—เต เดฎเต†เดฑเตเดฑเดพเดกเดพเดฑเตเดฑ - เดฒเต‡เดฌเดฒเตเด•เตพ (เดชเตเดฐเต‹เดฎเดฟเดคเตเดฏเต‚เดธเดฟเตฝ เด‰เดณเตเดณเดคเต เดชเต‹เดฒเต†) เดฎเดพเดคเตเดฐเด‚ เดธเต‚เดšเดฟเด•เดฏเดฟเดฒเดพเด•เตเด•เตเด•เดฏเต†เดจเตเดจ เด†เดถเดฏเดคเตเดคเต† เด…เดŸเดฟเดธเตเดฅเดพเดจเดฎเดพเด•เตเด•เดฟเดฏเตเดณเตเดณเดคเดพเดฃเต เดฒเต‹เด•เตเด•เดฟ.

เดนเต‹เด‚ เดชเต‡เดœเต, เดธเดพเดฎเต‚เดนเดฟเด•เด‚

เดฒเต‹เด•เดฟ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดŽเดจเตเดคเตเดšเต†เดฏเตเดฏเดพเตป เด•เดดเดฟเดฏเตเด‚ เดŽเดจเตเดจเดคเดฟเดฒเต‡เด•เตเด•เต เด•เดŸเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เดฎเตเดฎเตเดชเต, "เดฎเต†เดฑเตเดฑเดพเดกเดพเดฑเตเดฑ เดฎเดพเดคเตเดฐเด‚ เดธเต‚เดšเดฟเด•เดฏเดฟเดฒเดพเด•เตเด•เตเด•เดฏเต†เดจเตเดจ เด†เดถเดฏเด‚" เดŽเดจเตเดคเดพเดฃเต เด…เตผเดคเตเดฅเดฎเดพเด•เตเด•เตเดจเตเดจเดคเต†เดจเตเดจเต เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เดพเตป เดžเดพเตป เด†เด—เตเดฐเดนเดฟเด•เตเด•เตเดจเตเดจเต. nginx เดฒเต‹เด—เดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เด’เดฐเต เดตเดฐเดฟเดฏเตเดŸเต† เด‰เดฆเดพเดนเดฐเดฃเด‚ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต, Elasticsearch เดชเต‹เดฒเต†เดฏเตเดณเตเดณ เดชเดฐเดฎเตเดชเดฐเดพเด—เดค เดชเดฐเดฟเดนเดพเดฐเด™เตเด™เดณเดฟเดฒเต† เดฒเต‹เด•เดฟ เดธเดฎเต€เดชเดจเดตเตเด‚ เด‡เตปเดกเต†เด•เตเดธเดฟเด‚เด—เต เดธเดฎเต€เดชเดจเดตเตเด‚ เดคเดพเดฐเดคเดฎเตเดฏเด‚ เดšเต†เดฏเตเดฏเดพเด‚:

172.19.0.4 - - [01/Jun/2020:12:05:03 +0000] "GET /purchase?user_id=75146478&item_id=34234 HTTP/1.1" 500 8102 "-" "Stub_Bot/3.0" "0.001"

เดชเดฐเดฎเตเดชเดฐเดพเด—เดค เดธเดฟเดธเตเดฑเตเดฑเด™เตเด™เตพ, เดจเดฟเดฐเดตเดงเดฟ เดคเดจเดคเดพเดฏ user_id, item_id เดฎเต‚เดฒเตเดฏเด™เตเด™เดณเตเดณเตเดณ เดซเต€เตฝเดกเตเด•เตพ เด‰เตพเดชเตเดชเต†เดŸเต† เดฎเตเดดเตเดตเตป เดตเดฐเดฟเดฏเตเด‚ เดชเดพเดดเตโ€Œเดธเต เดšเต†เดฏเตเดฏเตเดจเตเดจเต, เด•เต‚เดŸเดพเดคเต† เดŽเดฒเตเดฒเดพเด‚ เดตเดฒเดฟเดฏ เดธเต‚เดšเดฟเด•เด•เดณเดฟเตฝ เดธเด‚เดญเดฐเดฟเด•เตเด•เตเดจเตเดจเต. เดฎเดฟเด•เตเด•เดตเดพเดฑเตเด‚ เดŽเดฒเตเดฒเดพ เดกเดพเดฑเตเดฑเดฏเตเด‚ เดธเต‚เดšเดฟเด•เดฏเดฟเดฒเดพเดฏเดคเดฟเดจเดพเตฝ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดธเด™เตเด•เต€เตผเดฃเตเดฃเดฎเดพเดฏ เด…เดจเตเดตเต‡เดทเดฃเด™เตเด™เตพ เดตเต‡เด—เดคเตเดคเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเด‚ เดŽเดจเตเดจเดคเดพเดฃเต เดˆ เดธเดฎเต€เดชเดจเดคเตเดคเดฟเดจเตเดฑเต† เดชเตเดฐเดฏเต‹เดœเดจเด‚. เดŽเดจเตเดจเดพเตฝ เดจเดฟเด™เตเด™เตพ เด‡เดคเดฟเดจเต เดชเดฃเด‚ เดจเตฝเด•เดฃเด‚, เด‡เตปเดกเต†เด•เตเดธเต เดตเดฒเตเดคเดพเดฏเดฟ เดฎเดพเดฑเตเดจเตเดจเต, เด…เดคเต เดฎเต†เดฎเตเดฎเดฑเดฟ เด†เดตเดถเตเดฏเด•เดคเด•เดณเดฟเดฒเต‡เด•เตเด•เต เดตเดฟเดตเตผเดคเตเดคเดจเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต. เดคเตฝเดซเดฒเดฎเดพเดฏเดฟ, เดฒเต‹เด—เตเด•เดณเตเดŸเต† เดซเตเตพ-เดŸเต†เด•เตเดธเตเดฑเตเดฑเต เดธเต‚เดšเดฟเด•, เดฒเต‹เด—เตเด•เดณเตเดฎเดพเดฏเดฟ เดคเดจเตเดจเต† เดตเดฒเตเดชเตเดชเดคเตเดคเดฟเตฝ เดคเดพเดฐเดคเดฎเตเดฏเดชเตเดชเต†เดŸเตเดคเตเดคเดพเดตเตเดจเตเดจเดคเดพเดฃเต. เด…เดคเดฟเดฒเต‚เดŸเต† เดตเต‡เด—เดคเตเดคเดฟเตฝ เดคเดฟเดฐเดฏเตเดจเตเดจเดคเดฟเดจเต, เดธเต‚เดšเดฟเด• เดฎเต†เดฎเตเดฎเดฑเดฟเดฏเดฟเดฒเต‡เด•เตเด•เต เดฒเต‹เดกเต เดšเต†เดฏเตเดฏเดฃเด‚. เด•เต‚เดŸเตเดคเตฝ เดฒเต‹เด—เตเด•เตพ, เดธเต‚เดšเดฟเด• เด…เดคเดฟเดตเต‡เด—เด‚ เดตเตผเดฆเตเดงเดฟเด•เตเด•เตเด•เดฏเตเด‚ เด…เดคเต เด•เต‚เดŸเตเดคเตฝ เดฎเต†เดฎเตเดฎเดฑเดฟ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต.

เดฒเต‹เด•เตเด•เดฟ เดธเดฎเต€เดชเดจเดคเตเดคเดฟเดจเต เด†เดตเดถเตเดฏเดฎเดพเดฏ เดกเดพเดฑเตเดฑ เดฎเดพเดคเตเดฐเด‚ เดธเตโ€ŒเดŸเตเดฐเดฟเด‚เด—เดฟเตฝ เดจเดฟเดจเตเดจเต เดŽเด•เตโ€Œเดธเตโ€ŒเดŸเตเดฐเดพเด•เตโ€Œเดฑเตเดฑเตเดšเต†เดฏเตเดฏเต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต, เด…เดตเดฏเตเดŸเต† เดฎเต‚เดฒเตเดฏเด™เตเด™เดณเตเดŸเต† เดŽเดฃเตเดฃเด‚ เดšเต†เดฑเตเดคเดพเดฃเต. เด‡เดคเตเดตเดดเดฟ เดจเดฎเตเด•เตเด•เต เด’เดฐเต เดšเต†เดฑเดฟเดฏ เดธเต‚เดšเดฟเด• เดฒเดญเดฟเด•เตเด•เตเด‚, เด•เต‚เดŸเดพเดคเต† เดธเดฎเดฏเดตเตเด‚ เดธเต‚เดšเดฟเด•เดฏเดฟเดฒเดพเด•เตเด•เดฟเดฏ เดซเต€เตฝเดกเตเด•เดณเตเด‚ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดกเดพเดฑเตเดฑ เดซเดฟเตฝเดŸเตเดŸเตผ เดšเต†เดฏเตโ€Œเดคเต เดคเดฟเดฐเดฏเดพเดจเตเด‚ เดคเตเดŸเตผเดจเตเดจเต เดธเดพเดงเดพเดฐเดฃ เดŽเด•เตโ€Œเดธเตโ€Œเดชเตเดฐเดทเดจเตเด•เดณเต‹ เดธเดฌเตโ€Œเดธเตโ€ŒเดŸเตเดฐเดฟเด‚เด—เต เดคเดฟเดฐเดฏเดฒเตเด•เดณเต‹ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดฌเดพเด•เตเด•เดฟเดฏเตเดณเตเดณเดต เดธเตโ€Œเด•เดพเตป เดšเต†เดฏเตโ€Œเดคเต เดคเดฟเดฐเดฏเดพเดจเตเด‚ เด•เดดเดฟเดฏเตเด‚. เดˆ เดชเตเดฐเด•เตเดฐเดฟเดฏ เดเดฑเตเดฑเดตเตเด‚ เดตเต‡เด—เดคเดฏเต‡เดฑเดฟเดฏเดคเดพเดฏเดฟ เดคเต‹เดจเตเดจเตเดจเตเดจเดฟเดฒเตเดฒ, เดชเด•เตเดทเต‡ เดฒเต‹เด•เตเด•เดฟ เด…เดญเตเดฏเตผเดคเตเดฅเดจเดฏเต† เดชเดฒ เดญเดพเด—เด™เตเด™เดณเดพเดฏเดฟ เดตเดฟเดญเดœเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดธเดฎเดพเดจเตเดคเดฐเดฎเดพเดฏเดฟ เด…เดต เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เตเด•เดฏเตเด‚ เด’เดฐเต เดšเต†เดฑเดฟเดฏ เดธเดฎเดฏเดคเตเดคเดฟเดจเตเดณเตเดณเดฟเตฝ เดตเดฒเดฟเดฏ เด…เดณเดตเดฟเดฒเตเดณเตเดณ เดกเดพเดฑเตเดฑ เดชเตเดฐเต‹เดธเดธเตเดธเต เดšเต†เดฏเตเดฏเตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต. เด…เดตเดฏเดฟเดฒเต† เดทเดพเตผเดกเตเด•เดณเตเดŸเต†เดฏเตเด‚ เดธเดฎเดพเดจเตเดคเดฐ เด…เดญเตเดฏเตผเดคเตเดฅเดจเด•เดณเตเดŸเต†เดฏเตเด‚ เดŽเดฃเตเดฃเด‚ เด•เตเดฐเดฎเต€เด•เดฐเดฟเด•เตเด•เดพเดตเตเดจเตเดจเดคเดพเดฃเต; เด…เดคเดฟเดจเดพเตฝ, เด“เดฐเต‹ เดฏเต‚เดฃเดฟเดฑเตเดฑเต เดธเดฎเดฏเดคเตเดคเดฟเดจเตเด‚ เดชเตเดฐเต‹เดธเดธเตเดธเต เดšเต†เดฏเตเดฏเดพเตป เด•เดดเดฟเดฏเตเดจเตเดจ เดกเดพเดฑเตเดฑเดฏเตเดŸเต† เด…เดณเดตเต เดจเตฝเด•เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เดตเดฟเดญเดตเด™เตเด™เดณเตเดŸเต† เด…เดณเดตเดฟเดจเต† เด†เดถเตเดฐเดฏเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต.

เด’เดฐเต เดตเดฒเดฟเดฏ เดซเดพเดธเตเดฑเตเดฑเต เด‡เตปเดกเด•เตเดธเตเด‚ เด’เดฐเต เดšเต†เดฑเดฟเดฏ เดธเดฎเดพเดจเตเดคเดฐ เดฌเตเดฐเต‚เดŸเตเดŸเต-เดซเต‹เดดเตเดธเต เด‡เตปเดกเด•เตเดธเตเด‚ เดคเดฎเตเดฎเดฟเดฒเตเดณเตเดณ เดˆ เดตเตเดฏเดพเดชเดพเดฐเด‚ เดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเดฟเดจเตเดฑเต† เดตเดฟเดฒ เดจเดฟเดฏเดจเตเดคเตเดฐเดฟเด•เตเด•เดพเตป เดฒเต‹เด•เดฟเดฏเต† เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเต. เดจเดฟเด™เตเด™เดณเตเดŸเต† เด†เดตเดถเตเดฏเด™เตเด™เตพเด•เตเด•เดจเตเดธเดฐเดฟเดšเตเดšเต เด‡เดคเต เด…เดฏเดตเดพเดฏเดฟ เด•เตเดฐเดฎเต€เด•เดฐเดฟเด•เตเด•เดพเดจเตเด‚ เดตเดฟเด•เดธเดฟเดชเตเดชเดฟเด•เตเด•เดพเดจเตเด‚ เด•เดดเดฟเดฏเตเด‚.

เดฒเต‹เด•เตเด•เดฟ เดธเตเดฑเตเดฑเดพเด•เตเด•เดฟเตฝ เดฎเต‚เดจเตเดจเต เด˜เดŸเด•เด™เตเด™เตพ เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต: เดชเตเดฐเต‹เด‚เดŸเต†เดฏเดฟเตฝ, เดฒเต‹เด•เตเด•เดฟ, เด—เตเดฐเดพเดซเดพเดจ. เดชเตเดฐเต‹เด‚เดŸเต†เดฏเดฟเตฝ เดฒเต‹เด—เตเด•เตพ เดถเต‡เด–เดฐเดฟเด•เตเด•เตเด•เดฏเตเด‚ เด…เดต เดชเตเดฐเต‹เดธเดธเตเดธเต เดšเต†เดฏเตเดฏเตเด•เดฏเตเด‚ เดฒเต‹เด•เดฟเดฏเดฟเดฒเต‡เด•เตเด•เต เด…เดฏเดฏเตเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต. เดฒเต‹เด•เดฟ เด…เดตเดฐเต† เดธเต‚เด•เตเดทเดฟเด•เตเด•เตเดจเตเดจเต. เด—เตเดฐเดพเดซเดพเดจเดฏเตเด•เตเด•เต เดฒเต‹เด•เดฟเดฏเดฟเตฝ เดจเดฟเดจเตเดจเต เดกเดพเดฑเตเดฑ เด…เดญเตเดฏเตผเดคเตเดฅเดฟเด•เตเด•เดพเดจเตเด‚ เด…เดคเต เด•เดพเดฃเดฟเด•เตเด•เดพเดจเตเด‚ เด•เดดเดฟเดฏเตเด‚. เดชเตŠเดคเตเดตเต‡, เดฒเต‹เด—เตเด•เตพ เดธเด‚เดญเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเด‚ เด…เดตเดฏเดฟเดฒเต‚เดŸเต† เดคเดฟเดฐเดฏเตเดจเตเดจเดคเดฟเดจเตเด‚ เดฎเดพเดคเตเดฐเดฎเดฒเตเดฒ เดฒเต‹เด•เดฟ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเด‚. เดชเตเดฐเต‹เดฎเดฟเดคเตเดฏเต‚เดธเต เดตเดดเดฟ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด‡เตปเด•เดฎเดฟเด‚เด—เต เดกเดพเดฑเตเดฑ เดชเตเดฐเต‹เดธเดธเตเดธเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเตเด‚ เดตเดฟเดถเด•เดฒเดจเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเตเด‚ เดฎเตเดดเตเดตเตป เดธเตเดฑเตเดฑเดพเด•เตเด•เตเด‚ เดฎเดฟเด•เดšเตเดš เด…เดตเดธเดฐเด™เตเด™เตพ เดจเตฝเด•เตเดจเตเดจเต.
เด‡เตปเดธเตเดฑเตเดฑเดฒเต‡เดทเตป เดชเตเดฐเด•เตเดฐเดฟเดฏเดฏเตเดŸเต† เด’เดฐเต เดตเดฟเดตเดฐเดฃเด‚ เด•เดฃเตเดŸเต†เดคเตเดคเดพเด‚ เด‡เดตเดฟเดŸเต†.

เดฒเต‹เด—เต เดคเดฟเดฐเดฏเตฝ

เด—เตเดฐเดพเดซเดพเดจ - เดŽเด•เตเดธเตเดชเตเดฒเต‹เดฑเตผ เดŽเดจเตเดจ เดชเตเดฐเดคเตเดฏเต‡เด• เด‡เดจเตเดฑเตผเดซเต‡เดธเดฟเตฝ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดฒเต‹เด—เตเด•เตพ เดคเดฟเดฐเดฏเดพเตป เด•เดดเดฟเดฏเตเด‚. เด…เดจเตเดตเต‡เดทเดฃเด™เตเด™เตพ LogQL เดญเดพเดทเดฏเดพเดฃเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดคเต, เด‡เดคเต Prometheus เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจ PromQL-เดจเต เดธเดฎเดพเดจเดฎเดพเดฃเต. เดคเดคเตเดตเดคเตเดคเดฟเตฝ, เด‡เดคเต เด’เดฐเต เดตเดฟเดคเดฐเดฃเด‚ เดšเต†เดฏเตเดค grep เด†เดฏเดฟ เด•เดฃเด•เตเด•เดพเด•เตเด•เดพเด‚.

เดคเดฟเดฐเดฏเตฝ เด‡เดจเตเดฑเตผเดซเต‡เดธเต เด‡เดคเตเดชเต‹เดฒเต† เด•เดพเดฃเดชเตเดชเต†เดŸเตเดจเตเดจเต:

เดฒเต‹เด•เดฟเดฏเดฟเตฝ เดจเดฟเดจเตเดจเต เดฒเต‹เด—เตเด•เตพ เดถเต‡เด–เดฐเดฟเด•เตเด•เตเดจเตเดจเต

เดšเต‹เดฆเตเดฏเด‚ เดคเดจเตเดจเต† เดฐเดฃเตเดŸเต เดญเดพเด—เด™เตเด™เตพ เด‰เตพเด•เตเด•เตŠเดณเตเดณเตเดจเตเดจเต: เดธเต†เดฒเด•เตเดŸเดฑเตเด‚ เดซเดฟเตฝเดŸเตเดŸเดฑเตเด‚. เดฒเต‹เด—เตเด•เดณเดฟเดฒเต‡เด•เตเด•เต เด…เดธเตˆเตป เดšเต†เดฏเตโ€Œเดคเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เด‡เตปเดกเต†เด•เตโ€Œเดธเต เดšเต†เดฏเตโ€Œเดค เดฎเต†เดฑเตเดฑเดพเดกเดพเดฑเตเดฑ (เดฒเต‡เดฌเดฒเตเด•เตพ) เดชเตเดฐเด•เดพเดฐเดฎเตเดณเตเดณ เดคเดฟเดฐเดฏเดฒเดพเดฃเต เดธเต†เดฒเด•เตเดŸเตผ, เด•เต‚เดŸเดพเดคเต† เดธเต†เดฒเด•เตเดŸเตผ เดจเดฟเตผเดตเดšเดฟเดšเตเดš เดฑเต†เด•เตเด•เต‹เตผเดกเตเด•เตพ เดซเดฟเตฝเดŸเตเดŸเตผ เดšเต†เดฏเตเดฏเตเดจเตเดจ เด’เดฐเต เดคเดฟเดฐเดฏเตฝ เดธเตโ€ŒเดŸเตเดฐเดฟเด‚เด—เต‹ เดฑเต€เดœเด•เตโ€Œเดธเตโ€Œเดชเดฟเดฏเต‹ เด†เดฃเต เดซเดฟเตฝเดŸเตเดŸเตผ. เดจเตฝเด•เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเตฝ: เดšเตเดฐเตเดฃเตเดŸ เดฌเตเดฐเดพเด•เตเด•เดฑเตเดฑเตเด•เดณเดฟเตฝ - เดธเต†เดฒเด•เตเดŸเตผ, เดถเต‡เดทเดฎเตเดณเตเดณ เดŽเดฒเตเดฒเดพเด‚ - เดซเดฟเตฝเดŸเตเดŸเตผ.

{image_name="nginx.promtail.test"} |= "index"

เดฒเต‹เด•เดฟ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจ เดฐเต€เดคเดฟ เด•เดพเดฐเดฃเด‚, เด’เดฐเต เดธเต†เดฒเด•เตเดŸเตผ เด‡เดฒเตเดฒเดพเดคเต† เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด…เดญเตเดฏเตผเดคเตเดฅเดจเด•เตพ เดจเดŸเดคเตเดคเดพเตป เด•เดดเดฟเดฏเดฟเดฒเตเดฒ, เดŽเดจเตเดจเดพเตฝ เดฒเต‡เดฌเดฒเตเด•เตพ เดเด•เดชเด•เตเดทเต€เดฏเดฎเดพเดฏเดฟ เดœเดจเดฑเดฟเด•เต เด†เด•เตเด•เดพเด‚.

เดšเตเดฐเตเดฃเตเดŸ เดฌเตเดฐเต‡เดธเตเด•เดณเดฟเดฒเต† เดฎเต‚เดฒเตเดฏเดคเตเดคเดฟเดจเตเดฑเต† เดชเตเดฐเดงเดพเดจ เดฎเต‚เดฒเตเดฏเดฎเดพเดฃเต เดธเต†เดฒเด•เตเดŸเตผ. =, != เด“เดชเตเดชเดฑเต‡เดฑเตเดฑเตผเดฎเดพเตผ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดฑเต†เด—เตเดฒเตผ เดŽเด•เตโ€Œเดธเตโ€Œเดชเตเดฐเดทเดจเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดธเต†เดฒเด•เตเดŸเดฑเตเด•เดณเต† เดธเด‚เดฏเต‹เดœเดฟเดชเตเดชเดฟเดšเตเดšเต เดตเตเดฏเดคเตเดฏเดธเตเดค เดคเดฟเดฐเดฏเตฝ เดตเตเดฏเดตเดธเตเดฅเด•เตพ เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เดพเด‚:

{instance=~"kafka-[23]",name!="kafka-dev"} 
// ะะฐะนะดั‘ั‚ ะปะพะณะธ ั ะปะตะนะฑะปะพะผ instance, ะธะผะตัŽั‰ะธะต ะทะฝะฐั‡ะตะฝะธะต kafka-2, kafka-3, ะธ ะธัะบะปัŽั‡ะธั‚ dev 

เดธเต†เดฒเด•เตเดŸเตผเด•เตเด•เต เดฒเดญเดฟเดšเตเดš เดŽเดฒเตเดฒเดพ เดกเดพเดฑเตเดฑเดฏเตเด‚ เดซเดฟเตฝเดŸเตเดŸเตผ เดšเต†เดฏเตเดฏเตเดจเตเดจ เด’เดฐเต เดตเดพเดšเด•เด‚ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ regexp เด†เดฃเต เดซเดฟเตฝเดŸเตเดŸเตผ.

เดฎเต†เดŸเตเดฐเดฟเด•เตเดธเต เดฎเต‹เดกเดฟเตฝ เดฒเดญเดฟเดšเตเดš เดกเดพเดฑเตเดฑเดฏเต† เด…เดŸเดฟเดธเตเดฅเดพเดจเดฎเดพเด•เตเด•เดฟ เด…เดกเต-เดนเต‹เด•เตเด•เต เด—เตเดฐเดพเดซเตเด•เตพ เดจเต‡เดŸเตเดจเตเดจเดคเต เดธเดพเดงเตเดฏเดฎเดพเดฃเต. เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดธเต‚เดšเดฟเด• เดธเตเดŸเตเดฐเดฟเด‚เด—เต เด…เดŸเด™เตเด™เตเดจเตเดจ เด’เดฐเต เดŽเตปเดŸเตเดฐเดฟเดฏเตเดŸเต† nginx เดฒเต‹เด—เตเด•เดณเดฟเตฝ เดธเด‚เดญเดตเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดฑเต† เด†เดตเตƒเดคเตเดคเดฟ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด•เดฃเตเดŸเต†เดคเตเดคเดพเดจเดพเด•เตเด‚:

เดฒเต‹เด•เดฟเดฏเดฟเตฝ เดจเดฟเดจเตเดจเต เดฒเต‹เด—เตเด•เตพ เดถเต‡เด–เดฐเดฟเด•เตเด•เตเดจเตเดจเต

เดธเดตเดฟเดถเต‡เดทเดคเด•เดณเตเดŸเต† เดชเต‚เตผเดฃเตเดฃเดฎเดพเดฏ เดตเดฟเดตเดฐเดฃเด‚ เดกเต‹เด•เตเดฏเตเดฎเต†เดจเตเดฑเต‡เดทเดจเดฟเตฝ เด•เดพเดฃเดพเด‚ LogQL.

เดฒเต‹เด—เต เดชเดพเดดเตเดธเดฟเด‚เด—เต

เดฒเต‹เด—เตเด•เตพ เดถเต‡เด–เดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เดจเดฟเดฐเดตเดงเดฟ เดฎเดพเตผเด—เด™เตเด™เดณเตเดฃเตเดŸเต:

  • เดฒเต‹เด—เตเด•เตพ เดถเต‡เด–เดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดธเตเดฑเตเดฑเดพเด•เตเด•เดฟเดจเตเดฑเต† เดธเตเดฑเตเดฑเดพเตปเดกเต‡เตผเดกเต เด˜เดŸเด•เดฎเดพเดฏ เดชเตเดฐเต‹เด‚เดŸเต†เดฏเดฟเดฒเดฟเดจเตเดฑเต† เดธเดนเดพเดฏเดคเตเดคเต‹เดŸเต†.
  • เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจ เดกเต‹เด•เตเด•เตผ เด•เดฃเตเดŸเต†เดฏเตโ€Œเดจเดฑเดฟเตฝ เดจเดฟเดจเตเดจเต เดจเต‡เดฐเดฟเดŸเตเดŸเต เดฒเต‹เด•เดฟ เดกเต‹เด•เตเด•เตผ เดฒเต‹เด—เดฟเด‚เด—เต เดกเตเดฐเตˆเดตเตผ.
  • เดฒเต‹เด•เดฟเดฏเดฟเดฒเต‡เด•เตเด•เต เดกเดพเดฑเตเดฑ เด…เดฏเดฏเตโ€Œเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเดจเตเดจ Fluentd เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ Fluent Bit เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด•. เดชเตเดฐเต‹เด‚เดŸเต†เดฏเดฟเดฒเดฟเตฝ เดจเดฟเดจเตเดจเต เดตเตเดฏเดคเตเดฏเดธเตเดคเดฎเดพเดฏเดฟ, เด…เดตเตผเด•เตเด•เต เดเดคเดพเดฃเตเดŸเต เดเดคเต เดคเดฐเดคเตเดคเดฟเดฒเตเดณเตเดณ เดฒเต‹เด—เดฟเดจเตเด‚ เดฑเต†เดกเดฟเดฎเต†เดฏเตเดกเต เดชเดพเดดเตโ€Œเดธเดฑเตเด•เตพ เด‰เดฃเตเดŸเต เด•เต‚เดŸเดพเดคเต† เดฎเตพเดŸเตเดŸเดฟเดฒเตˆเตป เดฒเต‹เด—เตเด•เดณเตเด‚ เด•เตˆเด•เดพเดฐเตเดฏเด‚ เดšเต†เดฏเตเดฏเดพเตป เด•เดดเดฟเดฏเตเด‚.

เดธเดพเดงเดพเดฐเดฃเดฏเดพเดฏเดฟ เดชเตเดฐเต‹เด‚เดŸเต†เดฏเดฟเตฝ เดชเดพเดดเตเดธเดฟเด‚เด—เดฟเดจเดพเดฏเดฟ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต. เด‡เดคเต เดฎเต‚เดจเตเดจเต เด•เดพเดฐเตเดฏเด™เตเด™เตพ เดšเต†เดฏเตเดฏเตเดจเตเดจเต:

  • เดกเดพเดฑเตเดฑ เด‰เดฑเดตเดฟเดŸเด™เตเด™เตพ เด•เดฃเตเดŸเต†เดคเตเดคเตเดจเตเดจเต.
  • เด…เดตเดฏเดฟเตฝ เดฒเต‡เดฌเดฒเตเด•เตพ เด…เดฑเตเดฑเดพเดšเตเดšเตเดšเต†เดฏเตเดฏเตเด•.
  • เดฒเต‹เด•เดฟเดฏเดฟเดฒเต‡เด•เตเด•เต เดกเดพเดฑเตเดฑ เด…เดฏเดฏเตเด•เตเด•เตเดจเตเดจเต.

เดจเดฟเดฒเดตเดฟเตฝ เดชเตเดฐเต‹เด‚เดŸเต†เดฏเดฟเดฒเดฟเดจเต เดชเตเดฐเดพเดฆเต‡เดถเดฟเด• เดซเดฏเดฒเตเด•เดณเดฟเตฝ เดจเดฟเดจเตเดจเตเด‚ systemd เดœเต‡เดฃเดฒเดฟเตฝ เดจเดฟเดจเตเดจเตเดฎเตเดณเตเดณ เดฒเต‹เด—เตเด•เตพ เดตเดพเดฏเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเด‚. เดฒเต‹เด—เตเด•เตพ เดถเต‡เด–เดฐเดฟเด•เตเด•เตเดจเตเดจ เดŽเดฒเตเดฒเดพ เดฎเต†เดทเต€เดจเตเด•เดณเดฟเดฒเตเด‚ เด‡เดคเต เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดคเดฟเดฐเดฟเด•เตเด•เดฃเด‚.

Kubernetes-เดฎเดพเดฏเดฟ เดธเด‚เดฏเต‹เดœเดจเดฎเตเดฃเตเดŸเต: Promtail, Kubernetes REST API เดตเดดเดฟ เด•เตเดฒเดธเตเดฑเตเดฑเดฑเดฟเดจเตเดฑเต† เด…เดตเดธเตเดฅ เดธเตเดตเดฏเดฎเต‡เดต เด•เดฃเตเดŸเต†เดคเตเดคเตเด•เดฏเตเด‚ เด’เดฐเต เดจเต‹เดกเดฟเตฝ เดจเดฟเดจเตเดจเต‹ เดธเต‡เดตเดจเดคเตเดคเดฟเตฝ เดจเดฟเดจเตเดจเต‹ เดชเต‹เดกเดฟเตฝ เดจเดฟเดจเตเดจเต‹ เดฒเต‹เด—เตเด•เตพ เดถเต‡เด–เดฐเดฟเด•เตเด•เตเดจเตเดจเต, เด‰เดŸเตป เดคเดจเตเดจเต† Kubernetes-เตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดฎเต†เดฑเตเดฑเดพเดกเดพเดฑเตเดฑเดฏเต† เด…เดŸเดฟเดธเตเดฅเดพเดจเดฎเดพเด•เตเด•เดฟ เดฒเต‡เดฌเดฒเตเด•เตพ เดชเต‹เดธเตเดฑเตเดฑเตเดšเต†เดฏเตเดฏเตเดจเตเดจเต (เดชเต‹เดกเดฟเดจเตเดฑเต† เดชเต‡เดฐเต, เดซเดฏเดฒเดฟเดจเตเดฑเต† เดชเต‡เดฐเต เดฎเตเดคเดฒเดพเดฏเดต).

เดชเตˆเดชเตเดชเตโ€Œเดฒเตˆเตป เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดฒเต‹เด—เดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดกเดพเดฑเตเดฑเดฏเต† เด…เดŸเดฟเดธเตเดฅเดพเดจเดฎเดพเด•เตเด•เดฟ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดฒเต‡เดฌเดฒเตเด•เตพ เดคเต‚เด•เตเด•เดฟเดฏเดฟเดŸเดพเดจเตเด‚ เด•เดดเดฟเดฏเตเด‚. เดชเตˆเดชเตเดชเตเดฒเตˆเตป เดชเตเดฐเต‹เด‚เดŸเต†เดฏเดฟเดฒเดฟเตฝ เดจเดพเดฒเต เดคเดฐเด‚ เด˜เดŸเตเดŸเด™เตเด™เตพ เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เดพเด‚. เด•เต‚เดŸเตเดคเตฝ เดตเดฟเดถเดฆเดพเด‚เดถเด™เตเด™เตพ - เด‡เตป เด”เดฆเตเดฏเต‹เด—เดฟเด• เดกเต‹เด•เตเดฏเตเดฎเต†เดจเตเดฑเต‡เดทเตป, เดžเดพเตป เด‰เดŸเตป เดคเดจเตเดจเต† เดšเดฟเดฒ เดธเต‚เด•เตเดทเตเดฎเดคเด•เตพ เดถเตเดฐเดฆเตเดงเดฟเด•เตเด•เตเด‚.

  1. เดชเดพเดดเตเดธเดฟเด‚เด—เต เด˜เดŸเตเดŸเด™เตเด™เตพ. เด‡เดคเดพเดฃเต RegEx, JSON เดŽเดจเตเดจเดฟเดตเดฏเตเดŸเต† เด˜เดŸเตเดŸเด‚. เดˆ เด˜เดŸเตเดŸเดคเตเดคเดฟเตฝ, เดŽเด•เตโ€Œเดธเตโ€ŒเดŸเตเดฐเดพเด•เตโ€Œเดฑเตเดฑเตเดšเต†เดฏเตโ€Œเดค เดฎเดพเดชเตเดชเดฟเดฒเต‡เด•เตเด•เต เดžเด™เตเด™เตพ เดฒเต‹เด—เตเด•เดณเดฟเตฝ เดจเดฟเดจเตเดจเต เดกเดพเดฑเตเดฑ เดŽเด•เตโ€Œเดธเตโ€ŒเดŸเตเดฐเดพเด•เตเดฑเตเดฑเตเดšเต†เดฏเตเดฏเตเดจเตเดจเต. เดŽเด•เตโ€Œเดธเตโ€ŒเดŸเตเดฐเดพเด•เตโ€Œเดฑเตเดฑเตเดšเต†เดฏเตโ€Œเดค เดฎเดพเดชเตเดชเดฟเดฒเต‡เด•เตเด•เต เดžเด™เตเด™เตพเด•เตเด•เต เด†เดตเดถเตเดฏเดฎเดพเดฏ เดซเต€เตฝเดกเตเด•เตพ เดชเด•เตผเดคเตเดคเดฟเดฏเต‹ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดŽเด•เตโ€Œเดธเตโ€ŒเดŸเตเดฐเดพเด•เตโ€Œเดฑเตเดฑเตเดšเต†เดฏเตโ€Œเดค เดฎเดพเดชเตเดชเดฟเดฒเต‡เด•เตเด•เต เดชเต‡เดฐเตเดณเตเดณ เด—เตเดฐเต‚เดชเตเดชเตเด•เดณเต† "เดฎเดพเดชเตเดชเต เดšเต†เดฏเตโ€Œเดคเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ" เดฑเต†เด—เตเดฒเตผ เดŽเด•เตโ€Œเดธเตโ€Œเดชเตเดฐเดทเดจเตเด•เดณเดฟเดฒเต‚เดŸเต†เดฏเต‹ (RegEx) เดจเดฟเด™เตเด™เตพเด•เตเด•เต JSON-เตฝ เดจเดฟเดจเตเดจเต เดŽเด•เตโ€Œเดธเตโ€ŒเดŸเตเดฐเดพเด•เตเดฑเตเดฑเตเดšเต†เดฏเตเดฏเดพเดจเดพเด•เตเด‚. เดŽเด•เตโ€Œเดธเตโ€ŒเดŸเตเดฐเดพเด•เตโ€Œเดฑเตเดฑเตเดšเต†เดฏเตโ€Œเดค เดฎเดพเดชเตเดชเต เด’เดฐเต เด•เต€-เดฎเต‚เดฒเตเดฏเด‚ เดธเด‚เดญเดฐเดฃเดฎเดพเดฃเต, เด‡เดตเดฟเดŸเต† เด•เต€ เดŽเดจเตเดจเดคเต เดซเต€เตฝเดกเดฟเดจเตเดฑเต† เดชเต‡เดฐเดพเดฃเต, เดฎเต‚เดฒเตเดฏเด‚ เดฒเต‹เด—เตเด•เดณเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เด…เดคเดฟเดจเตเดฑเต† เดฎเต‚เดฒเตเดฏเดฎเดพเดฃเต.
  2. เดชเดฐเดฟเดตเตผเดคเตเดคเดจ เด˜เดŸเตเดŸเด™เตเด™เตพ. เดˆ เด˜เดŸเตเดŸเดคเตเดคเดฟเดจเต เดฐเดฃเตเดŸเต เด“เดชเตเดทเดจเตเด•เดณเตเดฃเตเดŸเต: เดŸเตเดฐเดพเตปเดธเตเดซเต‹เตผเดฎเต‡เดทเตป, เด…เดตเดฟเดŸเต† เดžเด™เตเด™เตพ เดŸเตเดฐเดพเตปเดธเตเดซเต‹เตผเดฎเต‡เดทเตป เดจเดฟเดฏเดฎเด™เตเด™เตพ เดธเดœเตเดœเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเต, เด•เต‚เดŸเดพเดคเต† เด‰เดฑเดตเดฟเดŸเด‚ - เดŽเด•เตโ€Œเดธเตโ€ŒเดŸเตเดฐเดพเด•เตเดฑเตเดฑเตเดšเต†เดฏเตโ€Œเดค เดฎเดพเดชเตเดชเดฟเตฝ เดจเดฟเดจเตเดจเต เดชเดฐเดฟเดตเตผเดคเตเดคเดจเดคเตเดคเดฟเดจเตเดณเตเดณ เดกเดพเดฑเตเดฑ เด‰เดฑเดตเดฟเดŸเด‚. เดŽเด•เตโ€Œเดธเตโ€ŒเดŸเตเดฐเดพเด•เตโ€Œเดฑเตเดฑเตเดšเต†เดฏเตโ€Œเดค เดฎเดพเดชเตเดชเดฟเตฝ เด…เดคเตเดคเดฐเดฎเตŠเดฐเต เดซเต€เตฝเดกเต เด‡เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ, เด…เดคเต เดธเตƒเดทเตโ€ŒเดŸเดฟเด•เตเด•เตเด‚. เด…เด™เตเด™เดจเต†, เดŽเด•เตโ€Œเดธเตโ€ŒเดŸเตเดฐเดพเด•เตโ€Œเดฑเตเดฑเตเดšเต†เดฏเตโ€Œเดค เดฎเดพเดชเตเดชเดฟเดจเต† เด…เดŸเดฟเดธเตเดฅเดพเดจเดฎเดพเด•เตเด•เดฟเดฏเตเดณเตเดณเดคเดฒเตเดฒเดพเดคเตเดค เดฒเต‡เดฌเดฒเตเด•เตพ เดธเตƒเดทเตโ€ŒเดŸเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเด‚. เดˆ เด˜เดŸเตเดŸเดคเตเดคเดฟเตฝ, เดจเดฎเตเด•เตเด•เต เดŽเด•เตโ€Œเดธเตโ€ŒเดŸเตเดฐเดพเด•เตโ€Œเดฑเตเดฑเตเดšเต†เดฏเตโ€Œเดค เดฎเดพเดชเตเดชเดฟเดฒเต† เดกเดพเดฑเตเดฑ เดตเดณเดฐเต† เดถเด•เตเดคเดฎเดพเดฏ เด’เดฐเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด•เตˆเด•เดพเดฐเตเดฏเด‚ เดšเต†เดฏเตเดฏเดพเตป เด•เดดเดฟเดฏเตเด‚ golang เดŸเต†เด‚เดชเตเดฒเต‡เดฑเตเดฑเต. เด•เต‚เดŸเดพเดคเต†, เดŽเด•เตโ€Œเดธเตโ€ŒเดŸเตเดฐเดพเด•เตโ€Œเดฑเตเดฑเตเดšเต†เดฏเตโ€Œเดค เดฎเดพเดชเตเดชเต เดชเดพเดดเตโ€Œเดธเดฟเด‚เด—เต เดธเดฎเดฏเดคเตเดคเต เดชเต‚เตผเดฃเตเดฃเดฎเดพเดฏเดฟ เดฒเต‹เดกเตเดšเต†เดฏเตโ€Œเดคเตเดตเต†เดจเตเดจเต เดžเด™เตเด™เตพ เด“เตผเด•เตเด•เดฃเด‚, เด‡เดคเต เดธเดพเดงเตเดฏเดฎเดพเด•เตเด•เตเดจเตเดจเต, เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เด…เดคเดฟเดฒเต† เดฎเต‚เดฒเตเดฏเด‚ เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เตเดจเตเดจเดคเต: โ€œ{{if .tag}เดŸเดพเด—เต เดฎเต‚เดฒเตเดฏเด‚ เดจเดฟเดฒเดตเดฟเดฒเตเดฃเตเดŸเต{end}}โ€. เดŸเต†เด‚เดชเตเดฒเต‡เดฑเตเดฑเต เดตเตเดฏเดตเดธเตเดฅเด•เตพ, เดฒเต‚เดชเตเดชเตเด•เตพ, เดฑเต€เดชเตเดฒเต‡เดธเต, เดŸเตเดฐเดฟเด‚ เดŽเดจเตเดจเดฟเดต เดชเต‹เดฒเตเดณเตเดณ เดšเดฟเดฒ เดธเตเดŸเตเดฐเดฟเด‚เด—เต เดซเด‚เด—เตโ€Œเดทเดจเตเด•เตพ เดชเดฟเดจเตเดคเตเดฃเดฏเตเด•เตเด•เตเดจเตเดจเต.
  3. เดชเตเดฐเดตเตผเดคเตเดคเดจ เด˜เดŸเตเดŸเด™เตเด™เตพ. เดˆ เด˜เดŸเตเดŸเดคเตเดคเดฟเตฝ, เดตเต‡เตผเดคเดฟเดฐเดฟเดšเตเดšเต†เดŸเตเดคเตเดคเดคเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดŽเดจเตเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดšเต†เดฏเตเดฏเดพเตป เด•เดดเดฟเดฏเตเด‚:
    • เดŽเด•เตโ€Œเดธเตโ€ŒเดŸเตเดฐเดพเด•เตโ€Œเดฑเตเดฑเตเดšเต†เดฏเตโ€Œเดค เดกเดพเดฑเตเดฑเดฏเดฟเตฝ เดจเดฟเดจเตเดจเต เด’เดฐเต เดฒเต‡เดฌเตฝ เดธเตƒเดทเตโ€ŒเดŸเดฟเด•เตเด•เตเด•, เด…เดคเต เดฒเต‹เด•เดฟ เดธเต‚เดšเดฟเด•เดฏเดฟเดฒเดพเด•เตเด•เตเด‚.
    • เดฒเต‹เด—เดฟเตฝ เดจเดฟเดจเตเดจเต เด‡เดตเดจเตเดฑเต เดธเดฎเดฏเด‚ เดฎเดพเดฑเตเดฑเตเด• เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดธเดœเตเดœเต€เด•เดฐเดฟเด•เตเด•เตเด•.
    • เดฒเต‹เด•เดฟเดฏเดฟเดฒเต‡เด•เตเด•เต เดชเต‹เด•เตเดจเตเดจ เดกเดพเดฑเตเดฑ (เดฒเต‹เด—เต เดŸเต†เด•เตเดธเตเดฑเตเดฑเต) เดฎเดพเดฑเตเดฑเตเด•.
    • เดฎเต†เดŸเตเดฐเดฟเด•เตโ€Œเดธเต เดธเตƒเดทเตโ€ŒเดŸเดฟเด•เตเด•เตเด•.
  4. เดซเดฟเตฝเดŸเตเดŸเดฑเดฟเด‚เด—เต เด˜เดŸเตเดŸเด™เตเด™เตพ. เดฎเดพเดšเตเดšเต เด˜เดŸเตเดŸเด‚, เด’เดจเตเดจเตเด•เดฟเตฝ เดจเดฎเตเด•เตเด•เต /dev/null เด†เดตเดถเตเดฏเดฎเดฟเดฒเตเดฒเดพเดคเตเดค เดฑเต†เด•เตเด•เต‹เตผเดกเตเด•เตพ เด…เดฏเดฏเตโ€Œเด•เตเด•เดพเด‚ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด•เต‚เดŸเตเดคเตฝ เดชเตเดฐเต‹เดธเดธเตเดธเดฟเด‚เด—เดฟเดจเดพเดฏเดฟ เด…เดฏเดฏเตโ€Œเด•เตเด•เดพเดจเดพเด•เตเด‚.

เดธเดพเดงเดพเดฐเดฃ nginx เดฒเต‹เด—เตเด•เตพ เดชเตเดฐเต‹เดธเดธเตเดธเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเตเดฑเต† เด‰เดฆเดพเดนเดฐเดฃเด‚ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต, Promtail เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดŽเด™เตเด™เดจเต† เดฒเต‹เด—เตเด•เตพ เดชเดพเดดเตโ€Œเดธเต เดšเต†เดฏเตเดฏเดพเดฎเต†เดจเตเดจเต เดžเดพเตป เด•เดพเดฃเดฟเด•เตเด•เตเด‚.

เดชเดฐเดฟเดถเต‹เดงเดจเดฏเตโ€Œเด•เตเด•เดพเดฏเดฟ, เดชเดฐเดฟเดทเตโ€Œเด•เตเด•เดฐเดฟเดšเตเดš nginx jwilder/nginx-proxy:alpine เด‡เดฎเต‡เดœเตเด‚ nginx-proxy เด†เดฏเดฟ HTTP เดตเดดเดฟ เดธเตเดตเดฏเด‚ เด…เดจเตเดตเต‡เดทเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเดจเตเดจ เด’เดฐเต เดšเต†เดฑเดฟเดฏ เดกเต†เดฎเดฃเตเด‚ เดŽเดŸเตเด•เตเด•เดพเด‚. เดกเต†เดฎเดฃเดฟเดจเต เดจเดฟเดฐเดตเดงเดฟ เดŽเตปเดกเตโ€Œเดชเต‹เดฏเดฟเดจเตเดฑเตเด•เดณเตเดฃเตเดŸเต, เด…เดคเดฟเดจเต เดตเตเดฏเดคเตเดฏเดธเตเดค เดตเดฒเตเดชเตเดชเดคเตเดคเดฟเดฒเตเดณเตเดณ เดชเตเดฐเดคเดฟเด•เดฐเดฃเด™เตเด™เตพ เดจเตฝเด•เดพเตป เด•เดดเดฟเดฏเตเด‚, เดตเตเดฏเดคเตเดฏเดธเตเดค HTTP เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดธเตเด•เดณเตเด‚ เดตเตเดฏเดคเตเดฏเดธเตเดค เด•เดพเดฒเดคเดพเดฎเดธเด™เตเด™เดณเตเด‚.

เดกเต‹เด•เตเด•เตผ เด•เดฃเตเดŸเต†เดฏเตโ€Œเดจเดฑเตเด•เดณเดฟเตฝ เดจเดฟเดจเตเดจเต เดžเด™เตเด™เตพ เดฒเต‹เด—เตเด•เตพ เดถเต‡เด–เดฐเดฟเด•เตเด•เตเด‚, เด…เดคเต /var/lib/docker/containers/ เดชเดพเดคเดฏเดฟเตฝ เด•เดพเดฃเดพเด‚. / -json.log

docker-compose.yml-เตฝ เดžเด™เตเด™เตพ Promtail เดธเดœเตเดœเต€เด•เดฐเดฟเด•เตเด•เตเด•เดฏเตเด‚ เด•เต‹เตบเดซเดฟเด—เดฑเดฟเดฒเต‡เด•เตเด•เตเดณเตเดณ เดชเดพเดค เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต:

promtail:
  image: grafana/promtail:1.4.1
 // ...
 volumes:
   - /var/lib/docker/containers:/var/lib/docker/containers:ro
   - promtail-data:/var/lib/promtail/positions
   - ${PWD}/promtail/docker.yml:/etc/promtail/promtail.yml
 command:
   - '-config.file=/etc/promtail/promtail.yml'
 // ...

promtail.yml-เดฒเต‡เด•เตเด•เต เดฒเต‹เด—เตเด•เดณเดฟเดฒเต‡เด•เตเด•เตเดณเตเดณ เดชเดพเดค เดšเต‡เตผเด•เตเด•เตเด• (เด•เต‹เตบเดซเดฟเด—เดฑเดฟเตฝ เด’เดฐเต "เดกเต‹เด•เตเด•เตผ" เด“เดชเตเดทเตป เด‰เดฃเตเดŸเต, เด…เดคเต เด’เดฐเต เดตเดฐเดฟเดฏเดฟเตฝ เดคเดจเตเดจเต† เดšเต†เดฏเตเดฏเตเดจเตเดจเต, เดชเด•เตเดทเต‡ เด…เดคเต เด…เดคเตเดฐ เดตเตเดฏเด•เตเดคเดฎเดพเด•เดฟเดฒเตเดฒ):

scrape_configs:
 - job_name: containers

   static_configs:
       labels:
         job: containerlogs
         __path__: /var/lib/docker/containers/*/*log  # for linux only

เดˆ เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เดชเตเดฐเดตเตผเดคเตเดคเดจเด•เตเดทเดฎเดฎเดพเด•เตเด•เตเดฎเตเดชเต‹เตพ, เดฒเต‹เด•เดฟเด•เตเด•เต เดŽเดฒเตเดฒเดพ เด•เดฃเตเดŸเต†เดฏเตโ€Œเดจเดฑเตเด•เดณเดฟเตฝ เดจเดฟเดจเตเดจเตเด‚ เดฒเต‹เด—เตเด•เตพ เดฒเดญเดฟเด•เตเด•เตเด‚. เด‡เดคเต เด’เดดเดฟเดตเดพเด•เตเด•เดพเตป, เดžเด™เตเด™เตพ docker-compose.yml-เดฒเต† เดŸเต†เดธเตเดฑเตเดฑเต nginx-เดจเตเดฑเต† เด•เตเดฐเดฎเต€เด•เดฐเดฃเด™เตเด™เตพ เดฎเดพเดฑเตเดฑเตเดจเตเดจเต - เดŸเดพเด—เต เดซเต€เตฝเดกเดฟเดฒเต‡เด•เตเด•เต เดฒเต‹เด—เดฟเด‚เด—เต เดšเต‡เตผเด•เตเด•เตเด•:

proxy:
 image: nginx.test.v3
//โ€ฆ
 logging:
   driver: "json-file"
   options:
     tag: "{{.ImageName}}|{{.Name}}"

promtail.yml เดŽเดกเดฟเดฑเตเดฑเต เดšเต†เดฏเตโ€Œเดคเต เดชเตˆเดชเตเดชเตโ€Œเดฒเตˆเตป เดธเดœเตเดœเต€เด•เดฐเดฟเด•เตเด•เตเด•. เดฐเต‡เด–เด•เตพ เด‡เดชเตเดฐเด•เดพเดฐเดฎเดพเดฃเต:

{"log":"u001b[0;33;1mnginx.1    | u001b[0mnginx.test 172.28.0.3 - - [13/Jun/2020:23:25:50 +0000] "GET /api/index HTTP/1.1" 200 0 "-" "Stub_Bot/0.1" "0.096"n","stream":"stdout","attrs":{"tag":"nginx.promtail.test|proxy.prober"},"time":"2020-06-13T23:25:50.66740443Z"}
{"log":"u001b[0;33;1mnginx.1    | u001b[0mnginx.test 172.28.0.3 - - [13/Jun/2020:23:25:50 +0000] "GET /200 HTTP/1.1" 200 0 "-" "Stub_Bot/0.1" "0.000"n","stream":"stdout","attrs":{"tag":"nginx.promtail.test|proxy.prober"},"time":"2020-06-13T23:25:50.702925272Z"}

เดชเตˆเดชเตเดชเตเดฒเตˆเตป เด˜เดŸเตเดŸเด™เตเด™เตพ:

 - json:
     expressions:
       stream: stream
       attrs: attrs
       tag: attrs.tag

เด‡เตปเด•เดฎเดฟเด‚เด—เต JSON-เตฝ เดจเดฟเดจเตเดจเต เดžเด™เตเด™เตพ เดธเตเดŸเตเดฐเต€เด‚, attrs, attrs.tag เดซเต€เตฝเดกเตเด•เตพ (เดŽเดจเตเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เด‰เดฃเตเดŸเต†เด™เตเด•เดฟเตฝ) เดŽเด•เตโ€Œเดธเตโ€ŒเดŸเตเดฐเดพเด•เตเดฑเตเดฑเตเดšเต†เดฏเตโ€Œเดคเต เดŽเด•เตโ€Œเดธเตโ€ŒเดŸเตเดฐเดพเด•เตเดฑเตเดฑเตเดšเต†เดฏเตโ€Œเดค เดฎเดพเดชเตเดชเดฟเตฝ เด‡เดŸเตเดจเตเดจเต.

 - regex:
     expression: ^(?P<image_name>([^|]+))|(?P<container_name>([^|]+))$
     source: "tag"

เดŽเด•เตโ€Œเดธเตโ€ŒเดŸเตเดฐเดพเด•เตโ€Œเดฑเตเดฑเตเดšเต†เดฏเตโ€Œเดค เดฎเดพเดชเตเดชเดฟเตฝ เดŸเดพเด—เต เดซเต€เตฝเดกเต เด‡เดŸเดพเตป เด•เดดเดฟเดฏเตเดฎเต†เด™เตเด•เดฟเตฝ, regexp เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดžเด™เตเด™เตพ เดšเดฟเดคเตเดฐเดคเตเดคเดฟเดจเตเดฑเต†เดฏเตเด‚ เด•เดฃเตเดŸเต†เดฏเตโ€Œเดจเดฑเดฟเดจเตเดฑเต†เดฏเตเด‚ เดชเต‡เดฐเตเด•เตพ เดŽเด•เตโ€Œเดธเตโ€ŒเดŸเตเดฐเดพเด•เตเดฑเตเดฑเตเดšเต†เดฏเตเดฏเตเดจเตเดจเต.

 - labels:
     image_name:
     container_name:

เดžเด™เตเด™เตพ เดฒเต‡เดฌเดฒเตเด•เตพ เดจเตฝเด•เตเดจเตเดจเต. เดŽเด•เตโ€Œเดธเตโ€ŒเดŸเตเดฐเดพเด•เตโ€Œเดฑเตเดฑเตเดšเต†เดฏเตโ€Œเดค เดกเดพเดฑเตเดฑเดฏเดฟเตฝ เด‡เดฎเต‡เดœเต_เดจเต†เดฏเดฟเด‚, เด•เดฃเตเดŸเต†เดฏเตโ€Œเดจเตผ_เดจเต†เดฏเดฟเด‚ เดŽเดจเตเดจเต€ เด•เต€เด•เตพ เด•เดฃเตเดŸเต†เดคเตเดคเดฟเดฏเดพเตฝ, เด…เดตเดฏเตเดŸเต† เดฎเต‚เดฒเตเดฏเด™เตเด™เตพ เด‰เดšเดฟเดคเดฎเดพเดฏ เดฒเต‡เดฌเดฒเตเด•เดณเดฟเดฒเต‡เด•เตเด•เต เด…เดธเตˆเตป เดšเต†เดฏเตเดฏเดชเตเดชเต†เดŸเตเด‚.

 - match:
     selector: '{job="docker",container_name="",image_name=""}'
     action: drop

image_name, container_name เดŽเดจเตเดจเต€ เดฒเต‡เดฌเดฒเตเด•เตพ เด‡เดฒเตเดฒเดพเดคเตเดค เดŽเดฒเตเดฒเดพ เดฒเต‹เด—เตเด•เดณเตเด‚ เดžเด™เตเด™เตพ เดจเดฟเดฐเดธเดฟเด•เตเด•เตเดจเตเดจเต.

  - match:
     selector: '{image_name="nginx.promtail.test"}'
     stages:
       - json:
           expressions:
             row: log

image_name nginx.promtail.test เดŽเดจเตเดจเดคเดฟเดจเต เดคเตเดฒเตเดฏเดฎเดพเดฏ เดŽเดฒเตเดฒเดพ เดฒเต‹เด—เตเด•เตพเด•เตเด•เตเด‚, เดธเต‹เดดเตโ€Œเดธเต เดฒเต‹เด—เดฟเตฝ เดจเดฟเดจเตเดจเต เดฒเต‹เด—เต เดซเต€เตฝเดกเต เดžเด™เตเด™เตพ เดŽเด•เตโ€Œเดธเตโ€ŒเดŸเตเดฐเดพเด•เตเดฑเตเดฑเตเดšเต†เดฏเตโ€Œเดคเต เดตเดฐเดฟ เด•เต€ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดŽเด•เตโ€Œเดธเตโ€ŒเดŸเตเดฐเดพเด•เตเดฑเตเดฑเตเดšเต†เดฏเตโ€Œเดค เดฎเดพเดชเตเดชเดฟเดฒเต‡เด•เตเด•เต เด‡เดŸเตเดจเตเดจเต.

  - regex:
         # suppress forego colors
         expression: .+nginx.+|.+[0m(?P<virtual_host>[a-z_.-]+) +(?P<nginxlog>.+)
         source: logrow

เดธเดพเดงเดพเดฐเดฃ เดŽเด•เตเดธเตเดชเตเดฐเดทเดจเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดžเด™เตเด™เตพ เด‡เตปเดชเตเดŸเตเดŸเต เดธเตเดŸเตเดฐเดฟเด‚เด—เต เดฎเดพเดฏเตโ€Œเด•เตเด•เตเด•เดฏเตเด‚ nginx เดตเต†เตผเดšเตเดตเตฝ เดนเต‹เดธเตเดฑเตเดฑเตเด‚ nginx เดฒเต‹เด—เต เดฒเตˆเดจเตเด‚ เดชเตเดฑเดคเตเดคเต†เดŸเตเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต.

     - regex:
         source: nginxlog
         expression: ^(?P<ip>[w.]+) - (?P<user>[^ ]*) [(?P<timestamp>[^ ]+).*] "(?P<method>[^ ]*) (?P<request_url>[^ ]*) (?P<request_http_protocol>[^ ]*)" (?P<status>[d]+) (?P<bytes_out>[d]+) "(?P<http_referer>[^"]*)" "(?P<user_agent>[^"]*)"( "(?P<response_time>[d.]+)")?

เดชเดคเดฟเดตเต เดŽเด•เตเดธเตเดชเตเดฐเดทเดจเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต nginx เดฒเต‹เด—เต เดชเดพเดดเตเดธเต เดšเต†เดฏเตเดฏเตเด•.

    - regex:
           source: request_url
           expression: ^.+.(?P<static_type>jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|pdf|txt|tar|wav|bmp|rtf|js|flv|swf|html|htm)$
     - regex:
           source: request_url
           expression: ^/photo/(?P<photo>[^/?.]+).*$
       - regex:
           source: request_url
           expression: ^/api/(?P<api_request>[^/?.]+).*$

request_url เดชเดพเดดเตโ€Œเดธเต เดšเต†เดฏเตเดฏเตเด•. regexp-เดจเตเดฑเต† เดธเดนเดพเดฏเดคเตเดคเต‹เดŸเต†, เด…เดญเตเดฏเตผเดคเตเดฅเดจเดฏเตเดŸเต† เด‰เดฆเตเดฆเต‡เดถเตเดฏเด‚ เดžเด™เตเด™เตพ เดจเดฟเตผเดฃเตเดฃเดฏเดฟเด•เตเด•เตเดจเตเดจเต: เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดฟเด•เตเดธเต, เดซเต‹เดŸเตเดŸเต‹เด•เตพ, API เดŽเดจเตเดจเดฟเดตเดฏเดฟเดฒเต‡เด•เตเด•เต, เดŽเด•เตโ€Œเดธเตโ€ŒเดŸเตเดฐเดพเด•เตเดฑเตเดฑเตเดšเต†เดฏเตโ€Œเดค เดฎเดพเดชเตเดชเดฟเตฝ เด…เดจเตเดฌเดจเตเดง เด•เต€ เดธเดœเตเดœเดฎเดพเด•เตเด•เตเด•.

       - template:
           source: request_type
           template: "{{if .photo}}photo{{else if .static_type}}static{{else if .api_request}}api{{else}}other{{end}}"

เดŸเต†เด‚เดชเตเดฒเต‡เดฑเตเดฑเดฟเดฒเต† เดธเต‹เดชเดพเดงเดฟเด• เด“เดชเตเดชเดฑเต‡เดฑเตเดฑเตผเดฎเดพเตผ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต, เดŽเด•เตโ€Œเดธเตโ€ŒเดŸเตเดฐเดพเด•เตเดฑเตเดฑเตเดšเต†เดฏเตโ€Œเดค เดฎเดพเดชเตเดชเดฟเตฝ เดžเด™เตเด™เตพ เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดค เดซเต€เตฝเดกเตเด•เตพ เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เตเด•เดฏเตเด‚ request_type เดซเต€เตฝเดกเดฟเดจเดพเดฏเดฟ เด†เดตเดถเตเดฏเดฎเดพเดฏ เดฎเต‚เดฒเตเดฏเด™เตเด™เตพ เดธเดœเตเดœเดฎเดพเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต: เดซเต‹เดŸเตเดŸเต‹, เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดฟเด•เต, API. เดชเดฐเดพเดœเดฏเดชเตเดชเต†เดŸเตเดŸเดพเตฝ เดฎเดฑเตเดฑเตŠเดจเตเดจเต เดจเตฝเด•เตเด•. เด‡เดชเตเดชเต‹เตพ request_type-เตฝ เด…เดญเตเดฏเตผเดคเตเดฅเดจ เดคเดฐเด‚ เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต.

       - labels:
           api_request:
           virtual_host:
           request_type:
           status:

เดŽเด•เตโ€Œเดธเตโ€ŒเดŸเตเดฐเดพเด•เตโ€Œเดฑเตเดฑเตเดšเต†เดฏเตโ€Œเดค เดฎเดพเดชเตเดชเดฟเตฝ เด‰เตพเดชเตเดชเต†เดŸเตเดคเตเดคเดพเตป เดžเด™เตเด™เตพเด•เตเด•เต เด•เดดเดฟเดžเตเดžเดคเดฟเดจเตเดฑเต† เด…เดŸเดฟเดธเตเดฅเดพเดจเดคเตเดคเดฟเตฝ เดžเด™เตเด™เตพ api_request, virtual_host, request_type, เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดธเต (HTTP เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดธเต) เดŽเดจเตเดจเต€ เดฒเต‡เดฌเดฒเตเด•เตพ เดธเดœเตเดœเต€เด•เดฐเดฟเดšเตเดšเต.

       - output:
           source: nginx_log_row

เด”เดŸเตเดŸเตเดชเตเดŸเตเดŸเต เดฎเดพเดฑเตเดฑเตเด•. เดŽเด•เตโ€Œเดธเตโ€ŒเดŸเตเดฐเดพเด•เตโ€Œเดฑเตเดฑเตเดšเต†เดฏเตโ€Œเดค เดฎเดพเดชเตเดชเดฟเตฝ เดจเดฟเดจเตเดจเต เดตเตƒเดคเตเดคเดฟเดฏเดพเด•เตเด•เดฟเดฏ nginx เดฒเต‹เด—เต เด‡เดชเตเดชเต‹เตพ เดฒเต‹เด•เดฟเดฏเดฟเดฒเต‡เด•เตเด•เต เดชเต‹เด•เตเดจเตเดจเต.

เดฒเต‹เด•เดฟเดฏเดฟเตฝ เดจเดฟเดจเตเดจเต เดฒเต‹เด—เตเด•เตพ เดถเต‡เด–เดฐเดฟเด•เตเด•เตเดจเตเดจเต

เดฎเตเด•เดณเดฟเดฒเตเดณเตเดณ เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเดšเตเดšเดคเดฟเดจเต เดถเต‡เดทเด‚, เด“เดฐเต‹ เดŽเตปเดŸเตเดฐเดฟเดฏเตเด‚ เดฒเต‹เด—เดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดกเดพเดฑเตเดฑเดฏเต† เด…เดŸเดฟเดธเตเดฅเดพเดจเดฎเดพเด•เตเด•เดฟ เดฒเต‡เดฌเตฝ เดšเต†เดฏเตเดคเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเต เด•เดพเดฃเดพเด‚.

เดงเดพเดฐเดพเดณเด‚ เดฎเต‚เดฒเตเดฏเด™เตเด™เดณเตเดณเตเดณ (เด•เดพเตผเดกเดฟเดจเดพเดฒเดฟเดฑเตเดฑเดฟ) เดฒเต‡เดฌเดฒเตเด•เตพ เดŽเด•เตโ€Œเดธเตโ€ŒเดŸเตเดฐเดพเด•เตเดฑเตเดฑเตเดšเต†เดฏเตเดฏเตเดจเตเดจเดคเต เดฒเต‹เด•เดฟเดฏเต† เด—เดฃเตเดฏเดฎเดพเดฏเดฟ เดฎเดจเตเดฆเด—เดคเดฟเดฏเดฟเดฒเดพเด•เตเด•เตเดฎเต†เดจเตเดจเต เด“เตผเดฎเตเดฎเดฟเด•เตเด•เตเด•. เด…เดคเดพเดฏเดคเต, เดจเดฟเด™เตเด™เตพ เดธเต‚เดšเดฟเด•เดฏเดฟเตฝ เด‡เดŸเดฐเตเดคเต, เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, user_id. เดฒเต‡เด–เดจเดคเตเดคเดฟเตฝ เด‡เดคเดฟเดจเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เด•เต‚เดŸเตเดคเตฝ เดตเดพเดฏเดฟเด•เตเด•เตเด•เดฒเต‹เด•เดฟเดฏเดฟเดฒเต† เดฒเต‡เดฌเดฒเตเด•เตพเด•เตเด•เต เดฒเต‹เด—เต เด…เดจเตเดตเต‡เดทเดฃเด™เตเด™เตพ เดŽเด™เตเด™เดจเต† เดตเต‡เด—เดคเตเดคเดฟเดฒเตเด‚ เดŽเดณเตเดชเตเดชเดคเตเดคเดฟเดฒเตเด‚ เด†เด•เตเด•เดพเดจเดพเด•เตเด‚". เดŽเดจเตเดจเดพเตฝ เดธเต‚เดšเดฟเด•เด•เดณเดฟเดฒเตเดฒเดพเดคเต† เดจเดฟเด™เตเด™เตพเด•เตเด•เต user_id เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดคเดฟเดฐเดฏเดพเตป เด•เดดเดฟเดฏเดฟเดฒเตเดฒเต†เดจเตเดจเต เด‡เดคเดฟเดจเตผเดคเตเดฅเดฎเดฟเดฒเตเดฒ. เดคเดฟเดฐเดฏเตเดฎเตเดชเต‹เตพ เดซเดฟเตฝเดŸเตเดŸเดฑเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เต‡เดฃเตเดŸเดคเต เด†เดตเดถเตเดฏเดฎเดพเดฃเต (เดกเดพเดฑเตเดฑ เด…เดจเตเดธเดฐเดฟเดšเตเดšเต "เด—เตเดฐเดพเดฌเต"), เด‡เดตเดฟเดŸเต†เดฏเตเดณเตเดณ เดธเต‚เดšเดฟเด• เด’เดฐเต เดธเตเดŸเตเดฐเต€เด‚ เดเดกเดจเตเดฑเดฟเดซเดฏเดฑเดพเดฏเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต.

เดฒเต‹เด—เต เดฆเตƒเดถเตเดฏเดตเตฝเด•เตเด•เดฐเดฃเด‚

เดฒเต‹เด•เดฟเดฏเดฟเตฝ เดจเดฟเดจเตเดจเต เดฒเต‹เด—เตเด•เตพ เดถเต‡เด–เดฐเดฟเด•เตเด•เตเดจเตเดจเต

LogQL เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด—เตเดฐเดพเดซเดพเดจ เดšเดพเตผเดŸเตเดŸเตเด•เตพเด•เตเด•เดพเดฏเตเดณเตเดณ เด’เดฐเต เดกเดพเดฑเตเดฑ เด‰เดฑเดตเดฟเดŸเดฎเดพเดฏเดฟ เดฒเต‹เด•เดฟเด•เตเด•เต เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เดพเดจเดพเด•เตเด‚. เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดธเดตเดฟเดถเต‡เดทเดคเด•เตพ เดชเดฟเดจเตเดคเตเดฃเดฏเตเด•เตเด•เตเดจเตเดจเต:

  • เดจเดฟเดฐเด•เตเด•เต - เดธเต†เด•เตเด•เตปเดกเดฟเตฝ เดฑเต†เด•เตเด•เต‹เตผเดกเตเด•เดณเตเดŸเต† เดŽเดฃเตเดฃเด‚;
  • เด•เดพเดฒเด•เตเดฐเดฎเต‡เดฃ เดŽเดฃเตเดฃเตเด• - เดจเตฝเด•เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เดถเตเดฐเต‡เดฃเดฟเดฏเดฟเดฒเต† เดฑเต†เด•เตเด•เต‹เตผเดกเตเด•เดณเตเดŸเต† เดŽเดฃเตเดฃเด‚.

Sum, Avg เดŽเดจเตเดจเดฟเดตเดฏเตเด‚ เดฎเดฑเตเดฑเตเดณเตเดณเดตเดฏเตเด‚ เดธเดฎเดพเดนเดฐเดฟเด•เตเด•เตเดจเตเดจ เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เดณเตเดฎเตเดฃเตเดŸเต. เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดตเดณเดฐเต† เดธเด™เตเด•เต€เตผเดฃเตเดฃเดฎเดพเดฏ เด—เตเดฐเดพเดซเตเด•เตพ เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเด‚, เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, HTTP เดชเดฟเดถเด•เตเด•เดณเตเดŸเต† เดŽเดฃเตเดฃเดคเตเดคเดฟเดจเตเดฑเต† เด’เดฐเต เด—เตเดฐเดพเดซเต:

เดฒเต‹เด•เดฟเดฏเดฟเตฝ เดจเดฟเดจเตเดจเต เดฒเต‹เด—เตเด•เตพ เดถเต‡เด–เดฐเดฟเด•เตเด•เตเดจเตเดจเต

เดฒเต‹เด•เตเด•เดฟเดฏเตเดŸเต† เดกเดฟเดซเต‹เตพเดŸเตเดŸเต เดกเดพเดฑเตเดฑเดพ เด‰เดฑเดตเดฟเดŸเด‚ เดชเตเดฐเต‹เดฎเดฟเดคเตเดฏเต‚เดธเต เดกเดพเดฑเตเดฑเดพ เด‰เดฑเดตเดฟเดŸเดคเตเดคเต‡เด•เตเด•เดพเตพ เดชเตเดฐเดตเตผเดคเตเดคเดจเด•เตเดทเดฎเดฎเดฒเตเดฒ (เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดฒเต†เดœเตปเดกเต เดฎเดพเดฑเตเดฑเดพเตป เด•เดดเดฟเดฏเดฟเดฒเตเดฒ), เดŽเดจเตเดจเดพเตฝ เดฒเต‹เด•เตเด•เดฟเดฏเต† เด’เดฐเต เดชเตเดฐเต‹เดฎเดฟเดคเตเดฏเต‚เดธเต เดคเดฐเด‚ เด‰เดฑเดตเดฟเดŸเดฎเดพเดฏเดฟ เดฌเดจเตเดงเดฟเดชเตเดชเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเด‚. เด‡เดคเต เดกเต‹เด•เตเดฏเตเดฎเต†เดจเตเดฑเต เดšเต†เดฏเตเดค เดชเต†เดฐเตเดฎเดพเดฑเตเดฑเดฎเดพเดฃเต‹ เดŽเดจเตเดจเต เดŽเดจเดฟเด•เตเด•เต เด‰เดฑเดชเตเดชเดฟเดฒเตเดฒ, เดชเด•เตเดทเต‡ เดกเต†เดตเดฒเดชเตเดชเตผเดฎเดพเดฐเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดชเตเดฐเดคเดฟเด•เดฐเดฃเดฎเดจเตเดธเดฐเดฟเดšเตเดšเต เดตเดฟเดฒเดฏเดฟเดฐเตเดคเตเดคเตเดจเตเดจเต โ€œเดฒเต‹เด•เตเด•เดฟเดฏเต† เดชเตเดฐเต‹เดฎเดฟเดคเตเดฏเต‚เดธเต เดกเดพเดฑเตเดฑเดพเดธเต‹เดดเตโ€Œเดธเดพเดฏเดฟ เดŽเด™เตเด™เดจเต† เด•เตเดฐเดฎเต€เด•เดฐเดฟเด•เตเด•เดพเด‚? ยท เดฒเด•เตเด•เด‚ #1222 ยท เด—เตเดฐเดพเดซเดพเดจ/เดฒเต‹เด•เดฟโ€, เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เด‡เดคเต เดคเดฟเด•เดšเตเดšเตเด‚ เดจเดฟเดฏเดฎเดชเดฐเดฎเดพเดฃเต เด•เต‚เดŸเดพเดคเต† เดฒเต‹เด•เตเด•เดฟ PromQL-เดฎเดพเดฏเดฟ เดชเต‚เตผเดฃเตเดฃเดฎเดพเดฏเตเด‚ เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเดจเตเดจเต.

Prometheus เดŽเดจเตเดจเต เดŸเตˆเดชเตเดชเต เดšเต†เดฏเตเดคเต เดฒเต‹เด•เตเด•เดฟ เดกเดพเดฑเตเดฑเดพ เด‰เดฑเดตเดฟเดŸเดฎเดพเดฏเดฟ เดšเต‡เตผเดคเตเดคเต URL /loki เดšเต‡เตผเด•เตเด•เตเด•:

เดฒเต‹เด•เดฟเดฏเดฟเตฝ เดจเดฟเดจเตเดจเต เดฒเต‹เด—เตเด•เตพ เดถเต‡เด–เดฐเดฟเด•เตเด•เตเดจเตเดจเต

เดžเด™เตเด™เตพ เดชเตเดฐเต‹เดฎเดฟเดคเตเดฏเต‚เดธเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดฎเต†เดŸเตเดฐเดฟเด•เตโ€Œเดธเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเดคเต เดชเต‹เดฒเต† เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด—เตเดฐเดพเดซเตเด•เตพ เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเด‚:

เดฒเต‹เด•เดฟเดฏเดฟเตฝ เดจเดฟเดจเตเดจเต เดฒเต‹เด—เตเด•เตพ เดถเต‡เด–เดฐเดฟเด•เตเด•เตเดจเตเดจเต

เดชเตเดฐเดตเตผเดคเตเดคเดจเดคเตเดคเดฟเดฒเต† เดชเตŠเดฐเตเดคเตเดคเด•เตเด•เต‡เดŸเต เดคเดพเตฝเด•เตเด•เดพเดฒเดฟเด•เดฎเดพเดฃเต†เดจเตเดจเตเด‚ เดกเดตเดฒเดชเตเดชเตผเดฎเดพเตผ เดญเดพเดตเดฟเดฏเดฟเตฝ เด‡เดคเต เดชเดฐเดฟเดนเดฐเดฟเด•เตเด•เตเดฎเต†เดจเตเดจเตเด‚ เดžเดพเตป เด•เดฐเตเดคเตเดจเตเดจเต.

เดฒเต‹เด•เดฟเดฏเดฟเตฝ เดจเดฟเดจเตเดจเต เดฒเต‹เด—เตเด•เตพ เดถเต‡เด–เดฐเดฟเด•เตเด•เตเดจเตเดจเต

เดฎเต†เดŸเตเดฐเดฟเด•เตเดธเต

เดฒเต‹เด—เตเด•เดณเดฟเตฝ เดจเดฟเดจเตเดจเต เดธเด‚เด–เตเดฏเดพ เด…เดณเดตเตเด•เตพ เดตเต‡เตผเดคเดฟเดฐเดฟเดšเตเดšเต เดชเตเดฐเต‹เดฎเดฟเดคเตเดฏเต‚เดธเดฟเดจเต เด…เดฏเดฏเตเด•เตเด•เดพเดจเตเดณเตเดณ เด•เดดเดฟเดตเต เดฒเต‹เด•เดฟ เดจเตฝเด•เตเดจเตเดจเต. เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, nginx เดฒเต‹เด—เดฟเตฝ เด“เดฐเต‹ เดชเตเดฐเดคเดฟเด•เดฐเดฃเดคเตเดคเดฟเดจเตเด‚ เดฌเตˆเดฑเตเดฑเตเด•เดณเตเดŸเต† เดŽเดฃเตเดฃเด‚ เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต, เด•เต‚เดŸเดพเดคเต† เดธเตเดฑเตเดฑเดพเตปเดกเต‡เตผเดกเต เดฒเต‹เด—เต เดซเต‹เตผเดฎเดพเดฑเตเดฑเดฟเดจเตเดฑเต† เด’เดฐเต เดจเดฟเดถเตเดšเดฟเดค เดชเดฐเดฟเดทเตเด•เตเด•เดฐเดฃเดคเตเดคเต‹เดŸเต†, เดชเตเดฐเดคเดฟเด•เดฐเดฟเด•เตเด•เดพเตป เดŽเดŸเตเดคเตเดค เดจเดฟเดฎเดฟเดทเด™เตเด™เตพเด•เตเด•เตเดณเตเดณ เดธเดฎเดฏเดตเตเด‚. เดˆ เดกเดพเดฑเตเดฑ เดŽเด•เตโ€Œเดธเตโ€ŒเดŸเตเดฐเดพเด•เตโ€Œเดฑเตเดฑเต เดšเต†เดฏเตโ€Œเดคเต เดชเตเดฐเต‹เดฎเดฟเดคเตเดฏเต‚เดธเดฟเดจเต เด…เดฏเดฏเตโ€Œเด•เตเด•เดพเด‚.

promtail.yml-เดฒเต‡เด•เตเด•เต เดฎเดฑเตเดฑเตŠเดฐเต เดตเดฟเดญเดพเด—เด‚ เดšเต‡เตผเด•เตเด•เตเด•:

- match:
   selector: '{request_type="api"}'
   stages:
     - metrics:
         http_nginx_response_time:
           type: Histogram
           description: "response time ms"
           source: response_time
           config:
             buckets: [0.010,0.050,0.100,0.200,0.500,1.0]
- match:
   selector: '{request_type=~"static|photo"}'
   stages:
     - metrics:
         http_nginx_response_bytes_sum:
           type: Counter
           description: "response bytes sum"
           source: bytes_out
           config:
             action: add
         http_nginx_response_bytes_count:
           type: Counter
           description: "response bytes count"
           source: bytes_out
           config:
             action: inc

เดŽเด•เตโ€Œเดธเตโ€ŒเดŸเตเดฐเดพเด•เตโ€Œเดฑเตเดฑเตเดšเต†เดฏเตโ€Œเดค เดฎเดพเดชเตเดชเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดกเดพเดฑเตเดฑเดฏเต† เด…เดŸเดฟเดธเตเดฅเดพเดจเดฎเดพเด•เตเด•เดฟ เดฎเต†เดŸเตเดฐเดฟเด•เตโ€Œเดธเต เดจเดฟเตผเดตเตเดตเดšเดฟเด•เตเด•เดพเดจเตเด‚ เด…เดชเตโ€Œเดกเต‡เดฑเตเดฑเต เดšเต†เดฏเตเดฏเดพเดจเตเด‚ เด“เดชเตโ€Œเดทเตป เดจเดฟเด™เตเด™เดณเต† เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเต. เดˆ เดฎเต†เดŸเตเดฐเดฟเด•เตเด•เตเด•เตพ เดฒเต‹เด•เดฟเดฏเดฟเดฒเต‡เด•เตเด•เต เด…เดฏเดšเตเดšเดฟเดŸเตเดŸเดฟเดฒเตเดฒ - เด…เดต เดชเตเดฐเต‹เด‚เดŸเต†เดฏเดฟเตฝ /เดฎเต†เดŸเตเดฐเดฟเด•เตเดธเต เดŽเตปเดกเตโ€Œเดชเต‹เดฏเดฟเดจเตเดฑเดฟเตฝ เดฆเตƒเดถเตเดฏเดฎเดพเด•เตเด‚. เดˆ เด˜เดŸเตเดŸเดคเตเดคเดฟเตฝ เดจเดฟเดจเตเดจเต เดกเดพเดฑเตเดฑ เดธเตเดตเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เดชเตเดฐเต‹เดฎเดฟเดคเตเดฏเต‚เดธเต เด•เต‹เตบเดซเดฟเด—เตผ เดšเต†เดฏเตเดคเดฟเดฐเดฟเด•เตเด•เดฃเด‚. เดฎเตเด•เดณเดฟเดฒเต† เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเตฝ, request_type="api" เดŽเดจเตเดจเดคเดฟเดจเดพเดฏเดฟ เดžเด™เตเด™เตพ เด’เดฐเต เดนเดฟเดธเตเดฑเตเดฑเต‹เด—เตเดฐเดพเด‚ เดฎเต†เดŸเตเดฐเดฟเด•เต เดถเต‡เด–เดฐเดฟเด•เตเด•เตเดจเตเดจเต. เด‡เดคเตเดคเดฐเดคเตเดคเดฟเดฒเตเดณเตเดณ เดฎเต†เดŸเตเดฐเดฟเด•เตเดธเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดชเต†เตผเดธเต†เดจเตเดฑเตˆเดฒเตเด•เตพ เดฒเดญเดฟเด•เตเด•เตเดจเตเดจเดคเต เดธเต—เด•เดฐเตเดฏเดชเตเดฐเดฆเดฎเดพเดฃเต. เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดฟเด•เตเดธเดฟเดจเตเด‚ เดซเต‹เดŸเตเดŸเต‹เด•เตพเด•เตเด•เตเดฎเดพเดฏเดฟ, เดถเดฐเดพเดถเดฐเดฟ เด•เดฃเด•เตเด•เดพเด•เตเด•เดพเตป เดฌเตˆเดฑเตเดฑเตเด•เดณเตเดŸเต† เด†เด•เต†เดคเตเดคเตเด•เดฏเตเด‚ เดฌเตˆเดฑเตเดฑเตเด•เตพ เดฒเดญเดฟเดšเตเดš เดตเดฐเดฟเด•เดณเตเดŸเต† เดŽเดฃเตเดฃเดตเตเด‚ เดžเด™เตเด™เตพ เดถเต‡เด–เดฐเดฟเด•เตเด•เตเดจเตเดจเต.

เด…เดณเดตเตเด•เดณเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เด•เต‚เดŸเตเดคเตฝ เดตเดพเดฏเดฟเด•เตเด•เตเด• เด‡เดตเดฟเดŸเต†.

เดชเตเดฐเต‹เด‚เดŸเต†เดฏเดฟเดฒเดฟเตฝ เด’เดฐเต เดชเต‹เตผเดŸเตเดŸเต เดคเตเดฑเด•เตเด•เตเด•:

promtail:
     image: grafana/promtail:1.4.1
     container_name: monitoring.promtail
     expose:
       - 9080
     ports:
       - "9080:9080"

promtail_custom เดชเตเดฐเดฟเดซเดฟเด•เตโ€Œเดธเตเดณเตเดณ เดฎเต†เดŸเตเดฐเดฟเด•เตโ€Œเดธเต เดชเตเดฐเดคเตเดฏเด•เตเดทเดชเตเดชเต†เดŸเตเดŸเดฟเดŸเตเดŸเตเดฃเตเดŸเต†เดจเตเดจเต เดžเด™เตเด™เตพ เด‰เดฑเดชเตเดชเดพเด•เตเด•เตเดจเตเดจเต:

เดฒเต‹เด•เดฟเดฏเดฟเตฝ เดจเดฟเดจเตเดจเต เดฒเต‹เด—เตเด•เตพ เดถเต‡เด–เดฐเดฟเด•เตเด•เตเดจเตเดจเต

เดชเตเดฐเตŠเดฎเดฟเดคเตเดฏเต‚เดธเดฟเดจเต† เดธเดœเตเดœเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเต. เดœเต‹เดฒเดฟ เดชเตเดฐเต‹เด‚เดŸเต†เดฏเดฟเตฝ เดšเต‡เตผเด•เตเด•เตเด•:

- job_name: 'promtail'
 scrape_interval: 10s
 static_configs:
   - targets: ['promtail:9080']

เด’เดชเตเดชเด‚ เด’เดฐเต เด—เตเดฐเดพเดซเต เดตเดฐเดฏเตเด•เตเด•เตเด•:

เดฒเต‹เด•เดฟเดฏเดฟเตฝ เดจเดฟเดจเตเดจเต เดฒเต‹เด—เตเด•เตพ เดถเต‡เด–เดฐเดฟเด•เตเด•เตเดจเตเดจเต

เด‡เดคเตเดตเดดเดฟ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด•เดฃเตเดŸเต†เดคเตเดคเดพเดจเดพเด•เตเด‚, เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดตเต‡เด—เดค เด•เตเดฑเดžเตเดž เดจเดพเดฒเต เดšเต‹เดฆเตเดฏเด™เตเด™เตพ. เดˆ เดฎเต†เดŸเตเดฐเดฟเด•เตเด•เตเด•เตพเด•เตเด•เดพเดฏเดฟ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดจเดฟเดฐเต€เด•เตเดทเดฃเด‚ เด•เตเดฐเดฎเต€เด•เดฐเดฟเด•เตเด•เดพเดจเตเด‚ เด•เดดเดฟเดฏเตเด‚.

เดธเตเด•เต†เดฏเดฟเดฒเดฟเด‚เด—เต

เดฒเต‹เด•เตเด•เดฟ เดธเดฟเด‚เด—เดฟเตพ เดฌเตˆเดจเดฑเดฟ เดฎเต‹เดกเดฟเดฒเตเด‚ เดทเดพเตผเดกเดกเต เดฎเต‹เดกเดฟเดฒเตเด‚ (เดคเดฟเดฐเดถเตเดšเต€เดจเดฎเดพเดฏเดฟ เด…เดณเด•เตเด•เดพเดตเตเดจเตเดจ เดฎเต‹เดกเต) เด†เด•เดพเด‚. เดฐเดฃเตเดŸเดพเดฎเดคเตเดคเต† เดธเดพเดนเดšเดฐเตเดฏเดคเตเดคเดฟเตฝ, เด‡เดคเต เด•เตเดฒเต—เดกเดฟเดฒเต‡เด•เตเด•เต เดกเดพเดฑเตเดฑ เดธเด‚เดฐเด•เตเดทเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเด‚, เด•เต‚เดŸเดพเดคเต† เดšเด™เตเด•เตเด•เดณเตเด‚ เดธเต‚เดšเดฟเด•เดฏเตเด‚ เดชเตเดฐเดคเตเดฏเต‡เด•เด‚ เดธเด‚เดญเดฐเดฟเด•เตเด•เตเดจเตเดจเต. เดชเดคเดฟเดชเตเดชเต 1.5 เตฝ, เด’เดฐเดฟเดŸเดคเตเดคเต เดธเด‚เดญเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เด•เดดเดฟเดตเต เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เตเดจเตเดจเต, เดชเด•เตเดทเต‡ เด‡เดคเต เด‰เตฝเดชเตเดชเดพเดฆเดจเดคเตเดคเดฟเตฝ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเตป เด‡เดคเตเดตเดฐเต† เดถเตเดชเดพเตผเดถ เดšเต†เดฏเตเดคเดฟเดŸเตเดŸเดฟเดฒเตเดฒ.

เดฒเต‹เด•เดฟเดฏเดฟเตฝ เดจเดฟเดจเตเดจเต เดฒเต‹เด—เตเด•เตพ เดถเต‡เด–เดฐเดฟเด•เตเด•เตเดจเตเดจเต

เดธเต‚เดšเดฟเด•เด•เตพ เดธเด‚เดญเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต, เดคเดฟเดฐเดถเตเดšเต€เดจเดฎเดพเดฏเดฟ เด…เดณเด•เตเด•เดพเดตเตเดจเตเดจ เดกเดพเดฑเตเดฑเดพเดฌเต‡เดธเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด•: เด•เดธเดพเดจเตเดฆเตเดฐ, เดฌเดฟเด—เตโ€ŒเดŸเต‡เดฌเดฟเตพ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดกเตˆเดจเดพเดฎเต‹เดกเดฟเดฌเดฟ, S3-เด…เดจเตเดฏเต‹เดœเตเดฏเดฎเดพเดฏ เดธเตเดฑเตเดฑเต‹เดฑเต‡เดœเดฟเตฝ เดšเด™เตเด•เตเด•เตพ เดธเด‚เดญเดฐเดฟเด•เตเด•เดพเด‚. เดฒเต‹เด•เดฟเดฏเตเดŸเต† เดฎเดฑเตเดฑเต เดญเดพเด—เด™เตเด™เตพ - เดตเดฟเดคเดฐเดฃเด•เตเด•เดพเตผ (เดŽเดดเตเดคเดพเตป), เด•เตเดตเดฑเดฟเดฏเตผ (เดšเต‹เดฆเตเดฏเด™เตเด™เตพเด•เตเด•เต) - เดจเดฟเดฒเดฏเดฟเดฒเตเดฒเดพเดคเตเดคเดคเตเด‚ เดคเดฟเดฐเดถเตเดšเต€เดจเดฎเดพเดฏเดฟ เดธเตเด•เต†เดฏเดฟเตฝ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเตเดฎเดพเดฃเต.

DevOpsDays Vancouver 2019 เด•เต‹เตบเดซเดฑเตปเดธเดฟเตฝ, เดชเด™เตเด•เต†เดŸเตเดคเตเดคเดตเดฐเดฟเตฝ เด’เดฐเดพเดณเดพเดฏ Callum Styan, เดฒเต‹เด•เดฟเดฏเต‹เดŸเตŠเดชเตเดชเด‚ เดคเดจเตเดฑเต† เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเดฟเดจเต เดฎเตŠเดคเตเดคเด‚ เดตเดฒเตเดชเตเดชเดคเตเดคเดฟเดจเตเดฑเต† 1% เตฝ เดคเดพเดดเต†เดฏเตเดณเตเดณ เดธเต‚เดšเดฟเด•เดฏเตเดณเตเดณ เดชเต†เดฑเตเดฑเดฌเตˆเดฑเตเดฑเต เดฒเต‹เด—เตเด•เตพ เด‰เดฃเตเดŸเต†เดจเตเดจเต เดชเตเดฐเด–เตเดฏเดพเดชเดฟเดšเตเดšเต: "เดฒเต‹เด•เดฟ เดŽเด™เตเด™เดจเต†เดฏเดพเดฃเต เดฎเต†เดŸเตเดฐเดฟเด•เตเดธเตเด‚ เดฒเต‹เด—เตเด•เดณเตเด‚ เดชเดฐเดธเตเดชเดฐเดฌเดจเตเดงเดฟเดคเดฎเดพเด•เตเด•เตเดจเตเดจเดคเต - เดจเดฟเด™เตเด™เดณเตเดŸเต† เดชเดฃเด‚ เดฒเดพเดญเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต".

เดฒเต‹เด•เดฟเดฏเตเดŸเต†เดฏเตเด‚ ELKเดฏเตเดŸเต†เดฏเตเด‚ เดคเดพเดฐเดคเดฎเตเดฏเด‚

เดธเต‚เดšเดฟเด• เดตเดฒเดฟเดชเตเดชเด‚

เดคเดคเตเดซเดฒเดฎเดพเดฏเตเดฃเตเดŸเดพเด•เตเดจเตเดจ เดธเต‚เดšเดฟเด• เดตเดฒเตเดชเตเดชเด‚ เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต, เดฎเตเด•เดณเดฟเดฒเตเดณเตเดณ เดชเตˆเดชเตเดชเตเดฒเตˆเตป เด•เตเดฐเดฎเต€เด•เดฐเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ nginx เด•เดฃเตเดŸเต†เดฏเตเดจเดฑเดฟเตฝ เดจเดฟเดจเตเดจเต เดžเดพเตป เดฒเต‹เด—เตเด•เตพ เดŽเดŸเตเดคเตเดคเต. เดฒเต‹เด—เต เดซเดฏเดฒเดฟเตฝ เด†เด•เต† 406 MB เดตเต‹เดณเดฟเดฏเดฎเตเดณเตเดณ 624 เดฒเตˆเดจเตเด•เตพ เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต. เด’เดฐเต เดฎเดฃเดฟเด•เตเด•เต‚เดฑเดฟเดจเตเดณเตเดณเดฟเตฝ เดฒเต‹เด—เตเด•เตพ เดธเตƒเดทเตเดŸเดฟเดšเตเดšเต, เดธเต†เด•เตเด•เตปเดกเดฟเตฝ เดเด•เดฆเต‡เดถเด‚ 109 เดฑเต†เด•เตเด•เต‹เตผเดกเตเด•เตพ.

เดฒเต‹เด—เดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดฐเดฃเตเดŸเต เดตเดฐเดฟเด•เดณเตเดŸเต† เด’เดฐเต เด‰เดฆเดพเดนเดฐเดฃเด‚:

เดฒเต‹เด•เดฟเดฏเดฟเตฝ เดจเดฟเดจเตเดจเต เดฒเต‹เด—เตเด•เตพ เดถเต‡เด–เดฐเดฟเด•เตเด•เตเดจเตเดจเต

ELK เดธเต‚เดšเดฟเด•เดฏเดฟเดฒเดพเด•เตเด•เดฟเดฏเดชเตเดชเต‹เตพ, เด‡เดคเต 30,3 MB เดŽเดจเตเดจ เดธเต‚เดšเดฟเด• เดตเดฒเตเดชเตเดชเด‚ เดจเตฝเด•เดฟ:

เดฒเต‹เด•เดฟเดฏเดฟเตฝ เดจเดฟเดจเตเดจเต เดฒเต‹เด—เตเด•เตพ เดถเต‡เด–เดฐเดฟเด•เตเด•เตเดจเตเดจเต

เดฒเต‹เด•เดฟเดฏเตเดŸเต† เด•เดพเดฐเตเดฏเดคเตเดคเดฟเตฝ, เด‡เดคเต เดเด•เดฆเต‡เดถเด‚ 128 KB เดธเต‚เดšเดฟเด•เดฏเตเด‚ เดเด•เดฆเต‡เดถเด‚ 3,8 MB เดกเดพเดฑเตเดฑเดฏเตเด‚ เดšเด™เตเด•เตเด•เดณเดฟเตฝ เดจเตฝเด•เดฟ. เดฒเต‹เด—เต เด•เตƒเดคเตเดฐเดฟเดฎเดฎเดพเดฏเดฟ เดœเดจเดฑเต‡เดฑเตเดฑเตเดšเต†เดฏเตโ€Œเดคเดคเตเด‚ เดตเตˆเดตเดฟเดงเตเดฏเดฎเดพเตผเดจเตเดจ เดกเดพเดฑเตเดฑ เดซเต€เดšเตเดšเตผ เดšเต†เดฏเตเดคเดฟเดŸเตเดŸเดฟเดฒเตเดฒเต†เดจเตเดจเดคเตเด‚ เดถเตเดฐเดฆเตเดงเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเดพเดฃเต. เด’เดฑเดฟเดœเดฟเดจเตฝ เดกเต‹เด•เตเด•เตผ JSON เดฒเต‹เด—เต เดกเดพเดฑเตเดฑ เดธเดนเดฟเดคเดฎเตเดณเตเดณ เด’เดฐเต เดฒเดณเดฟเดคเดฎเดพเดฏ เดœเดฟเดธเดฟเดชเตเดชเต 95,4% เด•เด‚เดชเตเดฐเดทเตป เดจเตฝเด•เดฟ, เดตเตƒเดคเตเดคเดฟเดฏเดพเด•เตเด•เดฟเดฏ nginx เดฒเต‹เด—เต เดฎเดพเดคเตเดฐเดฎเต‡ เดฒเต‹เด•เดฟเดฏเดฟเดฒเต‡เด•เตเด•เต เด…เดฏเดšเตเดšเดฟเดŸเตเดŸเตเดณเตเดณเต‚ เดŽเดจเตเดจเดคเดฟเดจเดพเตฝ, 4 MB-เดฏเดฟเดฒเต‡เด•เตเด•เตเดณเตเดณ เด•เด‚เดชเตเดฐเดทเตป เดฎเดจเดธเตเดธเดฟเดฒเดพเด•เตเด•เดพเดตเตเดจเตเดจเดคเต‡เดฏเตเดณเตเดณเต‚. เดฒเต‹เด•เดฟ เดฒเต‡เดฌเดฒเตเด•เตพเด•เตเด•เตเดณเตเดณ เดคเดจเดคเดพเดฏ เดฎเต‚เดฒเตเดฏเด™เตเด™เดณเตเดŸเต† เด†เด•เต† เดŽเดฃเตเดฃเด‚ 35 เด†เดฏเดฟเดฐเตเดจเตเดจเต, เด‡เดคเต เดธเต‚เดšเดฟเด•เดฏเตเดŸเต† เดšเต†เดฑเดฟเดฏ เดตเดฒเดฟเดชเตเดชเด‚ เดตเดฟเดถเดฆเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเต. ELK-เดฏเตโ€Œเด•เตเด•เต, เดฒเต‹เด—เตเด‚ เดฎเดพเดฏเตโ€Œเดšเตเดšเต. เด…เด™เตเด™เดจเต†, เดฒเต‹เด•เตเด•เดฟ เดฏเดฅเดพเตผเดคเตเดฅ เดกเดพเดฑเตเดฑ 96%, ELK 70% เดŽเดจเตเดจเดฟเด™เตเด™เดจเต† เดšเตเดฐเตเด•เตเด•เดฟ.

เดฎเต†เดฎเตเดฎเดฑเดฟ เด‰เดชเดญเต‹เด—เด‚

เดฒเต‹เด•เดฟเดฏเดฟเตฝ เดจเดฟเดจเตเดจเต เดฒเต‹เด—เตเด•เตพ เดถเต‡เด–เดฐเดฟเด•เตเด•เตเดจเตเดจเต

เดชเตเดฐเต‹เดฎเดฟเดคเตเดฏเต‚เดธเดฟเดจเตเดฑเต†เดฏเตเด‚ ELK เดฏเตเดŸเต†เดฏเตเด‚ เดฎเตเดดเตเดตเตป เดธเตเดฑเตเดฑเดพเด•เตเด•เตเด‚ เดคเดพเดฐเดคเดฎเตเดฏเด‚ เดšเต†เดฏเตเดคเดพเตฝ, เดฒเต‹เด•เตเด•เดฟ "เดคเดฟเดจเตเดจเตเดจเตเดจเต" เดชเดฒ เดฎเดŸเด™เตเด™เต เด•เตเดฑเดตเดพเดฃเต. Go เดธเต‡เดตเดจเด‚ เดœเดพเดต เดธเต‡เดตเดจเดคเตเดคเต‡เด•เตเด•เดพเตพ เด•เตเดฑเดตเดพเดฃเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดคเต†เดจเตเดจเต เดตเตเดฏเด•เตเดคเดฎเดพเดฃเต, เด•เต‚เดŸเดพเดคเต† Heap Elasticsearch JVM เดจเตเดฑเต† เดตเดฒเตเดชเตเดชเดตเตเด‚ เดฒเต‹เด•เดฟเด•เตเด•เต เด…เดจเตเดตเดฆเดฟเดšเตเดš เดฎเต†เดฎเตเดฎเดฑเดฟเดฏเตเด‚ เดคเดพเดฐเดคเดฎเตเดฏเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเต เดคเต†เดฑเตเดฑเดพเดฃเต, เดŽเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด‚, เดฒเต‹เด•เตเด•เดฟ เดตเดณเดฐเต† เด•เตเดฑเดšเตเดšเต เดฎเต†เดฎเตเดฎเดฑเดฟ เดฎเดพเดคเตเดฐเดฎเต‡ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเตเดณเตเดณเต‚ เดŽเดจเตเดจเดคเต เดถเตเดฐเดฆเตเดงเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเดพเดฃเต. เด‡เดคเดฟเดจเตเดฑเต† เดธเดฟเดชเดฟเดฏเต เด—เตเดฃเด‚ เด…เดคเตเดฐ เดตเตเดฏเด•เตเดคเดฎเดฒเตเดฒ, เดชเด•เตเดทเต‡ เด…เดคเต เดจเดฟเดฒเดตเดฟเดฒเตเดฃเตเดŸเต.

เดตเต‡เด—เดค

เดฒเต‹เด•เดฟ เดฒเต‹เด—เตเด•เตพ เดตเต‡เด—เดคเตเดคเดฟเตฝ "เดตเดฟเดดเตเด™เตเด™เตเดจเตเดจเต". เดธเตเดชเต€เดกเต เดชเดฒ เด˜เดŸเด•เด™เตเด™เดณเต† เด†เดถเตเดฐเดฏเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต - เดเดคเตเดคเดฐเด‚ เดฒเต‹เด—เตเด•เตพ, เดŽเดคเตเดฐ เดธเด™เตเด•เต€เตผเดฃเตเดฃเดฎเดพเดฃเต เดžเด™เตเด™เตพ เด…เดตเดฏเต† เดชเดพเดดเตโ€Œเดธเต เดšเต†เดฏเตเดฏเตเดจเตเดจเต, เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต, เดกเดฟเดธเตเด•เต เดฎเตเดคเดฒเดพเดฏเดต - เดŽเดจเตเดจเดพเตฝ เด‡เดคเต เดคเต€เตผเดšเตเดšเดฏเดพเดฏเตเด‚ ELK-เดฏเต‡เด•เตเด•เดพเตพ เด‰เดฏเตผเดจเตเดจเดคเดพเดฃเต (เดŽเดจเตเดฑเต† เดชเดฐเดฟเดถเต‹เดงเดจเดฏเดฟเตฝ - เดเด•เดฆเต‡เดถเด‚ เดฐเดฃเตเดŸเต เดคเดตเดฃ). เดฒเต‹เด•เดฟ เดธเต‚เดšเดฟเด•เดฏเดฟเตฝ เดตเดณเดฐเต† เด•เตเดฑเดšเตเดšเต เดกเดพเดฑเตเดฑ เด‡เดŸเตเดจเตเดจเต, เด…เดคเดฟเดจเดจเตเดธเดฐเดฟเดšเตเดšเต, เด‡เตปเดกเต†เด•เตโ€Œเดธเดฟเด‚เด—เดฟเตฝ เด•เตเดฑเดšเตเดšเต เดธเดฎเดฏเด‚ เดšเต†เดฒเดตเดดเดฟเด•เตเด•เตเดจเตเดจเต เดŽเดจเตเดจ เดตเดธเตเดคเตเดค เด‡เดคเต เดตเดฟเดถเดฆเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเต. เดˆ เดธเดพเดนเดšเดฐเตเดฏเดคเตเดคเดฟเตฝ, เดคเดฟเดฐเดฏเตฝ เดตเต‡เด—เดคเดฏเดฟเตฝ เดธเตเดฅเดฟเดคเดฟ เดตเดฟเดชเดฐเต€เดคเดฎเดพเดฃเต: เดฒเต‹เด•เดฟ เด•เตเดฑเดšเตเดšเต เดœเดฟเด—เดพเดฌเตˆเดฑเตเดฑเตเด•เดณเต‡เด•เตเด•เดพเตพ เดตเดฒเดฟเดฏ เดกเดพเดฑเตเดฑเดฏเดฟเตฝ เดฎเดจเตเดฆเด—เดคเดฟเดฏเดฟเดฒเดพเด•เตเดจเตเดจเต, เด…เดคเต‡เดธเดฎเดฏเด‚ ELK-เดฏเต† เดธเด‚เดฌเดจเตเดงเดฟเดšเตเดšเดฟเดŸเดคเตเดคเต‹เดณเด‚ เดคเดฟเดฐเดฏเตฝ เดตเต‡เด—เดค เดกเดพเดฑเตเดฑ เดตเดฒเตเดชเตเดชเดคเตเดคเต† เด†เดถเตเดฐเดฏเดฟเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒ.

เดฒเต‹เด—เต เดคเดฟเดฐเดฏเตฝ

เดฒเต‹เด—เต เดธเต†เตผเดšเตเดšเต เด•เดดเดฟเดตเตเด•เดณเตเดŸเต† เด•เดพเดฐเตเดฏเดคเตเดคเดฟเตฝ เดฒเต‹เด•เดฟ ELK-เดฏเต†เด•เตเด•เดพเตพ เดตเดณเดฐเต† เดคเดพเดดเตเดจเตเดจเดคเดพเดฃเต. เดชเดคเดฟเดตเต เดŽเด•เตเดธเตเดชเตเดฐเดทเดจเตเด•เดณเตเดณเตเดณ เด—เตเดฐเต†เดชเตเดชเต เด’เดฐเต เดถเด•เตเดคเดฎเดพเดฏ เด•เดพเดฐเตเดฏเดฎเดพเดฃเต, เดชเด•เตเดทเต‡ เด‡เดคเต เดฎเตเดคเดฟเตผเดจเตเดจเดตเดฐเตเดŸเต† เดกเดพเดฑเตเดฑเดพเดฌเต‡เดธเดฟเดจเต‡เด•เตเด•เดพเตพ เดคเดพเดดเตเดจเตเดจเดคเดพเดฃเต. เดฑเต‡เดžเตเดšเต เด…เดจเตเดตเต‡เดทเดฃเด™เตเด™เดณเตเดŸเต† เด…เดญเดพเดตเด‚, เดฒเต‡เดฌเดฒเตเด•เดณเดพเตฝ เดฎเดพเดคเตเดฐเด‚ เด•เต‚เดŸเตเดŸเดฟเดšเตเดšเต‡เตผเด•เตเด•เตฝ, เดฒเต‡เดฌเดฒเตเด•เดณเดฟเดฒเตเดฒเดพเดคเต† เดคเดฟเดฐเดฏเดพเดจเตเดณเตเดณ เด•เดดเดฟเดตเดฟเดฒเตเดฒเดพเดฏเตเดฎ - เด‡เดคเต†เดฒเตเดฒเดพเด‚ เดฒเต‹เด•เดฟเดฏเดฟเตฝ เดคเดพเตฝเดชเตเดชเดฐเตเดฏเดฎเตเดณเตเดณ เดตเดฟเดตเดฐเด™เตเด™เตพ เดคเดฟเดฐเดฏเตเดจเตเดจเดคเดฟเตฝ เดžเด™เตเด™เดณเต† เดชเดฐเดฟเดฎเดฟเดคเดชเตเดชเต†เดŸเตเดคเตเดคเตเดจเตเดจเต. เดฒเต‹เด•เดฟ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด’เดจเตเดจเตเด‚ เด•เดฃเตเดŸเต†เดคเตเดคเดพเดจเดพเด•เดฟเดฒเตเดฒเต†เดจเตเดจเต เด‡เดคเต เด…เตผเดคเตเดฅเดฎเดพเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒ, เดŽเดจเตเดจเดพเตฝ เดจเดฟเด™เตเด™เตพ เด†เดฆเตเดฏเด‚ เดชเตเดฐเต‹เดฎเดฟเดคเตเดฏเต‚เดธเต เดšเดพเตผเดŸเตเดŸเตเด•เดณเดฟเตฝ เด’เดฐเต เดชเตเดฐเดถเตเดจเด‚ เด•เดฃเตเดŸเต†เดคเตเดคเตเดฎเตเดชเต‹เตพ, เดˆ เดฒเต‡เดฌเดฒเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดฒเต‹เด—เตเด•เดณเดฟเตฝ เดŽเดจเตเดคเดพเดฃเต เดธเด‚เดญเดตเดฟเดšเตเดšเดคเต†เดจเตเดจเต เดจเต‹เด•เตเด•เตเดฎเตเดชเต‹เตพ, เดฒเต‹เด—เตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดฑเต† เด’เดดเตเด•เตเด•เต เด‡เดคเต เดจเดฟเตผเดตเดšเดฟเด•เตเด•เตเดจเตเดจเต.

เด‡เดจเตเดฑเตผเดซเต‡เดธเต

เด†เดฆเตเดฏเด‚, เด‡เดคเต เดฎเดจเต‹เดนเดฐเดฎเดพเดฃเต (เด•เตเดทเดฎเดฟเด•เตเด•เดฃเด‚, เดŽเดคเดฟเตผเด•เตเด•เดพเตป เด•เดดเดฟเดžเตเดžเดฟเดฒเตเดฒ). เด—เตเดฐเดพเดซเดพเดจเดฏเตเด•เตเด•เต เดฎเดจเต‹เดนเดฐเดฎเดพเดฏเดฟ เด•เดพเดฃเดชเตเดชเต†เดŸเตเดจเตเดจ เด‡เดจเตเดฑเตผเดซเต‡เดธเต เด‰เดฃเตเดŸเต, เดŽเดจเตเดจเดพเตฝ เด•เดฟเดฌเดพเดจ เด•เต‚เดŸเตเดคเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดจเด•เตเดทเดฎเดฎเดพเดฃเต.

เดฒเต‹เด•เดฟ เด—เตเดฃเดตเตเด‚ เดฆเต‹เดทเดตเตเด‚

เดชเตเดฒเดธเตเดธเตเด•เดณเดฟเตฝ, เดฒเต‹เด•เตเด•เดฟ เดฏเดฅเดพเด•เตเดฐเดฎเด‚ เดชเตเดฐเต‹เดฎเดฟเดคเตเดฏเต‚เดธเตเดฎเดพเดฏเดฟ เดธเด‚เดฏเต‹เดœเดฟเด•เตเด•เตเดจเตเดจเต เดŽเดจเตเดจเดคเต เดถเตเดฐเดฆเตเดงเดฟเด•เตเด•เดพเดตเตเดจเตเดจเดคเดพเดฃเต, เดžเด™เตเด™เตพเด•เตเด•เต เดฎเต†เดŸเตเดฐเดฟเด•เตเดธเตเด‚ เดฌเต‹เด•เตโ€Œเดธเดฟเดจเต เดชเตเดฑเดคเตเดคเต เด…เดฒเต‡เตผเดŸเตเดŸเดฟเด‚เด—เตเด‚ เดฒเดญเดฟเด•เตเด•เตเด‚. เดชเตเดฐเต‹เดฎเดฟเดคเตเดฏเต‚เดธเดฟเตฝ เดจเดฟเดจเตเดจเต เดชเดพเดฐเดฎเตเดชเดฐเตเดฏเดฎเดพเดฏเดฟ เดฒเดญเดฟเดšเตเดš เด’เดฐเต เดธเต‡เดตเดจ เด•เดฃเตเดŸเต†เดคเตเดคเตฝ เด‰เดณเตเดณเดคเดฟเดจเดพเดฒเตเด‚ เดฒเต‡เดฌเดฒเตเด•เตพ เดธเตเดตเดฏเดฎเต‡เดต เด…เดฑเตเดฑเดพเดšเตเดšเตเดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเดพเดฒเตเด‚ เดฒเต‹เด—เตเด•เตพ เดถเต‡เด–เดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเด‚ เด…เดตเดฏเต† เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเต เดชเต‹เดกเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดธเด‚เดญเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเด‚ เด‡เดคเต เดธเต—เด•เดฐเตเดฏเดชเตเดฐเดฆเดฎเดพเดฃเต.

เดชเต‹เดฐเดพเดฏเตเดฎเด•เดณเดฟเตฝ - เดฎเต‹เดถเด‚ เดกเต‹เด•เตเดฏเตเดฎเต†เดจเตเดฑเต‡เดทเตป. เดชเตเดฐเต‹เด‚เดŸเต†เดฏเดฟเดฒเดฟเดจเตเดฑเต† เดธเดตเดฟเดถเต‡เดทเดคเด•เดณเตเด‚ เด•เดดเดฟเดตเตเด•เดณเตเด‚ เดชเต‹เดฒเตเดณเตเดณ เดšเดฟเดฒ เด•เดพเดฐเตเดฏเด™เตเด™เตพ, เด•เต‹เดกเต เดชเด เดฟเด•เตเด•เตเดจเตเดจ เดชเตเดฐเด•เตเดฐเดฟเดฏเดฏเดฟเตฝ เดฎเดพเดคเตเดฐเดฎเดพเดฃเต เดžเดพเตป เด•เดฃเตเดŸเต†เดคเตเดคเดฟเดฏเดคเต, เด“เดชเตเดชเตบ เดธเต‹เดดเตโ€Œเดธเดฟเดจเตเดฑเต† เดชเตเดฐเดฏเต‹เดœเดจเด‚. เดฎเดฑเตเดฑเตŠเดฐเต เดชเต‹เดฐเดพเดฏเตเดฎ เดฆเตเตผเดฌเดฒเดฎเดพเดฏ เดชเดพเดดเตเดธเดฟเด‚เด—เต เด•เดดเดฟเดตเตเด•เดณเดพเดฃเต. เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดฒเต‹เด•เดฟเด•เตเด•เต เดฎเตพเดŸเตเดŸเดฟเดฒเตˆเตป เดฒเต‹เด—เตเด•เตพ เดชเดพเดดเตโ€Œเดธเต เดšเต†เดฏเตเดฏเดพเตป เด•เดดเดฟเดฏเดฟเดฒเตเดฒ. เด•เต‚เดŸเดพเดคเต†, เดฒเต‹เด•เตเด•เดฟ เดคเดพเดฐเดคเดฎเตเดฏเต‡เดจ เดฏเตเดต เดธเดพเด™เตเด•เต‡เดคเดฟเด•เดตเดฟเดฆเตเดฏเดฏเดพเดฃเต†เดจเตเดจ เดตเดธเตเดคเตเดคเดฏเตเด‚ เดชเต‹เดฐเดพเดฏเตเดฎเด•เดณเดฟเตฝ เด‰เตพเดชเตเดชเต†เดŸเตเดจเตเดจเต (เดฑเดฟเดฒเต€เดธเต 1.0 2019 เดจเดตเด‚เดฌเดฑเดฟเดฒเดพเดฏเดฟเดฐเตเดจเตเดจเต).

เดคเต€เดฐเตเดฎเดพเดจเด‚

เดฒเต‹เด—เต เด…เด—เตเดฐเด—เต‡เดทเตป, เดฒเต‹เด—เต เดคเดฟเดฐเดฏเตฝ, เดจเดฟเดฐเต€เด•เตเดทเดฃเด‚, เดฒเต‹เด—เตเด•เดณเตเดŸเต† เดตเดฟเดถเด•เดฒเดจเด‚ เดŽเดจเตเดจเดฟเดตเดฏเตเดŸเต† เดจเดฟเดฐเดตเดงเดฟ เดชเตเดฐเดถเตเดจเด™เตเด™เตพ เดชเดฐเดฟเดนเดฐเดฟเด•เตเด•เดพเตป เดจเดฟเด™เตเด™เดณเต† เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจ, เดšเต†เดฑเตเดคเตเด‚ เด‡เดŸเดคเตเดคเดฐเดตเตเดฎเดพเดฏ เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเตเด•เตพเด•เตเด•เต เด…เดจเตเดฏเต‹เดœเตเดฏเดฎเดพเดฏ 100% เดฐเดธเด•เดฐเดฎเดพเดฏ เดธเดพเด™เตเด•เต‡เดคเดฟเด•เดตเดฟเดฆเตเดฏเดฏเดพเดฃเต เดฒเต‹เด•เดฟ.

Badoo-เตฝ เดžเด™เตเด™เตพ เดฒเต‹เด•เดฟ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒ, เด•เดพเดฐเดฃเด‚ เดžเด™เตเด™เตพเด•เตเด•เต เด…เดจเตเดฏเต‹เดœเตเดฏเดฎเดพเดฏ เด’เดฐเต ELK เดธเตเดฑเตเดฑเดพเด•เตเด•เต เดžเด™เตเด™เดณเตเดŸเต† เดชเด•เตเด•เดฒเตเดฃเตเดŸเต, เด…เดคเต เดตเตผเดทเด™เตเด™เดณเดพเดฏเดฟ เดตเดฟเดตเดฟเดง เด‡เดทเตโ€ŒเดŸเดพเดจเตเดธเตƒเดค เดชเดฐเดฟเดนเดพเดฐเด™เตเด™เดณเดพเตฝ เดตเดณเตผเดจเตเดจเต. เดฒเต‹เด—เตเด•เดณเดฟเดฒเต† เดคเดฟเดฐเดฏเดฒเดพเดฃเต เดžเด™เตเด™เดณเต† เดธเด‚เดฌเดจเตเดงเดฟเดšเตเดšเดฟเดŸเดคเตเดคเต‹เดณเด‚ เด‡เดŸเตผเดšเตเดš. เดชเตเดฐเดคเดฟเดฆเดฟเดจเด‚ เดเด•เดฆเต‡เดถเด‚ 100 GB เดฒเต‹เด—เตเด•เตพ เด‰เดณเตเดณเดคเดฟเดจเดพเตฝ, เดŽเดฒเตเดฒเดพเด‚ เด•เดฃเตเดŸเต†เดคเตเดคเดฟ เด•เตเดฑเดšเตเดšเต เด•เต‚เดŸเดฟ เดตเต‡เด—เดคเตเดคเดฟเตฝ เด…เดคเต เดšเต†เดฏเตเดฏเดพเตป เด•เดดเดฟเดฏเตเดจเตเดจเดคเต เดžเด™เตเด™เตพเด•เตเด•เต เดชเตเดฐเดงเดพเดจเดฎเดพเดฃเต. เดšเดพเตผเดŸเตเดŸเดฟเด‚เด—เดฟเดจเตเด‚ เดจเดฟเดฐเต€เด•เตเดทเดฃเดคเตเดคเดฟเดจเตเดฎเดพเดฏเดฟ, เดžเด™เตเด™เดณเตเดŸเต† เด†เดตเดถเตเดฏเด™เตเด™เตพเด•เตเด•เต เด…เดจเตเดฏเต‹เดœเตเดฏเดฎเดพเดฏเดคเตเด‚ เดชเดฐเดธเตเดชเดฐเด‚ เดธเด‚เดฏเต‹เดœเดฟเดชเตเดชเดฟเดšเตเดšเดคเตเดฎเดพเดฏ เดฎเดฑเตเดฑเต เดชเดฐเดฟเดนเดพเดฐเด™เตเด™เตพ เดžเด™เตเด™เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต. เดฒเต‹เด•เตเด•เดฟ เดธเตเดฑเตเดฑเดพเด•เตเด•เดฟเดจเต เดตเตเดฏเด•เตเดคเดฎเดพเดฏ เดจเต‡เดŸเตเดŸเด™เตเด™เดณเตเดฃเตเดŸเต, เดชเด•เตเดทเต‡ เด…เดคเต เดจเดฎเตเด•เตเด•เต เด‰เดณเตเดณเดคเดฟเดจเต‡เด•เตเด•เดพเตพ เด•เต‚เดŸเตเดคเตฝ เดจเตฝเด•เดฟเดฒเตเดฒ, เดฎเดพเดคเตเดฐเดฎเดฒเตเดฒ เด…เดคเดฟเดจเตเดฑเต† เดจเต‡เดŸเตเดŸเด™เตเด™เตพ เดฎเตˆเด—เตเดฐเต‡เดฑเตเดฑเดฟเด‚เด—เต เดšเต†เดฒเดตเดฟเดจเต‡เด•เตเด•เดพเตพ เด•เต‚เดŸเตเดคเดฒเดพเด•เดฟเดฒเตเดฒ.

เด—เดตเต‡เดทเดฃเดคเตเดคเดฟเดจเต เดถเต‡เดทเด‚ เดžเด™เตเด™เตพเด•เตเด•เต เดฒเต‹เด•เดฟ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเดฟเดฒเตเดฒเต†เดจเตเดจเต เดตเตเดฏเด•เตเดคเดฎเดพเดฏเต†เด™เตเด•เดฟเดฒเตเด‚, เดคเดฟเดฐเดžเตเดžเต†เดŸเตเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เดˆ เดชเต‹เดธเตเดฑเตเดฑเต เดจเดฟเด™เตเด™เดณเต† เดธเดนเดพเดฏเดฟเด•เตเด•เตเดฎเต†เดจเตเดจเต เดžเด™เตเด™เตพ เดชเตเดฐเดคเต€เด•เตเดทเดฟเด•เตเด•เตเดจเตเดจเต.

เดฒเต‡เด–เดจเดคเตเดคเดฟเตฝ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เด•เต‹เดกเตเดณเตเดณ เดถเต‡เด–เดฐเด‚ เดธเตเดฅเดฟเดคเดฟเดšเต†เดฏเตเดฏเตเดจเตเดจเต เด‡เดตเดฟเดŸเต†.

เด…เดตเดฒเด‚เดฌเด‚: www.habr.com

เด’เดฐเต เด…เดญเดฟเดชเตเดฐเดพเดฏเด‚ เดšเต‡เตผเด•เตเด•เตเด•