แƒšแƒแƒ™แƒ˜แƒ“แƒแƒœ แƒ›แƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ’แƒ แƒแƒ•แƒ”แƒ‘แƒ

แƒšแƒแƒ™แƒ˜แƒ“แƒแƒœ แƒ›แƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ’แƒ แƒแƒ•แƒ”แƒ‘แƒ

Badoo-แƒจแƒ˜ แƒฉแƒ•แƒ”แƒœ แƒ›แƒฃแƒ“แƒ›แƒ˜แƒ•แƒแƒ“ แƒ•แƒแƒ™แƒ•แƒ˜แƒ แƒ“แƒ”แƒ‘แƒ˜แƒ— แƒแƒฎแƒแƒš แƒขแƒ”แƒฅแƒœแƒแƒšแƒแƒ’แƒ˜แƒ”แƒ‘แƒก แƒ“แƒ แƒ•แƒแƒคแƒแƒกแƒ”แƒ‘แƒ— แƒฆแƒ˜แƒ แƒก แƒ—แƒฃ แƒแƒ แƒ แƒ›แƒแƒ—แƒ˜ แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ แƒฉแƒ•แƒ”แƒœแƒก แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒแƒจแƒ˜. แƒฉแƒ•แƒ”แƒœ แƒ’แƒ•แƒกแƒฃแƒ แƒก แƒ’แƒแƒ•แƒฃแƒ–แƒ˜แƒแƒ แƒแƒ— แƒ”แƒ แƒ—-แƒ”แƒ แƒ—แƒ˜ แƒแƒกแƒ”แƒ—แƒ˜ แƒ™แƒ•แƒšแƒ”แƒ•แƒ แƒกแƒแƒ–แƒแƒ’แƒแƒ“แƒแƒ”แƒ‘แƒแƒก. แƒ˜แƒ’แƒ˜ แƒ”แƒซแƒฆแƒ•แƒœแƒ”แƒ‘แƒ แƒšแƒแƒ™แƒ˜แƒก, แƒŸแƒฃแƒ แƒœแƒแƒšแƒ˜แƒก แƒแƒ’แƒ แƒ”แƒ’แƒแƒชแƒ˜แƒ˜แƒก แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒแƒก.

Loki แƒแƒ แƒ˜แƒก แƒ’แƒแƒ“แƒแƒฌแƒงแƒ•แƒ”แƒขแƒ แƒŸแƒฃแƒ แƒœแƒแƒšแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒœแƒแƒฎแƒแƒ“ แƒ“แƒ แƒกแƒแƒœแƒแƒฎแƒแƒ•แƒแƒ“ แƒ“แƒ แƒ”แƒก แƒ“แƒแƒกแƒขแƒ แƒแƒกแƒ”แƒ•แƒ” แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒก แƒ›แƒแƒฅแƒœแƒ˜แƒš แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒแƒก แƒ›แƒแƒ—แƒ˜ แƒแƒœแƒแƒšแƒ˜แƒ–แƒ˜แƒกแƒ แƒ“แƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒžแƒ แƒแƒ›แƒ”แƒ—แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ’แƒแƒ’แƒ–แƒแƒ•แƒœแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒ›แƒแƒ˜แƒกแƒจแƒ˜ แƒ™แƒ˜แƒ“แƒ”แƒ• แƒ”แƒ แƒ—แƒ˜ แƒ’แƒแƒœแƒแƒฎแƒšแƒ”แƒ‘แƒ แƒ’แƒแƒ›แƒแƒ•แƒ˜แƒ“แƒ, แƒ แƒแƒ›แƒ”แƒšแƒกแƒแƒช แƒจแƒ”แƒ›แƒฅแƒ›แƒœแƒ”แƒšแƒ”แƒ‘แƒ˜ แƒแƒฅแƒขแƒ˜แƒฃแƒ แƒแƒ“ แƒฃแƒญแƒ”แƒ แƒ”แƒœ แƒ›แƒฎแƒแƒ แƒก. แƒฉแƒ•แƒ”แƒœ แƒ’แƒ•แƒแƒ˜แƒœแƒขแƒ”แƒ แƒ”แƒกแƒ”แƒ‘แƒ“แƒ, แƒ แƒ˜แƒกแƒ˜ แƒ’แƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒ แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒ Loki-แƒก, แƒ แƒ แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒšแƒแƒ‘แƒ”แƒ‘แƒก แƒ˜แƒซแƒšแƒ”แƒ•แƒ แƒ“แƒ แƒ แƒแƒ›แƒ“แƒ”แƒœแƒแƒ“ แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒ แƒ˜แƒ›แƒแƒฅแƒ›แƒ”แƒ“แƒแƒก แƒ แƒแƒ’แƒแƒ แƒช แƒแƒšแƒขแƒ”แƒ แƒœแƒแƒขแƒ˜แƒ•แƒ ELK-แƒ˜แƒก, แƒกแƒขแƒ”แƒ™แƒ˜แƒก, แƒ แƒแƒ›แƒ”แƒšแƒกแƒแƒช แƒแƒฎแƒšแƒ แƒ•แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ—.

แƒ แƒ แƒแƒ แƒ˜แƒก แƒšแƒแƒ™แƒ˜

Grafana Loki แƒแƒ แƒ˜แƒก แƒ™แƒแƒ›แƒžแƒแƒœแƒ”แƒœแƒขแƒ”แƒ‘แƒ˜แƒก แƒœแƒแƒ™แƒ แƒ”แƒ‘แƒ˜ แƒšแƒแƒ’แƒ”แƒ‘แƒ—แƒแƒœ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒก แƒกแƒ แƒฃแƒšแƒ˜ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒกแƒฎแƒ•แƒ แƒ›แƒกแƒ’แƒแƒ•แƒกแƒ˜ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒกแƒ’แƒแƒœ แƒ’แƒแƒœแƒกแƒฎแƒ•แƒแƒ•แƒ”แƒ‘แƒ˜แƒ—, แƒšแƒแƒ™แƒ˜ แƒ”แƒ›แƒงแƒแƒ แƒ”แƒ‘แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒŸแƒฃแƒ แƒœแƒแƒšแƒ˜แƒก แƒ›แƒ”แƒขแƒแƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก - แƒ”แƒขแƒ˜แƒ™แƒ”แƒขแƒ”แƒ‘แƒ˜แƒก แƒ˜แƒœแƒ“แƒ”แƒฅแƒกแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒ˜แƒ“แƒ”แƒแƒก (แƒ˜แƒ’แƒ˜แƒ•แƒ”, แƒ แƒแƒช แƒžแƒ แƒแƒ›แƒ”แƒ—แƒ”แƒจแƒ˜) แƒ“แƒ แƒ—แƒแƒ•แƒแƒ“ แƒŸแƒฃแƒ แƒœแƒแƒšแƒ”แƒ‘แƒ˜แƒก แƒชแƒแƒšแƒ™แƒ”แƒฃแƒš แƒœแƒแƒฌแƒ˜แƒšแƒ”แƒ‘แƒแƒ“ แƒจแƒ”แƒ™แƒฃแƒ›แƒจแƒ•แƒแƒก.

แƒ›แƒ—แƒแƒ•แƒแƒ แƒ˜ แƒ’แƒ•แƒ”แƒ แƒ“แƒ˜, GitHub

แƒกแƒแƒœแƒแƒ› แƒจแƒ”แƒ•แƒ˜แƒกแƒฌแƒแƒ•แƒšแƒ˜แƒ— แƒ—แƒฃ แƒ แƒ˜แƒกแƒ˜ แƒ’แƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— Loki-แƒกแƒ—แƒแƒœ, แƒ›แƒกแƒฃแƒ แƒก แƒ’แƒแƒœแƒ•แƒ›แƒแƒ แƒขแƒ แƒ แƒแƒก แƒ•แƒ’แƒฃแƒšแƒ˜แƒกแƒฎแƒ›แƒแƒ‘แƒ— โ€žแƒ›แƒฎแƒแƒšแƒแƒ“ แƒ›แƒ”แƒขแƒแƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ˜แƒœแƒ“แƒ”แƒฅแƒกแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒ˜แƒ“แƒ”แƒแƒจแƒ˜โ€œ. แƒ›แƒแƒ“แƒ˜แƒ— แƒจแƒ”แƒ•แƒแƒ“แƒแƒ แƒแƒ— Loki แƒ›แƒ˜แƒ“แƒ’แƒแƒ›แƒ แƒ“แƒ แƒ˜แƒœแƒ“แƒ”แƒฅแƒกแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒ“แƒ’แƒแƒ›แƒ แƒขแƒ แƒแƒ“แƒ˜แƒชแƒ˜แƒฃแƒš แƒ’แƒแƒ“แƒแƒฌแƒงแƒ•แƒ”แƒขแƒ˜แƒšแƒ”แƒ‘แƒ”แƒ‘แƒจแƒ˜, แƒ แƒแƒ’แƒแƒ แƒ˜แƒชแƒแƒ Elasticsearch, nginx log-แƒ˜แƒก แƒฎแƒแƒ–แƒ˜แƒก แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—:

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 แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ”แƒ‘แƒ˜แƒ— แƒ“แƒ แƒ˜แƒœแƒแƒฎแƒแƒ•แƒก แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒก แƒ“แƒ˜แƒ“ แƒ˜แƒœแƒ“แƒ”แƒฅแƒกแƒ”แƒ‘แƒจแƒ˜. แƒแƒ› แƒ›แƒ˜แƒ“แƒ’แƒแƒ›แƒ˜แƒก แƒฃแƒžแƒ˜แƒ แƒแƒขแƒ”แƒกแƒแƒ‘แƒ แƒ˜แƒก แƒแƒ แƒ˜แƒก, แƒ แƒแƒ› แƒ—แƒฅแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒกแƒฌแƒ แƒแƒคแƒแƒ“ แƒ’แƒแƒฃแƒจแƒ•แƒแƒ— แƒ แƒ—แƒฃแƒšแƒ˜ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ”แƒ‘แƒ˜, แƒ แƒแƒ“แƒ’แƒแƒœ แƒ—แƒ˜แƒ—แƒฅแƒ›แƒ˜แƒก แƒงแƒ•แƒ”แƒšแƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ˜ แƒแƒ แƒ˜แƒก แƒ˜แƒœแƒ“แƒ”แƒฅแƒกแƒจแƒ˜. แƒ›แƒแƒ’แƒ แƒแƒ› แƒแƒ›แƒแƒก แƒคแƒแƒกแƒ˜ แƒแƒฅแƒ•แƒก แƒ˜แƒ›แƒ˜แƒ—, แƒ แƒแƒ› แƒ˜แƒœแƒ“แƒ”แƒฅแƒกแƒ˜ แƒ“แƒ˜แƒ“แƒ˜ แƒฎแƒ“แƒ”แƒ‘แƒ, แƒ แƒแƒช แƒ˜แƒ—แƒแƒ แƒ’แƒ›แƒœแƒ”แƒ‘แƒ แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ”แƒ‘แƒจแƒ˜. แƒจแƒ”แƒ“แƒ”แƒ’แƒแƒ“, แƒกแƒ แƒฃแƒšแƒ˜ แƒขแƒ”แƒฅแƒกแƒขแƒ˜แƒก แƒŸแƒฃแƒ แƒœแƒแƒšแƒ˜แƒก แƒ˜แƒœแƒ“แƒ”แƒฅแƒกแƒ˜ แƒ–แƒแƒ›แƒ˜แƒ— แƒจแƒ”แƒ“แƒแƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ—แƒแƒ•แƒแƒ“ แƒŸแƒฃแƒ แƒœแƒแƒšแƒ”แƒ‘แƒ—แƒแƒœ. แƒ˜แƒ›แƒ˜แƒกแƒแƒ—แƒ•แƒ˜แƒก, แƒ แƒแƒ› แƒกแƒฌแƒ แƒแƒคแƒแƒ“ แƒ›แƒแƒซแƒ”แƒ‘แƒœแƒแƒ— แƒ˜แƒ’แƒ˜, แƒ˜แƒœแƒ“แƒ”แƒฅแƒกแƒ˜ แƒฃแƒœแƒ“แƒ แƒฉแƒแƒ˜แƒขแƒ•แƒ˜แƒ แƒ—แƒแƒก แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒแƒจแƒ˜. แƒ“แƒ แƒ แƒแƒช แƒฃแƒคแƒ แƒ แƒ›แƒ”แƒขแƒ˜ แƒŸแƒฃแƒ แƒœแƒแƒšแƒ˜, แƒ›แƒ˜แƒ— แƒฃแƒคแƒ แƒ แƒกแƒฌแƒ แƒแƒคแƒแƒ“ แƒ˜แƒ–แƒ แƒ“แƒ”แƒ‘แƒ แƒ˜แƒœแƒ“แƒ”แƒฅแƒกแƒ˜ แƒ“แƒ แƒ›แƒ”แƒข แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒแƒก แƒ›แƒแƒ˜แƒฎแƒ›แƒแƒ แƒก.

Loki แƒ›แƒ˜แƒ“แƒ’แƒแƒ›แƒ แƒ›แƒแƒ˜แƒ—แƒฎแƒแƒ•แƒก, แƒ แƒแƒ› แƒ›แƒฎแƒแƒšแƒแƒ“ แƒกแƒแƒญแƒ˜แƒ แƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒแƒ›แƒแƒฆแƒ”แƒ‘แƒ แƒกแƒขแƒ แƒ˜แƒฅแƒแƒœแƒ˜แƒ“แƒแƒœ, แƒ แƒแƒ›แƒšแƒ˜แƒก แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ”แƒ‘แƒ˜แƒก แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ แƒ›แƒชแƒ˜แƒ แƒ”แƒ. แƒแƒ› แƒ’แƒ–แƒ˜แƒ— แƒฉแƒ•แƒ”แƒœ แƒ•แƒ˜แƒฆแƒ”แƒ‘แƒ— แƒ›แƒชแƒ˜แƒ แƒ” แƒ˜แƒœแƒ“แƒ”แƒฅแƒกแƒก แƒ“แƒ แƒจแƒ”แƒ’แƒ•แƒ˜แƒซแƒšแƒ˜แƒ แƒ›แƒแƒ•แƒ˜แƒซแƒ˜แƒแƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒแƒ˜แƒกแƒ แƒ“แƒ แƒ˜แƒœแƒ“แƒ”แƒฅแƒกแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ•แƒ”แƒšแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒคแƒ˜แƒšแƒขแƒ•แƒ แƒ˜แƒ—, แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ™แƒ˜ แƒ“แƒแƒœแƒแƒ แƒฉแƒ”แƒœแƒ˜แƒก แƒกแƒ™แƒแƒœแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒ— แƒ แƒ”แƒ’แƒฃแƒšแƒแƒ แƒฃแƒšแƒ˜ แƒ’แƒแƒ›แƒแƒœแƒแƒ—แƒฅแƒ•แƒแƒ›แƒ”แƒ‘แƒ˜แƒ— แƒแƒœ แƒฅแƒ•แƒ”แƒกแƒขแƒ แƒ˜แƒฅแƒแƒœแƒฃแƒšแƒ˜ แƒซแƒ˜แƒ”แƒ‘แƒ˜แƒ—. แƒžแƒ แƒแƒชแƒ”แƒกแƒ˜ แƒแƒ  แƒฉแƒแƒœแƒก แƒงแƒ•แƒ”แƒšแƒแƒ–แƒ” แƒกแƒฌแƒ แƒแƒคแƒ˜, แƒ›แƒแƒ’แƒ แƒแƒ› Loki แƒงแƒแƒคแƒก แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒแƒก แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒœแƒแƒฌแƒ˜แƒšแƒแƒ“ แƒ“แƒ แƒแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒก แƒ›แƒแƒ— แƒžแƒแƒ แƒแƒšแƒ”แƒšแƒฃแƒ แƒแƒ“, แƒแƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒก แƒ“แƒ˜แƒ“แƒ˜ แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ˜แƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒก แƒ›แƒแƒ™แƒšแƒ” แƒ“แƒ แƒแƒจแƒ˜. แƒ›แƒแƒ—แƒจแƒ˜ แƒคแƒ แƒแƒ’แƒ›แƒ”แƒœแƒขแƒ”แƒ‘แƒ˜แƒก แƒ“แƒ แƒžแƒแƒ แƒแƒšแƒ”แƒšแƒฃแƒ แƒ˜ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ”แƒ‘แƒ˜แƒก แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒ˜แƒ แƒ”แƒ‘แƒแƒ“แƒ˜แƒ; แƒแƒ›แƒ แƒ˜แƒ’แƒแƒ“, แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ“แƒแƒ›แƒฃแƒจแƒแƒ•แƒ“แƒ”แƒก แƒ“แƒ แƒแƒ˜แƒก แƒ”แƒ แƒ—แƒ”แƒฃแƒšแƒ–แƒ”, แƒฌแƒ แƒคแƒ˜แƒ•แƒแƒ“ แƒ“แƒแƒ›แƒแƒ™แƒ˜แƒ“แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ›แƒแƒฌแƒแƒ“แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ แƒ”แƒกแƒฃแƒ แƒกแƒ”แƒ‘แƒ˜แƒก แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒแƒ–แƒ”.

แƒ“แƒ˜แƒ“, แƒกแƒฌแƒ แƒแƒค แƒ˜แƒœแƒ“แƒ”แƒฅแƒกแƒกแƒ แƒ“แƒ แƒ›แƒชแƒ˜แƒ แƒ”, แƒžแƒแƒ แƒแƒšแƒ”แƒšแƒฃแƒ แƒแƒ“ แƒฃแƒฎแƒ”แƒจแƒ˜ แƒซแƒแƒšแƒ˜แƒก แƒ˜แƒœแƒ“แƒ”แƒฅแƒกแƒก แƒจแƒแƒ แƒ˜แƒก แƒ”แƒก แƒ’แƒแƒชแƒ•แƒšแƒ แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒแƒซแƒšแƒ”แƒ•แƒก แƒšแƒแƒ™แƒ˜แƒก แƒ’แƒแƒแƒ™แƒแƒœแƒขแƒ แƒแƒšแƒแƒก แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒก แƒฆแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒ. แƒ›แƒ˜แƒกแƒ˜ แƒ›แƒแƒฅแƒœแƒ˜แƒšแƒแƒ“ แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ แƒ“แƒ แƒ’แƒแƒคแƒแƒ แƒ—แƒแƒ”แƒ‘แƒ แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒกแƒแƒญแƒ˜แƒ แƒแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒฎแƒ”แƒ“แƒ•แƒ˜แƒ—.

Loki แƒกแƒขแƒ”แƒ™แƒ˜ แƒจแƒ”แƒ“แƒ’แƒ”แƒ‘แƒ แƒกแƒแƒ›แƒ˜ แƒ™แƒแƒ›แƒžแƒแƒœแƒ”แƒœแƒขแƒ˜แƒกแƒ’แƒแƒœ: Promtail, Loki, Grafana. Promtail แƒแƒ’แƒ แƒแƒ•แƒ”แƒ‘แƒก แƒŸแƒฃแƒ แƒœแƒแƒšแƒ”แƒ‘แƒก, แƒแƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒก แƒ›แƒแƒ— แƒ“แƒ แƒแƒ’แƒ–แƒแƒ•แƒœแƒ˜แƒก Loki-แƒจแƒ˜. แƒšแƒแƒ™แƒ˜ แƒ˜แƒœแƒแƒฎแƒแƒ•แƒก แƒ›แƒแƒ—. แƒ“แƒ Grafana-แƒก แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒ แƒ›แƒแƒ˜แƒ—แƒฎแƒแƒ•แƒแƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜ Loki-แƒกแƒ’แƒแƒœ แƒ“แƒ แƒแƒฉแƒ•แƒ”แƒœแƒแƒก แƒ˜แƒกแƒ˜แƒœแƒ˜. แƒ–แƒแƒ’แƒแƒ“แƒแƒ“, Loki แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒš แƒ˜แƒฅแƒœแƒแƒก แƒแƒ แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒŸแƒฃแƒ แƒœแƒแƒšแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒœแƒแƒฎแƒแƒ“ แƒ“แƒ แƒ›แƒแƒ—แƒจแƒ˜ แƒกแƒแƒซแƒ˜แƒ”แƒ‘แƒšแƒแƒ“. แƒ›แƒ—แƒ”แƒšแƒ˜ แƒ“แƒแƒกแƒขแƒ แƒ˜แƒซแƒšแƒ”แƒ•แƒ แƒ“แƒ˜แƒ“ แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒšแƒแƒ‘แƒ”แƒ‘แƒก แƒžแƒ แƒแƒ›แƒ”แƒ—แƒ”แƒก แƒ’แƒ–แƒ˜แƒ— แƒจแƒ”แƒ›แƒแƒ›แƒแƒ•แƒแƒšแƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒ˜แƒกแƒ แƒ“แƒ แƒแƒœแƒแƒšแƒ˜แƒ–แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก.
แƒ˜แƒœแƒกแƒขแƒแƒšแƒแƒชแƒ˜แƒ˜แƒก แƒžแƒ แƒแƒชแƒ”แƒกแƒ˜แƒก แƒแƒฆแƒฌแƒ”แƒ แƒ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ˜แƒฎแƒ˜แƒšแƒแƒ— แƒแƒฅ.

แƒŸแƒฃแƒ แƒœแƒแƒšแƒ˜แƒก แƒซแƒ”แƒ‘แƒœแƒ

แƒ—แƒฅแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ›แƒแƒซแƒ”แƒ‘แƒœแƒแƒ— แƒŸแƒฃแƒ แƒœแƒแƒšแƒ”แƒ‘แƒ˜ แƒกแƒžแƒ”แƒชแƒ˜แƒแƒšแƒฃแƒ  Grafana แƒ˜แƒœแƒขแƒ”แƒ แƒคแƒ”แƒ˜แƒกแƒจแƒ˜ - Explorer. แƒจแƒ”แƒ™แƒ˜แƒ—แƒฎแƒ•แƒ”แƒ‘แƒจแƒ˜ แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ LogQL แƒ”แƒœแƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒซแƒแƒšแƒ˜แƒแƒœ แƒฐแƒ’แƒแƒ•แƒก Prometheus-แƒจแƒ˜ แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒš PromQL-แƒก. แƒžแƒ แƒ˜แƒœแƒชแƒ˜แƒžแƒจแƒ˜, แƒ˜แƒก แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒฉแƒแƒ˜แƒ—แƒ•แƒแƒšแƒแƒก แƒ’แƒแƒœแƒแƒฌแƒ˜แƒšแƒ”แƒ‘แƒฃแƒš แƒ’แƒ แƒ”แƒžแƒแƒ“.

แƒกแƒแƒซแƒ˜แƒ”แƒ‘แƒ แƒ˜แƒœแƒขแƒ”แƒ แƒคแƒ”แƒ˜แƒกแƒ˜ แƒแƒกแƒ” แƒ’แƒแƒ›แƒแƒ˜แƒงแƒฃแƒ แƒ”แƒ‘แƒ:

แƒšแƒแƒ™แƒ˜แƒ“แƒแƒœ แƒ›แƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ’แƒ แƒแƒ•แƒ”แƒ‘แƒ

แƒ—แƒแƒ•แƒแƒ“ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ แƒจแƒ”แƒ“แƒ’แƒ”แƒ‘แƒ แƒแƒ แƒ˜ แƒœแƒแƒฌแƒ˜แƒšแƒ˜แƒกแƒ’แƒแƒœ: แƒกแƒ”แƒšแƒ”แƒฅแƒขแƒแƒ แƒ˜ แƒ“แƒ แƒคแƒ˜แƒšแƒขแƒ แƒ˜. แƒกแƒ”แƒšแƒ”แƒฅแƒขแƒแƒ แƒ˜ แƒแƒ แƒ˜แƒก แƒซแƒ˜แƒ”แƒ‘แƒ แƒ˜แƒœแƒ“แƒ”แƒฅแƒกแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ›แƒ”แƒขแƒแƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก (แƒ”แƒขแƒ˜แƒ™แƒ”แƒขแƒ”แƒ‘แƒ˜แƒก) แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒ›แƒ˜แƒœแƒ˜แƒญแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒŸแƒฃแƒ แƒœแƒแƒšแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒฎแƒแƒšแƒ แƒคแƒ˜แƒšแƒขแƒ แƒ˜ แƒแƒ แƒ˜แƒก แƒกแƒแƒซแƒ˜แƒ”แƒ‘แƒ แƒกแƒขแƒ แƒ˜แƒฅแƒแƒœแƒ˜ แƒแƒœ regexp, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒคแƒ˜แƒšแƒขแƒ แƒแƒ•แƒก แƒกแƒ”แƒšแƒ”แƒฅแƒขแƒแƒ แƒ˜แƒก แƒ›แƒ˜แƒ”แƒ  แƒ’แƒแƒœแƒกแƒแƒ–แƒฆแƒ•แƒ แƒฃแƒš แƒฉแƒแƒœแƒแƒฌแƒ”แƒ แƒ”แƒ‘แƒก. แƒ›แƒแƒชแƒ”แƒ›แƒฃแƒš แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒจแƒ˜: แƒฎแƒ•แƒ”แƒฃแƒš แƒ‘แƒ แƒ”แƒ™แƒ”แƒขแƒ”แƒ‘แƒจแƒ˜ แƒแƒ แƒ˜แƒก แƒกแƒ”แƒšแƒ”แƒฅแƒขแƒแƒ แƒ˜, แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒแƒ แƒ˜แƒก แƒคแƒ˜แƒšแƒขแƒ แƒ˜.

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

Loki แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒก แƒžแƒ แƒ˜แƒœแƒชแƒ˜แƒžแƒ˜แƒก แƒ’แƒแƒ›แƒ, แƒ—แƒฅแƒ•แƒ”แƒœ แƒแƒ  แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒจแƒ”แƒ™แƒ˜แƒ—แƒฎแƒ•แƒ˜แƒก แƒ“แƒแƒกแƒ›แƒ แƒกแƒ”แƒšแƒ”แƒฅแƒขแƒแƒ แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”, แƒ›แƒแƒ’แƒ แƒแƒ› แƒšแƒ”แƒ˜แƒ‘แƒšแƒ”แƒ‘แƒ˜ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ’แƒแƒ™แƒ”แƒ—แƒ“แƒ”แƒก แƒ˜แƒกแƒ” แƒ–แƒแƒ’แƒแƒ“แƒ˜, แƒ แƒแƒ’แƒแƒ แƒช แƒ’แƒกแƒฃแƒ แƒ—.

แƒกแƒ”แƒšแƒ”แƒฅแƒขแƒแƒ แƒ˜ แƒแƒ แƒ˜แƒก แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜-แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ˜แƒก แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ แƒฎแƒ•แƒ”แƒฃแƒšแƒ˜ แƒ‘แƒ แƒ”แƒ™แƒ”แƒขแƒ”แƒ‘แƒจแƒ˜. แƒ—แƒฅแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ“แƒแƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒแƒ— แƒกแƒ”แƒšแƒ”แƒฅแƒขแƒแƒ แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒ›แƒ˜แƒฃแƒ—แƒ˜แƒ—แƒแƒ— แƒกแƒฎแƒ•แƒแƒ“แƒแƒกแƒฎแƒ•แƒ แƒกแƒแƒซแƒ˜แƒ”แƒ‘แƒ แƒžแƒ˜แƒ แƒแƒ‘แƒ”แƒ‘แƒ˜ แƒแƒžแƒ”แƒ แƒแƒขแƒแƒ แƒ”แƒ‘แƒ˜แƒก =, != แƒแƒœ แƒ แƒ”แƒ’แƒฃแƒšแƒแƒ แƒฃแƒšแƒ˜ แƒ’แƒแƒ›แƒแƒœแƒแƒ—แƒฅแƒ•แƒแƒ›แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—:

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

แƒคแƒ˜แƒšแƒขแƒ แƒ˜ แƒแƒ แƒ˜แƒก แƒขแƒ”แƒฅแƒกแƒขแƒ˜ แƒแƒœ regexp, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ’แƒแƒคแƒ˜แƒšแƒขแƒ แƒแƒ•แƒก แƒกแƒ”แƒšแƒ”แƒฅแƒขแƒแƒ แƒ˜แƒก แƒ›แƒ˜แƒ”แƒ  แƒ›แƒ˜แƒฆแƒ”แƒ‘แƒฃแƒš แƒงแƒ•แƒ”แƒšแƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒก.

แƒ›แƒ˜แƒฆแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒกแƒแƒคแƒฃแƒซแƒ•แƒ”แƒšแƒ–แƒ” แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒแƒ“-แƒฐแƒแƒ™ แƒ’แƒ แƒแƒคแƒ˜แƒ™แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒฆแƒ”แƒ‘แƒ แƒ›แƒ”แƒขแƒ แƒ˜แƒ™แƒ˜แƒก แƒ แƒ”แƒŸแƒ˜แƒ›แƒจแƒ˜. แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ’แƒแƒ˜แƒ’แƒแƒ—, แƒ แƒแƒ›แƒ“แƒ”แƒœแƒแƒ“ แƒฎแƒจแƒ˜แƒ แƒแƒ“ แƒฉแƒœแƒ“แƒ”แƒ‘แƒ แƒฉแƒแƒœแƒแƒฌแƒ”แƒ แƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒจแƒ”แƒ˜แƒชแƒแƒ•แƒก แƒกแƒขแƒ แƒ˜แƒฅแƒแƒœแƒ”แƒ‘แƒ˜แƒก แƒ˜แƒœแƒ“แƒ”แƒฅแƒกแƒก nginx แƒŸแƒฃแƒ แƒœแƒแƒšแƒ”แƒ‘แƒจแƒ˜:

แƒšแƒแƒ™แƒ˜แƒ“แƒแƒœ แƒ›แƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ’แƒ แƒแƒ•แƒ”แƒ‘แƒ

แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒšแƒแƒ‘แƒ”แƒ‘แƒ˜แƒก แƒกแƒ แƒฃแƒšแƒ˜ แƒแƒฆแƒฌแƒ”แƒ แƒ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ˜แƒฎแƒ˜แƒšแƒแƒ— แƒ“แƒแƒ™แƒฃแƒ›แƒ”แƒœแƒขแƒแƒชแƒ˜แƒแƒจแƒ˜ LogQL.

แƒŸแƒฃแƒ แƒœแƒแƒšแƒ˜แƒก แƒ’แƒแƒ แƒฉแƒ”แƒ•แƒ

แƒ›แƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ’แƒ แƒแƒ•แƒ”แƒ‘แƒ˜แƒก แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒ’แƒ–แƒ แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒก:

  • Promtail-แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ, แƒ“แƒแƒกแƒขแƒ˜แƒก แƒกแƒขแƒแƒœแƒ“แƒแƒ แƒขแƒฃแƒšแƒ˜ แƒ™แƒแƒ›แƒžแƒแƒœแƒ”แƒœแƒขแƒ˜ แƒŸแƒฃแƒ แƒœแƒแƒšแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ’แƒ แƒแƒ•แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก.
  • แƒžแƒ˜แƒ แƒ“แƒแƒžแƒ˜แƒ  แƒ“แƒแƒ™แƒ”แƒ แƒ˜แƒก แƒ™แƒแƒœแƒขแƒ”แƒ˜แƒœแƒ”แƒ แƒ˜แƒ“แƒแƒœ แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ— Loki Docker Logging Driver.
  • แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ— Fluentd แƒแƒœ Fluent Bit, แƒ แƒแƒ›แƒ”แƒšแƒกแƒแƒช แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ’แƒ–แƒแƒ•แƒœแƒ Loki-แƒ–แƒ”. Promtail-แƒ˜แƒกแƒ’แƒแƒœ แƒ’แƒแƒœแƒกแƒฎแƒ•แƒแƒ•แƒ”แƒ‘แƒ˜แƒ—, แƒ›แƒแƒ— แƒแƒฅแƒ•แƒ— แƒ›แƒ–แƒ แƒžแƒแƒ แƒกแƒ”แƒ แƒ˜ แƒ—แƒ˜แƒ—แƒฅแƒ›แƒ˜แƒก แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ แƒ˜ แƒขแƒ˜แƒžแƒ˜แƒก แƒŸแƒฃแƒ แƒœแƒแƒšแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ“แƒ แƒแƒกแƒ”แƒ•แƒ” แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒแƒ— แƒ›แƒ แƒแƒ•แƒแƒšแƒฎแƒแƒ–แƒแƒ•แƒแƒœแƒ˜ แƒŸแƒฃแƒ แƒœแƒแƒšแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒ แƒ—แƒ•แƒ.

แƒฉแƒ•แƒ”แƒฃแƒšแƒ”แƒ‘แƒ แƒ˜แƒ• Promtail แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ แƒžแƒแƒ แƒกแƒ˜แƒœแƒ’แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒ˜แƒก แƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒก แƒกแƒแƒ› แƒ แƒแƒ›แƒ”แƒก:

  • แƒžแƒแƒฃแƒšแƒแƒ‘แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒฌแƒงแƒแƒ แƒแƒ”แƒ‘แƒก.
  • แƒแƒ›แƒแƒ’แƒ แƒ”แƒ‘แƒก แƒ›แƒแƒ— แƒ”แƒขแƒ˜แƒ™แƒ”แƒขแƒ”แƒ‘แƒก.
  • แƒฃแƒ’แƒ–แƒแƒ•แƒœแƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒก แƒšแƒแƒ™แƒ˜แƒก.

แƒแƒ›แƒŸแƒแƒ›แƒแƒ“ Promtail-แƒก แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒ แƒฌแƒแƒ˜แƒ™แƒ˜แƒ—แƒฎแƒแƒก แƒŸแƒฃแƒ แƒœแƒแƒšแƒ”แƒ‘แƒ˜ แƒšแƒแƒ™แƒแƒšแƒฃแƒ แƒ˜ แƒคแƒแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒ“แƒแƒœ แƒ“แƒ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒฃแƒ แƒ˜ แƒŸแƒฃแƒ แƒœแƒแƒšแƒ˜แƒ“แƒแƒœ. แƒ˜แƒก แƒฃแƒœแƒ“แƒ แƒ“แƒแƒ›แƒแƒœแƒขแƒแƒŸแƒ“แƒ”แƒก แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒš แƒ›แƒแƒœแƒฅแƒแƒœแƒแƒ–แƒ”, แƒกแƒแƒ˜แƒ“แƒแƒœแƒแƒช แƒ’แƒ แƒแƒ•แƒ“แƒ”แƒ‘แƒ แƒŸแƒฃแƒ แƒœแƒแƒšแƒ”แƒ‘แƒ˜.

แƒแƒ แƒ˜แƒก Kubernetes-แƒ—แƒแƒœ แƒ˜แƒœแƒขแƒ”แƒ’แƒ แƒแƒชแƒ˜แƒ: Promtail แƒแƒ•แƒขแƒแƒ›แƒแƒขแƒฃแƒ แƒแƒ“, Kubernetes REST API-แƒ˜แƒก แƒ›แƒ”แƒจแƒ•แƒ”แƒแƒ‘แƒ˜แƒ—, แƒแƒ›แƒแƒ˜แƒชแƒœแƒแƒ‘แƒก แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ˜แƒก แƒ›แƒ“แƒ’แƒแƒ›แƒแƒ แƒ”แƒแƒ‘แƒแƒก แƒ“แƒ แƒแƒ’แƒ แƒแƒ•แƒ”แƒ‘แƒก แƒŸแƒฃแƒ แƒœแƒแƒšแƒ”แƒ‘แƒก แƒ™แƒ•แƒแƒœแƒซแƒ˜แƒ“แƒแƒœ, แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒ“แƒแƒœ แƒแƒœ แƒžแƒแƒ“แƒ˜แƒ“แƒแƒœ, แƒ“แƒแƒฃแƒงแƒแƒ•แƒœแƒ”แƒ‘แƒšแƒ˜แƒ• แƒแƒฅแƒ•แƒ”แƒงแƒœแƒ”แƒ‘แƒก แƒšแƒ”แƒ˜แƒ‘แƒšแƒ”แƒ‘แƒก Kubernetes-แƒ˜แƒก แƒ›แƒ”แƒขแƒแƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ–แƒ” (แƒžแƒแƒ“แƒ˜แƒก แƒกแƒแƒฎแƒ”แƒšแƒ˜, แƒคแƒแƒ˜แƒšแƒ˜แƒก แƒกแƒแƒฎแƒ”แƒšแƒ˜ แƒ“แƒ แƒ.แƒจ.) .

แƒ—แƒฅแƒ•แƒ”แƒœ แƒแƒกแƒ”แƒ•แƒ” แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ“แƒแƒ™แƒ˜แƒ“แƒแƒ— แƒ”แƒขแƒ˜แƒ™แƒ”แƒขแƒ”แƒ‘แƒ˜ แƒŸแƒฃแƒ แƒœแƒแƒšแƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒกแƒแƒคแƒฃแƒซแƒ•แƒ”แƒšแƒ–แƒ” Pipeline-แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—. Pipeline Promtail แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒจแƒ”แƒ“แƒ’แƒ”แƒ‘แƒแƒ“แƒ”แƒก แƒแƒ—แƒฎแƒ˜ แƒขแƒ˜แƒžแƒ˜แƒก แƒ”แƒขแƒแƒžแƒ˜แƒกแƒ’แƒแƒœ. แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ—แƒ˜ แƒ“แƒ”แƒขแƒแƒšแƒ”แƒ‘แƒ˜ แƒจแƒ˜ แƒแƒคแƒ˜แƒชแƒ˜แƒแƒšแƒฃแƒ แƒ˜ แƒ“แƒแƒ™แƒฃแƒ›แƒ”แƒœแƒขแƒแƒชแƒ˜แƒ, แƒ›แƒแƒจแƒ˜แƒœแƒ•แƒ” แƒแƒฆแƒ•แƒœแƒ˜แƒจแƒœแƒแƒ• แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒœแƒ˜แƒฃแƒแƒœแƒกแƒก.

  1. แƒแƒœแƒแƒšแƒ˜แƒ–แƒ”แƒ‘แƒ˜แƒก แƒ”แƒขแƒแƒžแƒ”แƒ‘แƒ˜. แƒ”แƒก แƒแƒ แƒ˜แƒก RegEx แƒ“แƒ JSON แƒ”แƒขแƒแƒžแƒ˜. แƒแƒ› แƒ”แƒขแƒแƒžแƒ–แƒ” แƒฉแƒ•แƒ”แƒœ แƒ•แƒ˜แƒฆแƒ”แƒ‘แƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒก แƒŸแƒฃแƒ แƒœแƒแƒšแƒ”แƒ‘แƒ˜แƒ“แƒแƒœ แƒ”.แƒฌ. แƒฉแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ•แƒ˜แƒซแƒšแƒ˜แƒ แƒ’แƒแƒ›แƒแƒ•แƒงแƒแƒ— JSON-แƒ“แƒแƒœ, แƒฃแƒ‘แƒ แƒแƒšแƒแƒ“, แƒกแƒแƒญแƒ˜แƒ แƒ แƒ•แƒ”แƒšแƒ”แƒ‘แƒ˜แƒก แƒ™แƒแƒžแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒ— แƒแƒ›แƒแƒฆแƒ”แƒ‘แƒฃแƒš แƒ แƒฃแƒ™แƒแƒจแƒ˜, แƒแƒœ แƒ แƒ”แƒ’แƒฃแƒšแƒแƒ แƒฃแƒšแƒ˜ แƒ’แƒแƒ›แƒแƒœแƒแƒ—แƒฅแƒ•แƒแƒ›แƒ”แƒ‘แƒ˜แƒก (RegEx) แƒ›แƒ”แƒจแƒ•แƒ”แƒแƒ‘แƒ˜แƒ—, แƒกแƒแƒ“แƒแƒช แƒ“แƒแƒกแƒแƒฎแƒ”แƒšแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒฏแƒ’แƒฃแƒคแƒ”แƒ‘แƒ˜ โ€žแƒ“แƒแƒกแƒแƒฎแƒฃแƒšแƒ˜แƒโ€œ แƒแƒ›แƒแƒฆแƒ”แƒ‘แƒฃแƒš แƒ แƒฃแƒ™แƒแƒจแƒ˜. Extracted แƒ แƒฃแƒ™แƒ แƒแƒ แƒ˜แƒก แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜-แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ˜แƒก แƒ›แƒแƒฆแƒแƒ–แƒ˜แƒ, แƒกแƒแƒ“แƒแƒช แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜ แƒแƒ แƒ˜แƒก แƒ•แƒ”แƒšแƒ˜แƒก แƒกแƒแƒฎแƒ”แƒšแƒ˜ แƒ“แƒ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ แƒแƒ แƒ˜แƒก แƒ›แƒ˜แƒกแƒ˜ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ แƒŸแƒฃแƒ แƒœแƒแƒšแƒ”แƒ‘แƒ˜แƒ“แƒแƒœ.
  2. แƒขแƒ แƒแƒœแƒกแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒ˜แƒก แƒ”แƒขแƒแƒžแƒ”แƒ‘แƒ˜. แƒแƒ› แƒ”แƒขแƒแƒžแƒก แƒแƒฅแƒ•แƒก แƒแƒ แƒ˜ แƒ•แƒแƒ แƒ˜แƒแƒœแƒขแƒ˜: แƒขแƒ แƒแƒœแƒกแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒ, แƒกแƒแƒ“แƒแƒช แƒ•แƒแƒ“แƒ’แƒ”แƒœแƒ— แƒขแƒ แƒแƒœแƒกแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒ˜แƒก แƒฌแƒ”แƒกแƒ”แƒ‘แƒก แƒ“แƒ แƒฌแƒงแƒแƒ แƒ - แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒฌแƒงแƒแƒ แƒ แƒแƒ›แƒแƒฆแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ แƒฃแƒฅแƒ˜แƒ“แƒแƒœ แƒขแƒ แƒแƒœแƒกแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒ—แƒฃ แƒแƒ›แƒแƒฆแƒ”แƒ‘แƒฃแƒš แƒ แƒฃแƒ™แƒแƒจแƒ˜ แƒแƒกแƒ”แƒ—แƒ˜ แƒ•แƒ”แƒšแƒ˜ แƒแƒ  แƒแƒ แƒ˜แƒก, แƒ˜แƒก แƒจแƒ”แƒ˜แƒฅแƒ›แƒœแƒ”แƒ‘แƒ. แƒแƒ› แƒ’แƒ–แƒ˜แƒ— แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒ”แƒขแƒ˜แƒ™แƒ”แƒขแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒ, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒแƒ  แƒแƒ แƒ˜แƒก แƒ“แƒแƒคแƒฃแƒซแƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒแƒ›แƒแƒฆแƒ”แƒ‘แƒฃแƒš แƒ แƒฃแƒ™แƒแƒ–แƒ”. แƒแƒ› แƒ”แƒขแƒแƒžแƒ–แƒ” แƒฉแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ•แƒ˜แƒซแƒšแƒ˜แƒ แƒ›แƒแƒžแƒแƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ แƒฃแƒ™แƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒ— แƒ›แƒแƒœแƒ˜แƒžแƒฃแƒšแƒ˜แƒ แƒ”แƒ‘แƒ แƒกแƒแƒ™แƒ›แƒแƒแƒ“ แƒ›แƒซแƒšแƒแƒ•แƒ แƒ˜ แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ— แƒ’แƒแƒšแƒแƒœแƒ’แƒ˜แƒก แƒจแƒแƒ‘แƒšแƒแƒœแƒ˜. แƒ’แƒแƒ แƒ“แƒ แƒแƒ›แƒ˜แƒกแƒ, แƒฃแƒœแƒ“แƒ แƒ’แƒ•แƒแƒฎแƒกแƒแƒ•แƒ“แƒ”แƒก, แƒ แƒแƒ› แƒแƒ›แƒแƒฆแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ แƒฃแƒ™แƒ แƒ›แƒ—แƒšแƒ˜แƒแƒœแƒแƒ“ แƒ˜แƒขแƒ•แƒ˜แƒ แƒ—แƒ”แƒ‘แƒ แƒแƒœแƒแƒšแƒ˜แƒ–แƒ˜แƒก แƒ“แƒ แƒแƒก, แƒ แƒแƒช แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒก แƒฎแƒ“แƒ˜แƒก, แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒ›แƒแƒกแƒจแƒ˜ แƒแƒ แƒกแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒ: โ€ž{{if .tag}tag value is exist{end}}โ€œ. แƒจแƒแƒ‘แƒšแƒแƒœแƒ˜ แƒ›แƒฎแƒแƒ แƒก แƒฃแƒญแƒ”แƒ แƒก แƒžแƒ˜แƒ แƒแƒ‘แƒ”แƒ‘แƒก, แƒ›แƒแƒ แƒงแƒฃแƒŸแƒ”แƒ‘แƒก แƒ“แƒ แƒกแƒขแƒ แƒ˜แƒฅแƒแƒœแƒ”แƒ‘แƒ˜แƒก แƒ–แƒแƒ’แƒ˜แƒ”แƒ แƒ— แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒแƒก, แƒ แƒแƒ’แƒแƒ แƒ˜แƒชแƒแƒ Replace แƒ“แƒ Trim.
  3. แƒ›แƒแƒฅแƒ›แƒ”แƒ“แƒ”แƒ‘แƒ˜แƒก แƒ”แƒขแƒแƒžแƒ”แƒ‘แƒ˜. แƒแƒ› แƒ”แƒขแƒแƒžแƒ–แƒ” แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ’แƒแƒแƒ™แƒ”แƒ—แƒแƒ— แƒ แƒแƒฆแƒแƒช แƒแƒ›แƒแƒฆแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒจแƒ˜แƒœแƒแƒแƒ แƒกแƒ˜แƒ—:
    • แƒจแƒ”แƒฅแƒ›แƒ”แƒœแƒ˜แƒ— แƒšแƒ”แƒ˜แƒ‘แƒšแƒ˜ แƒแƒ›แƒแƒฆแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒ“แƒแƒœ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒ˜แƒœแƒ“แƒ”แƒฅแƒกแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ Loki-แƒก แƒ›แƒ˜แƒ”แƒ .
    • แƒจแƒ”แƒชแƒ•แƒแƒšแƒ”แƒ— แƒแƒœ แƒ“แƒแƒแƒงแƒ”แƒœแƒ”แƒ— แƒฆแƒแƒœแƒ˜แƒกแƒซแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒ“แƒ แƒ แƒŸแƒฃแƒ แƒœแƒแƒšแƒ˜แƒ“แƒแƒœ.
    • แƒจแƒ”แƒชแƒ•แƒแƒšแƒ”แƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜ (แƒšแƒแƒ’แƒ˜แƒก แƒขแƒ”แƒฅแƒกแƒขแƒ˜), แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ’แƒแƒ“แƒแƒ•แƒ Loki-แƒ–แƒ”.
    • แƒจแƒ”แƒฅแƒ›แƒ”แƒœแƒ˜แƒ— แƒ›แƒ”แƒขแƒ แƒ˜แƒ™แƒ.
  4. แƒคแƒ˜แƒšแƒขแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒ”แƒขแƒแƒžแƒ”แƒ‘แƒ˜. แƒ›แƒแƒขแƒฉแƒ˜แƒก แƒ”แƒขแƒแƒžแƒ˜, แƒกแƒแƒ“แƒแƒช แƒฉแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ•แƒ˜แƒซแƒšแƒ˜แƒ แƒ’แƒแƒ•แƒแƒ’แƒ–แƒแƒ•แƒœแƒแƒ— แƒฉแƒแƒœแƒแƒฌแƒ”แƒ แƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒแƒ  แƒ’แƒ•แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ /dev/null, แƒแƒœ แƒ’แƒแƒ•แƒแƒ’แƒ–แƒแƒ•แƒœแƒแƒ— แƒจแƒ”แƒ›แƒ“แƒ’แƒแƒ›แƒ˜ แƒ“แƒแƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก.

แƒฉแƒ•แƒ”แƒฃแƒšแƒ”แƒ‘แƒ แƒ˜แƒ•แƒ˜ nginx แƒŸแƒฃแƒ แƒœแƒแƒšแƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—, แƒ›แƒ” แƒ’แƒแƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒ—, แƒ—แƒฃ แƒ แƒแƒ’แƒแƒ  แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ’แƒแƒแƒœแƒแƒšแƒ˜แƒ–แƒแƒ— แƒŸแƒฃแƒ แƒœแƒแƒšแƒ”แƒ‘แƒ˜ Promtail-แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—.

แƒขแƒ”แƒกแƒขแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒแƒ•แƒ˜แƒฆแƒแƒ— แƒ แƒแƒ’แƒแƒ แƒช nginx-proxy แƒจแƒ”แƒชแƒ•แƒšแƒ˜แƒšแƒ˜ nginx แƒกแƒฃแƒ แƒแƒ—แƒ˜ jwilder/nginx-proxy:alpine แƒ“แƒ แƒžแƒแƒขแƒแƒ แƒ แƒ“แƒ”แƒ›แƒแƒœแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒกแƒแƒช แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒ แƒฐแƒ™แƒ˜แƒ—แƒฎแƒแƒก แƒกแƒแƒ™แƒฃแƒ—แƒแƒ  แƒ—แƒแƒ•แƒก 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

แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒ”แƒก แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ แƒฉแƒแƒ แƒ—แƒฃแƒšแƒ˜แƒ, แƒŸแƒฃแƒ แƒœแƒแƒšแƒ”แƒ‘แƒ˜ แƒงแƒ•แƒ”แƒšแƒ แƒ™แƒแƒœแƒขแƒ”แƒ˜แƒœแƒ”แƒ แƒ˜แƒ“แƒแƒœ แƒ’แƒแƒ”แƒ’แƒ–แƒแƒ•แƒœแƒ”แƒ‘แƒ Loki-แƒก. แƒแƒ›แƒ˜แƒก แƒ—แƒแƒ•แƒ˜แƒ“แƒแƒœ แƒแƒกแƒแƒชแƒ˜แƒšแƒ”แƒ‘แƒšแƒแƒ“, แƒฉแƒ•แƒ”แƒœ แƒ•แƒชแƒ•แƒšแƒ˜แƒ— แƒกแƒแƒขแƒ”แƒกแƒขแƒ nginx-แƒ˜แƒก แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ”แƒ‘แƒก docker-compose.yml-แƒจแƒ˜ - แƒ“แƒแƒ•แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ— แƒŸแƒฃแƒ แƒœแƒแƒšแƒ˜แƒก แƒขแƒ”แƒ’แƒ˜แƒก แƒ•แƒ”แƒšแƒก:

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

promtail.yml-แƒ˜แƒก แƒ แƒ”แƒ“แƒแƒฅแƒขแƒ˜แƒ แƒ”แƒ‘แƒ แƒ“แƒ Pipeline-แƒ˜แƒก แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ. แƒจแƒ”แƒงแƒ•แƒแƒœแƒ แƒ›แƒแƒ˜แƒชแƒแƒ•แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒขแƒ˜แƒžแƒ˜แƒก แƒŸแƒฃแƒ แƒœแƒแƒšแƒ”แƒ‘แƒก:

{"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

แƒฉแƒ•แƒ”แƒœ แƒแƒ›แƒแƒ•แƒ˜แƒฆแƒ”แƒ‘แƒ— แƒ•แƒ”แƒšแƒ”แƒ‘แƒก stream, attrs, attrs.tag (แƒ—แƒฃ แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒก) แƒจแƒ”แƒ›แƒแƒ›แƒแƒ•แƒแƒšแƒ˜ JSON-แƒ“แƒแƒœ แƒ“แƒ แƒ•แƒ“แƒ”แƒ‘แƒ— แƒแƒ›แƒแƒฆแƒ”แƒ‘แƒฃแƒš แƒ แƒฃแƒ™แƒแƒจแƒ˜.

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

แƒ—แƒฃ แƒ›แƒแƒ•แƒแƒฎแƒ”แƒ แƒฎแƒ”แƒ— แƒขแƒ”แƒ’แƒ˜แƒก แƒ•แƒ”แƒšแƒ˜แƒก แƒ›แƒแƒ—แƒแƒ•แƒกแƒ”แƒ‘แƒ แƒแƒ›แƒแƒฆแƒ”แƒ‘แƒฃแƒš แƒ แƒฃแƒ™แƒแƒจแƒ˜, แƒ›แƒแƒจแƒ˜แƒœ regexp-แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ— แƒ’แƒแƒ›แƒแƒ•แƒงแƒแƒ•แƒ˜แƒ— แƒ’แƒแƒ›แƒแƒกแƒแƒฎแƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒ“แƒ แƒ™แƒแƒœแƒขแƒ”แƒ˜แƒœแƒ”แƒ แƒ˜แƒก แƒกแƒแƒฎแƒ”แƒšแƒ”แƒ‘แƒ˜.

 - labels:
     image_name:
     container_name:

แƒฉแƒ•แƒ”แƒœ แƒ•แƒแƒซแƒšแƒ”แƒ•แƒ— แƒ”แƒขแƒ˜แƒ™แƒ”แƒขแƒ”แƒ‘แƒก. แƒ—แƒฃ แƒแƒ›แƒแƒฆแƒ”แƒ‘แƒฃแƒš แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒจแƒ˜ แƒœแƒแƒžแƒแƒ•แƒœแƒ˜แƒ 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 log แƒฎแƒแƒ–แƒก.

     - 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}}"

แƒจแƒแƒ‘แƒšแƒแƒœแƒจแƒ˜ แƒžแƒ˜แƒ แƒแƒ‘แƒ˜แƒ—แƒ˜ แƒแƒžแƒ”แƒ แƒแƒขแƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—, แƒฉแƒ•แƒ”แƒœ แƒ•แƒแƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒ— แƒ“แƒแƒ˜แƒœแƒกแƒขแƒแƒšแƒ˜แƒ แƒ”แƒ‘แƒฃแƒš แƒ•แƒ”แƒšแƒ”แƒ‘แƒก แƒแƒ›แƒแƒฆแƒ”แƒ‘แƒฃแƒš แƒ แƒฃแƒ™แƒแƒจแƒ˜ แƒ“แƒ แƒ•แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ— แƒกแƒแƒญแƒ˜แƒ แƒ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ”แƒ‘แƒก แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ_แƒขแƒ˜แƒžแƒ˜แƒก แƒ•แƒ”แƒšแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก: แƒคแƒแƒขแƒ, แƒกแƒขแƒแƒขแƒ˜แƒ™แƒฃแƒ แƒ˜, API. แƒ›แƒ˜แƒแƒœแƒ˜แƒญแƒ”แƒ— แƒกแƒฎแƒ•แƒ, แƒ—แƒฃ แƒ˜แƒก แƒ•แƒ”แƒ  แƒ›แƒแƒฎแƒ”แƒ แƒฎแƒ“แƒ. request_type แƒแƒฎแƒšแƒ แƒจแƒ”แƒ˜แƒชแƒแƒ•แƒก แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ˜แƒก แƒขแƒ˜แƒžแƒก.

       - labels:
           api_request:
           virtual_host:
           request_type:
           status:

แƒฉแƒ•แƒ”แƒœ แƒ“แƒแƒ•แƒแƒงแƒ”แƒœแƒ”แƒ— แƒ”แƒขแƒ˜แƒ™แƒ”แƒขแƒ”แƒ‘แƒ˜ api_request, virtual_host, request_type แƒ“แƒ status (HTTP status) แƒ˜แƒ›แƒ˜แƒก แƒ›แƒ˜แƒฎแƒ”แƒ“แƒ•แƒ˜แƒ—, แƒ แƒแƒช แƒ›แƒแƒ•แƒแƒฎแƒ”แƒ แƒฎแƒ”แƒ— แƒแƒ›แƒแƒฆแƒ”แƒ‘แƒฃแƒš แƒ แƒฃแƒ™แƒแƒจแƒ˜ แƒฉแƒแƒกแƒ›แƒ.

       - output:
           source: nginx_log_row

แƒจแƒ”แƒชแƒ•แƒแƒšแƒ”แƒ— แƒ’แƒแƒ›แƒแƒ›แƒแƒ•แƒแƒšแƒ˜. แƒแƒฎแƒšแƒ แƒ’แƒแƒฌแƒ›แƒ”แƒœแƒ“แƒ˜แƒšแƒ˜ nginx แƒŸแƒฃแƒ แƒœแƒแƒšแƒ˜ แƒแƒ›แƒแƒฆแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ แƒฃแƒ™แƒ˜แƒ“แƒแƒœ แƒ›แƒ˜แƒ“แƒ˜แƒก Loki-แƒ–แƒ”.

แƒšแƒแƒ™แƒ˜แƒ“แƒแƒœ แƒ›แƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ’แƒ แƒแƒ•แƒ”แƒ‘แƒ

แƒ–แƒ”แƒ›แƒแƒแƒฆแƒœแƒ˜แƒจแƒœแƒฃแƒšแƒ˜ แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’, แƒฎแƒ”แƒ“แƒแƒ•แƒ—, แƒ แƒแƒ› แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒš แƒฉแƒแƒœแƒแƒฌแƒ”แƒ แƒก แƒ”แƒœแƒ˜แƒญแƒ”แƒ‘แƒ แƒšแƒ”แƒ˜แƒ‘แƒšแƒ”แƒ‘แƒ˜ แƒŸแƒฃแƒ แƒœแƒแƒšแƒ˜แƒ“แƒแƒœ แƒ›แƒ˜แƒฆแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒกแƒแƒคแƒฃแƒซแƒ•แƒ”แƒšแƒ–แƒ”.

แƒ”แƒ แƒ—แƒ˜ แƒ แƒแƒ› แƒฃแƒœแƒ“แƒ แƒ’แƒ•แƒแƒฎแƒกแƒแƒ•แƒ“แƒ”แƒก, แƒ แƒแƒ› แƒ“แƒ˜แƒ“แƒ˜ แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ˜แƒ— แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ”แƒ‘แƒ˜แƒก แƒ›แƒฅแƒแƒœแƒ” แƒ”แƒขแƒ˜แƒ™แƒ”แƒขแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒซแƒ˜แƒ”แƒ‘แƒแƒ› แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ•แƒœแƒแƒ“ แƒจแƒ”แƒแƒœแƒ”แƒšแƒแƒก แƒšแƒแƒ™แƒ˜. แƒแƒœแƒฃ แƒ˜แƒœแƒ“แƒ”แƒฅแƒกแƒจแƒ˜ แƒแƒ  แƒฃแƒœแƒ“แƒ แƒฉแƒแƒ“แƒแƒ—, แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, user_id. แƒ“แƒแƒฌแƒ•แƒ แƒ˜แƒšแƒ”แƒ‘แƒ˜แƒ— แƒแƒ›แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘ แƒกแƒขแƒแƒขแƒ˜แƒแƒจแƒ˜ โ€แƒ แƒแƒ’แƒแƒ  แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒแƒ— Loki-แƒจแƒ˜ แƒšแƒ”แƒ˜แƒ‘แƒšแƒ”แƒ‘แƒก แƒŸแƒฃแƒ แƒœแƒแƒšแƒ˜แƒก แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ”แƒ‘แƒ˜ แƒฃแƒคแƒ แƒ แƒกแƒฌแƒ แƒแƒคแƒ˜ แƒ“แƒ แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ˜ แƒ’แƒแƒฎแƒแƒ“แƒแƒœ" แƒ›แƒแƒ’แƒ แƒแƒ› แƒ”แƒก แƒแƒ  แƒœแƒ˜แƒจแƒœแƒแƒ•แƒก แƒ˜แƒ›แƒแƒก, แƒ แƒแƒ› แƒ—แƒฅแƒ•แƒ”แƒœ แƒแƒ  แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ›แƒแƒซแƒ”แƒ‘แƒœแƒแƒ— user_id-แƒ˜แƒก แƒ›แƒ˜แƒฎแƒ”แƒ“แƒ•แƒ˜แƒ— แƒ˜แƒœแƒ“แƒ”แƒฅแƒกแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”. แƒ—แƒฅแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒแƒ— แƒคแƒ˜แƒšแƒขแƒ แƒ”แƒ‘แƒ˜ แƒซแƒ˜แƒ”แƒ‘แƒ˜แƒกแƒแƒก (แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก โ€žแƒ“แƒแƒญแƒ”แƒ แƒโ€œ) แƒ“แƒ แƒแƒฅ แƒ˜แƒœแƒ“แƒ”แƒฅแƒกแƒ˜ แƒ›แƒแƒฅแƒ›แƒ”แƒ“แƒ”แƒ‘แƒก แƒ แƒแƒ’แƒแƒ แƒช แƒœแƒแƒ™แƒแƒ“แƒ˜แƒก แƒ˜แƒ“แƒ”แƒœแƒขแƒ˜แƒคแƒ˜แƒ™แƒแƒขแƒแƒ แƒ˜.

แƒ›แƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒ•แƒ˜แƒ–แƒฃแƒแƒšแƒ˜แƒ–แƒแƒชแƒ˜แƒ

แƒšแƒแƒ™แƒ˜แƒ“แƒแƒœ แƒ›แƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ’แƒ แƒแƒ•แƒ”แƒ‘แƒ

Loki-แƒก แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒ แƒ˜แƒ›แƒแƒฅแƒ›แƒ”แƒ“แƒแƒก แƒ แƒแƒ’แƒแƒ แƒช แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒฌแƒงแƒแƒ แƒ Grafana แƒ’แƒ แƒแƒคแƒ˜แƒ™แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก LogQL-แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—. แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜ แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ˜แƒšแƒ˜แƒ:

  • แƒ›แƒแƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒ”แƒšแƒ˜ โ€” แƒฉแƒแƒœแƒแƒฌแƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ แƒฌแƒแƒ›แƒจแƒ˜;
  • แƒ“แƒ แƒแƒ—แƒ แƒ’แƒแƒœแƒ›แƒแƒ•แƒšแƒแƒ‘แƒแƒจแƒ˜ แƒ“แƒแƒ—แƒ•แƒšแƒ โ€” แƒฉแƒแƒœแƒแƒฌแƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ แƒ›แƒ˜แƒ—แƒ˜แƒ—แƒ”แƒ‘แƒฃแƒš แƒ“แƒ˜แƒแƒžแƒแƒ–แƒแƒœแƒจแƒ˜.

แƒแƒกแƒ”แƒ•แƒ” แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒก แƒแƒ’แƒ แƒ”แƒ’แƒแƒชแƒ˜แƒ˜แƒก แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜ Sum, Avg แƒ“แƒ แƒกแƒฎแƒ•แƒ. แƒ—แƒฅแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒจแƒ”แƒฅแƒ›แƒœแƒแƒ— แƒกแƒแƒ™แƒ›แƒแƒแƒ“ แƒ แƒ—แƒฃแƒšแƒ˜ แƒ’แƒ แƒแƒคแƒ˜แƒ™แƒ”แƒ‘แƒ˜, แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“ HTTP แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ”แƒ‘แƒ˜แƒก แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ˜แƒก แƒ’แƒ แƒแƒคแƒ˜แƒ™แƒ˜:

แƒšแƒแƒ™แƒ˜แƒ“แƒแƒœ แƒ›แƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ’แƒ แƒแƒ•แƒ”แƒ‘แƒ

แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒกแƒขแƒแƒœแƒ“แƒแƒ แƒขแƒฃแƒšแƒ˜ แƒฌแƒงแƒแƒ แƒ Loki แƒ’แƒแƒ แƒ™แƒ•แƒ”แƒฃแƒšแƒฌแƒ˜แƒšแƒแƒ“ แƒจแƒ”แƒ›แƒชแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒแƒœแƒแƒšแƒฃแƒ แƒแƒ‘แƒ˜แƒ— แƒžแƒ แƒแƒ›แƒ”แƒ—แƒ”แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒฌแƒงแƒแƒ แƒแƒกแƒ—แƒแƒœ แƒจแƒ”แƒ“แƒแƒ แƒ”แƒ‘แƒ˜แƒ— (แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒ—แƒฅแƒ•แƒ”แƒœ แƒแƒ  แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒจแƒ”แƒชแƒ•แƒแƒšแƒแƒ— แƒšแƒ”แƒ’แƒ”แƒœแƒ“แƒ), แƒ›แƒแƒ’แƒ แƒแƒ› แƒšแƒแƒ™แƒ˜ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ“แƒแƒฃแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ“แƒ”แƒก แƒฌแƒงแƒแƒ แƒแƒก แƒžแƒ แƒแƒ›แƒ”แƒ—แƒ”แƒก แƒขแƒ˜แƒžแƒก. แƒ›แƒ” แƒแƒ  แƒ•แƒแƒ  แƒ“แƒแƒ แƒฌแƒ›แƒฃแƒœแƒ”แƒ‘แƒฃแƒšแƒ˜, แƒแƒ แƒ˜แƒก แƒ—แƒฃ แƒแƒ แƒ แƒ”แƒก แƒ“แƒแƒ™แƒฃแƒ›แƒ”แƒœแƒขแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒฅแƒชแƒ”แƒ•แƒ, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ•แƒ˜แƒ›แƒกแƒฏแƒ”แƒšแƒ”แƒ‘แƒ— แƒ“แƒ”แƒ•แƒ”แƒšแƒแƒžแƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒžแƒแƒกแƒฃแƒฎแƒ˜แƒก แƒ›แƒ˜แƒฎแƒ”แƒ“แƒ•แƒ˜แƒ— "แƒ แƒแƒ’แƒแƒ  แƒ“แƒแƒ•แƒแƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒ˜แƒ แƒแƒ— แƒšแƒแƒ™แƒ˜, แƒ แƒแƒ’แƒแƒ แƒช แƒžแƒ แƒแƒ›แƒ”แƒ—แƒ”แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒฌแƒงแƒแƒ แƒ? ยท แƒ’แƒแƒ›แƒแƒชแƒ”แƒ›แƒ #1222 ยท grafana/lokiโ€, แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒกแƒ แƒฃแƒšแƒ˜แƒแƒ“ แƒšแƒ”แƒ’แƒแƒšแƒฃแƒ แƒ˜แƒ แƒ“แƒ Loki แƒกแƒ แƒฃแƒšแƒแƒ“ แƒ—แƒแƒ•แƒกแƒ”แƒ‘แƒแƒ“แƒ˜แƒ PromQL-แƒ—แƒแƒœ.

แƒ“แƒแƒแƒ›แƒแƒขแƒ”แƒ— Loki, แƒ แƒแƒ’แƒแƒ แƒช แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒฌแƒงแƒแƒ แƒ, แƒขแƒ˜แƒžแƒ˜แƒ— Prometheus แƒ“แƒ แƒ“แƒแƒแƒ›แƒแƒขแƒ”แƒ— URL /loki:

แƒšแƒแƒ™แƒ˜แƒ“แƒแƒœ แƒ›แƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ’แƒ แƒแƒ•แƒ”แƒ‘แƒ

แƒฉแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ•แƒ˜แƒซแƒšแƒ˜แƒ แƒจแƒ”แƒ•แƒฅแƒ›แƒœแƒแƒ— แƒ’แƒ แƒแƒคแƒ˜แƒ™แƒ”แƒ‘แƒ˜, แƒ—แƒ˜แƒ—แƒฅแƒแƒก แƒžแƒ แƒแƒ›แƒ”แƒ—แƒ”แƒก แƒ›แƒ”แƒขแƒ แƒ˜แƒ™แƒแƒ–แƒ” แƒ•แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ“แƒ”แƒ—:

แƒšแƒแƒ™แƒ˜แƒ“แƒแƒœ แƒ›แƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ’แƒ แƒแƒ•แƒ”แƒ‘แƒ

แƒ›แƒ” แƒ•แƒคแƒ˜แƒฅแƒ แƒแƒ‘, แƒ แƒแƒ› แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒแƒœแƒแƒšแƒฃแƒ แƒแƒ‘แƒ˜แƒก แƒจแƒ”แƒฃแƒกแƒแƒ‘แƒแƒ›แƒแƒ‘แƒ แƒ“แƒ แƒแƒ”แƒ‘แƒ˜แƒ—แƒ˜แƒ แƒ“แƒ แƒ“แƒ”แƒ•แƒ”แƒšแƒแƒžแƒ”แƒ แƒ”แƒ‘แƒ˜ แƒแƒ›แƒแƒก แƒ›แƒแƒ›แƒแƒ•แƒแƒšแƒจแƒ˜ แƒ’แƒแƒ›แƒแƒแƒกแƒฌแƒแƒ แƒ”แƒ‘แƒ”แƒœ.

แƒšแƒแƒ™แƒ˜แƒ“แƒแƒœ แƒ›แƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ’แƒ แƒแƒ•แƒ”แƒ‘แƒ

แƒ›แƒ”แƒขแƒ แƒ˜แƒ™แƒ

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

แƒแƒคแƒชแƒ˜แƒ แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ’แƒแƒซแƒšแƒ”แƒ•แƒ— แƒ’แƒแƒœแƒกแƒแƒ–แƒฆแƒ•แƒ แƒแƒ— แƒ“แƒ แƒ’แƒแƒœแƒแƒแƒฎแƒšแƒแƒ— แƒ›แƒ”แƒขแƒ แƒ˜แƒ™แƒ แƒแƒ›แƒแƒฆแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ แƒฃแƒฅแƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ–แƒ” แƒ“แƒแƒงแƒ แƒ“แƒœแƒแƒ‘แƒ˜แƒ—. แƒ”แƒก แƒ›แƒ”แƒขแƒ แƒ˜แƒ™แƒ แƒแƒ  แƒ˜แƒ’แƒ–แƒแƒ•แƒœแƒ”แƒ‘แƒ Loki-แƒจแƒ˜ - แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒ’แƒแƒ›แƒแƒฉแƒœแƒ“แƒ”แƒ‘แƒ Promtail /metrics แƒ‘แƒแƒšแƒ แƒฌแƒ”แƒ แƒขแƒ˜แƒšแƒจแƒ˜. แƒแƒ› แƒ”แƒขแƒแƒžแƒ–แƒ” แƒ›แƒ˜แƒฆแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒกแƒแƒฆแƒ”แƒ‘แƒแƒ“ แƒžแƒ แƒแƒ›แƒ”แƒ—แƒ” แƒฃแƒœแƒ“แƒ แƒ˜แƒงแƒแƒก แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜. แƒ–แƒ”แƒ›แƒแƒ— แƒ›แƒแƒงแƒ•แƒแƒœแƒ˜แƒš แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒจแƒ˜, request_type=โ€œapiโ€-แƒกแƒ—แƒ•แƒ˜แƒก แƒฉแƒ•แƒ”แƒœ แƒ•แƒแƒ’แƒ แƒแƒ•แƒ”แƒ‘แƒ— แƒฐแƒ˜แƒกแƒขแƒแƒ’แƒ แƒแƒ›แƒ˜แƒก แƒ›แƒ”แƒขแƒ แƒ˜แƒ™แƒแƒก. แƒแƒ› แƒขแƒ˜แƒžแƒ˜แƒก แƒ›แƒ”แƒขแƒ แƒ˜แƒ™แƒ”แƒ‘แƒ˜แƒ— แƒ›แƒแƒกแƒแƒฎแƒ”แƒ แƒฎแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒžแƒ แƒแƒชแƒ”แƒœแƒขแƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒฆแƒ”แƒ‘แƒ. แƒกแƒขแƒแƒขแƒ˜แƒ™แƒฃแƒ แƒ˜ แƒ“แƒ แƒคแƒแƒขแƒแƒกแƒ—แƒ•แƒ˜แƒก, แƒฉแƒ•แƒ”แƒœ แƒ•แƒแƒ’แƒ แƒแƒ•แƒ”แƒ‘แƒ— แƒ‘แƒแƒ˜แƒขแƒ”แƒ‘แƒ˜แƒก แƒฏแƒแƒ›แƒก แƒ“แƒ แƒ แƒ˜แƒ’แƒ”แƒ‘แƒ˜แƒก แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒแƒก, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒจแƒ˜แƒช แƒ›แƒ˜แƒ•แƒ˜แƒฆแƒ”แƒ— แƒ‘แƒแƒ˜แƒขแƒ”แƒ‘แƒ˜, แƒ แƒแƒ—แƒ แƒ’แƒแƒ›แƒแƒ•แƒ—แƒ•แƒแƒšแƒแƒ— แƒกแƒแƒจแƒฃแƒแƒšแƒ.

แƒฌแƒแƒ˜แƒ™แƒ˜แƒ—แƒฎแƒ”แƒ— แƒ›แƒ”แƒขแƒ˜ แƒ›แƒ”แƒขแƒ แƒ˜แƒ™แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘ แƒแƒฅ.

แƒ’แƒแƒฎแƒกแƒ”แƒœแƒ˜แƒ— แƒžแƒแƒ แƒขแƒ˜ Promtail-แƒ–แƒ”:

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']

แƒ“แƒ แƒฉแƒ•แƒ”แƒœ แƒ•แƒฎแƒแƒขแƒแƒ•แƒ— แƒ’แƒ แƒแƒคแƒ˜แƒ™แƒก:

แƒšแƒแƒ™แƒ˜แƒ“แƒแƒœ แƒ›แƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ’แƒ แƒแƒ•แƒ”แƒ‘แƒ

แƒแƒ› แƒ’แƒ–แƒ˜แƒ— แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ’แƒแƒ˜แƒ’แƒแƒ—, แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒแƒ—แƒฎแƒ˜ แƒงแƒ•แƒ”แƒšแƒแƒ–แƒ” แƒœแƒ”แƒšแƒ˜ แƒจแƒ”แƒ™แƒ˜แƒ—แƒฎแƒ•แƒ. แƒ—แƒฅแƒ•แƒ”แƒœ แƒแƒกแƒ”แƒ•แƒ” แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ“แƒแƒแƒงแƒ”แƒœแƒแƒ— แƒ›แƒแƒœแƒ˜แƒขแƒแƒ แƒ˜แƒœแƒ’แƒ˜ แƒแƒ› แƒ›แƒ”แƒขแƒ แƒ˜แƒ™แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก.

แƒกแƒ™แƒแƒšแƒ˜แƒ แƒ”แƒ‘แƒ

Loki แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ˜แƒงแƒแƒก แƒ แƒแƒ’แƒแƒ แƒช แƒ”แƒ แƒ— แƒ‘แƒ˜แƒœแƒแƒ แƒฃแƒš แƒ แƒ”แƒŸแƒ˜แƒ›แƒจแƒ˜, แƒแƒกแƒ”แƒ•แƒ” แƒ’แƒแƒฎแƒ”แƒฎแƒ˜แƒš แƒ แƒ”แƒŸแƒ˜แƒ›แƒจแƒ˜ (แƒฐแƒแƒ แƒ˜แƒ–แƒแƒœแƒขแƒแƒšแƒฃแƒ แƒแƒ“ แƒ›แƒแƒกแƒจแƒขแƒแƒ‘แƒ˜แƒ แƒ”แƒ‘แƒแƒ“แƒ˜ แƒ แƒ”แƒŸแƒ˜แƒ›แƒ˜). แƒ›แƒ”แƒแƒ แƒ” แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜, แƒ›แƒแƒก แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒœแƒแƒฎแƒ•แƒ แƒฆแƒ แƒฃแƒ‘แƒ”แƒšแƒจแƒ˜, แƒฎแƒแƒšแƒ แƒœแƒแƒฌแƒ˜แƒšแƒ”แƒ‘แƒ˜ แƒ“แƒ แƒ˜แƒœแƒ“แƒ”แƒฅแƒกแƒ˜ แƒชแƒแƒšแƒ™แƒ” แƒ˜แƒœแƒแƒฎแƒ”แƒ‘แƒ. แƒ•แƒ”แƒ แƒกแƒ˜แƒ 1.5 แƒจแƒ”แƒ›แƒแƒแƒฅแƒ•แƒก แƒ”แƒ แƒ— แƒแƒ“แƒ’แƒ˜แƒšแƒแƒก แƒจแƒ”แƒœแƒแƒฎแƒ•แƒ˜แƒก แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒšแƒแƒ‘แƒแƒก, แƒ›แƒแƒ’แƒ แƒแƒ› แƒฏแƒ”แƒ  แƒแƒ  แƒแƒ แƒ˜แƒก แƒ แƒ”แƒ™แƒแƒ›แƒ”แƒœแƒ“แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ›แƒ˜แƒกแƒ˜ แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ แƒฌแƒแƒ แƒ›แƒแƒ”แƒ‘แƒแƒจแƒ˜.

แƒšแƒแƒ™แƒ˜แƒ“แƒแƒœ แƒ›แƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ’แƒ แƒแƒ•แƒ”แƒ‘แƒ

แƒœแƒแƒญแƒ แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒœแƒแƒฎแƒ•แƒ แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ S3-แƒ—แƒแƒœ แƒ—แƒแƒ•แƒกแƒ”แƒ‘แƒแƒ“ แƒกแƒแƒชแƒแƒ•แƒจแƒ˜, แƒฎแƒแƒšแƒ แƒฐแƒแƒ แƒ˜แƒ–แƒแƒœแƒขแƒแƒšแƒฃแƒ แƒแƒ“ แƒ›แƒแƒกแƒจแƒขแƒแƒ‘แƒ˜แƒ แƒ”แƒ‘แƒแƒ“แƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒ˜แƒœแƒ“แƒ”แƒฅแƒกแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒœแƒแƒฎแƒแƒ“: Cassandra, BigTable แƒแƒœ DynamoDB. Loki-แƒก แƒกแƒฎแƒ•แƒ แƒœแƒแƒฌแƒ˜แƒšแƒ”แƒ‘แƒ˜ - แƒ“แƒ˜แƒกแƒขแƒ แƒ˜แƒ‘แƒฃแƒขแƒแƒ แƒ”แƒ‘แƒ˜ (แƒฌแƒ”แƒ แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก) แƒ“แƒ Querier (แƒจแƒ”แƒ™แƒ˜แƒ—แƒฎแƒ•แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก) - แƒแƒ แƒ˜แƒก แƒ›แƒแƒฅแƒแƒšแƒแƒฅแƒ”แƒแƒ‘แƒ˜แƒก แƒแƒ แƒ›แƒฅแƒแƒœแƒ” แƒ“แƒ แƒแƒกแƒ”แƒ•แƒ” แƒฐแƒแƒ แƒ˜แƒ–แƒแƒœแƒขแƒแƒšแƒฃแƒ แƒแƒ“ แƒ›แƒแƒกแƒจแƒขแƒแƒ‘แƒฃแƒ แƒ˜.

DevOpsDays Vancouver 2019 แƒ™แƒแƒœแƒคแƒ”แƒ แƒ”แƒœแƒชแƒ˜แƒแƒ–แƒ”, แƒ”แƒ แƒ—-แƒ”แƒ แƒ—แƒ›แƒ แƒ›แƒแƒœแƒแƒฌแƒ˜แƒšแƒ”แƒ› แƒ™แƒแƒšแƒฃแƒ› แƒกแƒขแƒ˜แƒแƒœแƒ›แƒ แƒ’แƒแƒ›แƒแƒแƒชแƒฎแƒแƒ“แƒ, แƒ แƒแƒ› แƒšแƒแƒ™แƒ˜แƒกแƒ—แƒแƒœ แƒ”แƒ แƒ—แƒแƒ“ แƒ›แƒ˜แƒก แƒžแƒ แƒแƒ”แƒฅแƒขแƒก แƒแƒฅแƒ•แƒก แƒžแƒ”แƒขแƒแƒ‘แƒแƒ˜แƒขแƒ˜ แƒŸแƒฃแƒ แƒœแƒแƒšแƒ˜, แƒกแƒแƒ”แƒ แƒ—แƒ แƒ–แƒแƒ›แƒ˜แƒก 1%-แƒ–แƒ” แƒœแƒแƒ™แƒšแƒ”แƒ‘แƒ˜ แƒ˜แƒœแƒ“แƒ”แƒฅแƒกแƒ˜แƒ—: โ€แƒ แƒแƒ’แƒแƒ  แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒก แƒšแƒแƒ™แƒ˜ แƒ›แƒ”แƒขแƒ แƒ˜แƒ™แƒแƒกแƒ แƒ“แƒ แƒŸแƒฃแƒ แƒœแƒแƒšแƒก - แƒ“แƒ แƒ“แƒแƒ–แƒแƒ’แƒแƒ•แƒ— แƒคแƒฃแƒšแƒก".

แƒšแƒแƒ™แƒ˜แƒก แƒ“แƒ ELK-แƒ˜แƒก แƒจแƒ”แƒ“แƒแƒ แƒ”แƒ‘แƒ

แƒ˜แƒœแƒ“แƒ”แƒฅแƒกแƒ˜แƒก แƒ–แƒแƒ›แƒ

แƒ›แƒ˜แƒฆแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ˜แƒœแƒ“แƒ”แƒฅแƒกแƒ˜แƒก แƒ–แƒแƒ›แƒ˜แƒก แƒจแƒ”แƒกแƒแƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒšแƒแƒ“, แƒ›แƒ” แƒแƒ•แƒ˜แƒฆแƒ” แƒŸแƒฃแƒ แƒœแƒแƒšแƒ”แƒ‘แƒ˜ nginx-แƒ˜แƒก แƒ™แƒแƒœแƒขแƒ”แƒ˜แƒœแƒ”แƒ แƒ˜แƒ“แƒแƒœ, แƒ แƒแƒ›แƒšแƒ˜แƒกแƒ—แƒ•แƒ˜แƒกแƒแƒช แƒ–แƒ”แƒ›แƒแƒ— แƒ˜แƒงแƒ แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ›แƒ˜แƒšแƒกแƒแƒ“แƒ”แƒœแƒ˜. แƒŸแƒฃแƒ แƒœแƒแƒšแƒ˜แƒก แƒคแƒแƒ˜แƒšแƒ˜ แƒจแƒ”แƒ˜แƒชแƒแƒ•แƒ“แƒ 406 แƒกแƒขแƒ แƒ˜แƒฅแƒแƒœแƒก, แƒกแƒแƒ”แƒ แƒ—แƒ แƒ›แƒแƒชแƒฃแƒšแƒแƒ‘แƒ˜แƒ— 624 แƒ›แƒ‘. แƒŸแƒฃแƒ แƒœแƒแƒšแƒ”แƒ‘แƒ˜ แƒจแƒ”แƒ˜แƒฅแƒ›แƒœแƒ แƒ”แƒ แƒ— แƒกแƒแƒแƒ—แƒจแƒ˜, แƒ“แƒแƒแƒฎแƒšแƒแƒ”แƒ‘แƒ˜แƒ— 109 แƒฉแƒแƒœแƒแƒฌแƒ”แƒ แƒ˜ แƒฌแƒแƒ›แƒจแƒ˜.

แƒแƒ แƒ˜ แƒฎแƒแƒ–แƒ˜แƒก แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ˜ แƒŸแƒฃแƒ แƒœแƒแƒšแƒ˜แƒ“แƒแƒœ:

แƒšแƒแƒ™แƒ˜แƒ“แƒแƒœ แƒ›แƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ’แƒ แƒแƒ•แƒ”แƒ‘แƒ

ELK-แƒ˜แƒก แƒ›แƒ˜แƒ”แƒ  แƒ˜แƒœแƒ“แƒ”แƒฅแƒกแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒกแƒแƒก, แƒ›แƒแƒœ แƒ›แƒ˜แƒ˜แƒฆแƒ แƒ˜แƒœแƒ“แƒ”แƒฅแƒกแƒ˜แƒก แƒ–แƒแƒ›แƒ 30,3 แƒ›แƒ‘:

แƒšแƒแƒ™แƒ˜แƒ“แƒแƒœ แƒ›แƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ’แƒ แƒแƒ•แƒ”แƒ‘แƒ

Loki-แƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜, แƒแƒ›แƒแƒœ แƒ’แƒแƒ›แƒแƒ˜แƒฌแƒ•แƒ˜แƒ แƒ“แƒแƒแƒฎแƒšแƒแƒ”แƒ‘แƒ˜แƒ— 128 KB แƒ˜แƒœแƒ“แƒ”แƒฅแƒกแƒ˜ แƒ“แƒ แƒ“แƒแƒแƒฎแƒšแƒแƒ”แƒ‘แƒ˜แƒ— 3,8 MB แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜ แƒœแƒแƒฌแƒ˜แƒšแƒ”แƒ‘แƒแƒ“. แƒแƒฆแƒกแƒแƒœแƒ˜แƒจแƒœแƒแƒ•แƒ˜แƒ, แƒ แƒแƒ› แƒŸแƒฃแƒ แƒœแƒแƒšแƒ˜ แƒฎแƒ”แƒšแƒแƒ•แƒœแƒฃแƒ แƒแƒ“ แƒ˜แƒงแƒ แƒ’แƒ”แƒœแƒ”แƒ แƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ“แƒ แƒแƒ  แƒ’แƒแƒแƒฉแƒœแƒ“แƒ แƒ›แƒ แƒแƒ•แƒแƒšแƒคแƒ”แƒ แƒแƒ•แƒแƒœแƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜. แƒแƒ แƒ˜แƒ’แƒ˜แƒœแƒแƒšแƒฃแƒ  Docker JSON แƒŸแƒฃแƒ แƒœแƒแƒšแƒ–แƒ” แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ˜ gzip แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒ— แƒจแƒ”แƒ™แƒฃแƒ›แƒจแƒ•แƒ แƒ˜แƒงแƒ 95,4% แƒ“แƒ แƒ˜แƒ›แƒ˜แƒก แƒ’แƒแƒ—แƒ•แƒแƒšแƒ˜แƒกแƒฌแƒ˜แƒœแƒ”แƒ‘แƒ˜แƒ—, แƒ แƒแƒ› แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ’แƒแƒฌแƒ›แƒ”แƒœแƒ“แƒ˜แƒšแƒ˜ nginx แƒŸแƒฃแƒ แƒœแƒแƒšแƒ˜ แƒ’แƒแƒ”แƒ’แƒ–แƒแƒ•แƒœแƒ แƒ—แƒแƒ•แƒแƒ“ Loki-แƒก, แƒ’แƒแƒกแƒแƒ’แƒ”แƒ‘แƒ˜แƒ 4 แƒ›แƒ‘-แƒ›แƒ“แƒ” แƒจแƒ”แƒ™แƒฃแƒ›แƒจแƒ•แƒ. Loki แƒ”แƒขแƒ˜แƒ™แƒ”แƒขแƒ”แƒ‘แƒ˜แƒก แƒฃแƒœแƒ˜แƒ™แƒแƒšแƒฃแƒ แƒ˜ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ”แƒ‘แƒ˜แƒก แƒกแƒแƒ”แƒ แƒ—แƒ แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ แƒ˜แƒงแƒ 35, แƒ แƒแƒช แƒฎแƒกแƒœแƒ˜แƒก แƒ˜แƒœแƒ“แƒ”แƒฅแƒกแƒ˜แƒก แƒ›แƒชแƒ˜แƒ แƒ” แƒ–แƒแƒ›แƒแƒก. ELK-แƒกแƒ—แƒ•แƒ˜แƒก แƒŸแƒฃแƒ แƒœแƒแƒšแƒ˜แƒช แƒ’แƒแƒกแƒฃแƒคแƒ—แƒแƒ•แƒ“แƒ. แƒแƒ›แƒ แƒ˜แƒ’แƒแƒ“, แƒšแƒแƒ™แƒ˜แƒ› แƒจแƒ”แƒ™แƒฃแƒ›แƒจแƒ แƒแƒ แƒ˜แƒ’แƒ˜แƒœแƒแƒšแƒฃแƒ แƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜ 96%-แƒ˜แƒ—, แƒฎแƒแƒšแƒ ELK 70%-แƒ˜แƒ—.

แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ

แƒšแƒแƒ™แƒ˜แƒ“แƒแƒœ แƒ›แƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ’แƒ แƒแƒ•แƒ”แƒ‘แƒ

แƒ—แƒฃ แƒจแƒ”แƒ•แƒแƒ“แƒแƒ แƒ”แƒ‘แƒ— แƒ›แƒ—แƒ”แƒš แƒžแƒ แƒแƒ›แƒ”แƒ—แƒ”แƒก แƒ“แƒ ELK แƒ“แƒแƒกแƒขแƒแƒก, แƒ›แƒแƒจแƒ˜แƒœ แƒšแƒแƒ™แƒ˜ แƒ แƒแƒ›แƒ“แƒ”แƒœแƒฏแƒ”แƒ แƒ›แƒ” แƒœแƒแƒ™แƒšแƒ”แƒ‘แƒก "แƒญแƒแƒ›แƒก". แƒœแƒแƒ—แƒ”แƒšแƒ˜แƒ, แƒ แƒแƒ› Go แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜ แƒ›แƒแƒ˜แƒฎแƒ›แƒแƒ แƒก Java แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ–แƒ” แƒœแƒแƒ™แƒšแƒ”แƒ‘แƒก แƒ“แƒ JVM Heap Elasticsearch-แƒ˜แƒก แƒ–แƒแƒ›แƒ˜แƒกแƒ แƒ“แƒ Loki-แƒกแƒ—แƒ•แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒแƒคแƒ˜แƒšแƒ˜ แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ“แƒแƒ แƒ”แƒ‘แƒ แƒแƒ แƒแƒกแƒฌแƒแƒ แƒ˜แƒ, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ›แƒ˜แƒฃแƒฎแƒ”แƒ“แƒแƒ•แƒแƒ“ แƒแƒ›แƒ˜แƒกแƒ, แƒแƒฆแƒกแƒแƒœแƒ˜แƒจแƒœแƒแƒ•แƒ˜แƒ, แƒ แƒแƒ› Loki แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒก แƒ’แƒแƒชแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒ— แƒœแƒแƒ™แƒšแƒ”แƒ‘ แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒแƒก. แƒ›แƒ˜แƒกแƒ˜ CPU แƒฃแƒžแƒ˜แƒ แƒแƒขแƒ”แƒกแƒแƒ‘แƒ แƒแƒ แƒช แƒ˜แƒกแƒ” แƒแƒจแƒ™แƒแƒ แƒแƒ, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ˜แƒก แƒแƒกแƒ”แƒ•แƒ” แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒก.

แƒกแƒ˜แƒฉแƒฅแƒแƒ แƒ˜แƒก

แƒšแƒแƒ™แƒ˜ แƒฃแƒคแƒ แƒ แƒกแƒฌแƒ แƒแƒคแƒแƒ“ โ€žแƒญแƒแƒ›แƒกโ€œ แƒšแƒแƒ’แƒ˜แƒœแƒ”แƒ‘แƒก. แƒกแƒ˜แƒฉแƒฅแƒแƒ แƒ” แƒ‘แƒ”แƒ•แƒ  แƒคแƒแƒฅแƒขแƒแƒ แƒ–แƒ”แƒ แƒ“แƒแƒ›แƒแƒ™แƒ˜แƒ“แƒ”แƒ‘แƒฃแƒšแƒ˜ - แƒ แƒแƒ’แƒแƒ แƒ˜ แƒšแƒแƒ’แƒ”แƒ‘แƒ˜แƒ, แƒ แƒแƒ›แƒ“แƒ”แƒœแƒแƒ“ แƒ“แƒแƒฎแƒ•แƒ”แƒฌแƒ˜แƒšแƒ˜ แƒ•แƒแƒ แƒ— แƒ›แƒแƒ— แƒแƒœแƒแƒšแƒ˜แƒ–แƒจแƒ˜, แƒฅแƒกแƒ”แƒšแƒจแƒ˜, แƒ“แƒ˜แƒกแƒ™แƒ–แƒ” แƒ“แƒ แƒ.แƒจ. - แƒ›แƒแƒ’แƒ แƒแƒ› แƒ˜แƒก แƒœแƒแƒ›แƒ“แƒ•แƒ˜แƒšแƒแƒ“ แƒฃแƒคแƒ แƒ แƒ›แƒแƒฆแƒแƒšแƒ˜แƒ แƒ•แƒ˜แƒ“แƒ แƒ” ELK (แƒฉแƒ”แƒ›แƒก แƒขแƒ”แƒกแƒขแƒจแƒ˜ - แƒ“แƒแƒแƒฎแƒšแƒแƒ”แƒ‘แƒ˜แƒ— แƒแƒ แƒฏแƒ”แƒ  แƒ›แƒ”แƒขแƒ˜). แƒ”แƒก แƒแƒ˜แƒฎแƒกแƒœแƒ”แƒ‘แƒ แƒ˜แƒ›แƒ˜แƒ—, แƒ แƒแƒ› แƒšแƒแƒ™แƒ˜ แƒ’แƒแƒชแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒ— แƒœแƒแƒ™แƒšแƒ”แƒ‘ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒก แƒ“แƒ”แƒ‘แƒก แƒ˜แƒœแƒ“แƒ”แƒฅแƒกแƒจแƒ˜ แƒ“แƒ แƒจแƒ”แƒกแƒแƒ‘แƒแƒ›แƒ˜แƒกแƒแƒ“ แƒœแƒแƒ™แƒšแƒ”แƒ‘ แƒ“แƒ แƒแƒก แƒฎแƒแƒ แƒฏแƒแƒ•แƒก แƒ˜แƒœแƒ“แƒ”แƒฅแƒกแƒ˜แƒ แƒ”แƒ‘แƒแƒ–แƒ”. แƒซแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒกแƒ˜แƒฉแƒฅแƒแƒ แƒ˜แƒ—, แƒกแƒ˜แƒขแƒฃแƒแƒชแƒ˜แƒ แƒกแƒแƒžแƒ˜แƒ แƒ˜แƒกแƒžแƒ˜แƒ แƒแƒ: Loki แƒจแƒ”แƒกแƒแƒ›แƒฉแƒœแƒ”แƒ•แƒแƒ“ แƒแƒœแƒ”แƒšแƒ”แƒ‘แƒก แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒ’แƒ˜แƒ’แƒแƒ‘แƒแƒ˜แƒขแƒ–แƒ” แƒ“แƒ˜แƒ“ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒก, แƒฎแƒแƒšแƒ ELK-แƒ˜แƒก แƒซแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒกแƒ˜แƒฉแƒฅแƒแƒ แƒ” แƒแƒ  แƒแƒ แƒ˜แƒก แƒ“แƒแƒ›แƒแƒ™แƒ˜แƒ“แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ–แƒแƒ›แƒแƒ–แƒ”.

แƒŸแƒฃแƒ แƒœแƒแƒšแƒ˜แƒก แƒซแƒ”แƒ‘แƒœแƒ

Loki แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ•แƒœแƒแƒ“ แƒฉแƒแƒ›แƒแƒ แƒฉแƒ”แƒ‘แƒ ELK-แƒก แƒŸแƒฃแƒ แƒœแƒแƒšแƒ˜แƒก แƒซแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒšแƒแƒ‘แƒ”แƒ‘แƒ˜แƒก แƒ›แƒฎแƒ แƒ˜แƒ•. แƒ แƒ”แƒ’แƒฃแƒšแƒแƒ แƒฃแƒšแƒ˜ แƒ’แƒแƒ›แƒแƒœแƒแƒ—แƒฅแƒ•แƒแƒ›แƒ”แƒ‘แƒ˜แƒ— Grep แƒซแƒšแƒ˜แƒ”แƒ แƒ˜แƒ, แƒ›แƒแƒ’แƒ แƒแƒ› แƒฉแƒแƒ›แƒแƒฃแƒ•แƒแƒ แƒ“แƒ”แƒ‘แƒ แƒกแƒ”แƒฅแƒกแƒฃแƒแƒšแƒฃแƒ  แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒแƒก. แƒ“แƒ˜แƒแƒžแƒแƒ–แƒแƒœแƒ˜แƒก แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ”แƒ‘แƒ˜แƒก แƒœแƒแƒ™แƒšแƒ”แƒ‘แƒแƒ‘แƒ, แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ”แƒขแƒ˜แƒ™แƒ”แƒขแƒ”แƒ‘แƒ˜แƒก แƒแƒ’แƒ แƒ”แƒ’แƒแƒชแƒ˜แƒ, แƒ”แƒขแƒ˜แƒ™แƒ”แƒขแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ” แƒซแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒฃแƒซแƒšแƒ”แƒ‘แƒšแƒแƒ‘แƒ - แƒ”แƒก แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒ’แƒ•แƒ–แƒฆแƒฃแƒ“แƒแƒ•แƒก Loki-แƒจแƒ˜ แƒกแƒแƒ˜แƒœแƒขแƒ”แƒ แƒ”แƒกแƒ แƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒ˜แƒก แƒซแƒ˜แƒ”แƒ‘แƒแƒจแƒ˜. แƒ”แƒก แƒแƒ  แƒœแƒ˜แƒจแƒœแƒแƒ•แƒก, แƒ แƒแƒ› Loki-แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ— แƒ•แƒ”แƒ แƒแƒคแƒ”แƒ แƒ˜ แƒ›แƒแƒ˜แƒซแƒ”แƒ‘แƒœแƒ”แƒ‘แƒ, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ˜แƒก แƒ’แƒแƒœแƒกแƒแƒ–แƒฆแƒ•แƒ แƒแƒ•แƒก แƒšแƒแƒ’แƒ”แƒ‘แƒ—แƒแƒœ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒก แƒœแƒแƒ™แƒแƒ“แƒก, แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒแƒ“ แƒแƒฆแƒ›แƒแƒแƒฉแƒ”แƒœแƒ— แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒแƒก แƒžแƒ แƒแƒ›แƒ”แƒ—แƒ”แƒก แƒกแƒฅแƒ”แƒ›แƒ”แƒ‘แƒจแƒ˜ แƒ“แƒ แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ— แƒแƒ› แƒ”แƒขแƒ˜แƒ™แƒ”แƒขแƒ”แƒ‘แƒก, แƒ แƒแƒ—แƒ แƒ›แƒแƒซแƒ”แƒ‘แƒœแƒแƒ— แƒ แƒ แƒ›แƒแƒฎแƒ“แƒ แƒŸแƒฃแƒ แƒœแƒแƒšแƒ”แƒ‘แƒจแƒ˜.

แƒ˜แƒœแƒขแƒ”แƒ แƒคแƒ”แƒ˜แƒกแƒ˜

แƒฃแƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ”แƒก แƒงแƒแƒ•แƒšแƒ˜แƒกแƒ, แƒšแƒแƒ›แƒแƒ–แƒ˜แƒ (แƒ‘แƒแƒ“แƒ˜แƒจแƒ˜, แƒฌแƒ˜แƒœแƒแƒแƒฆแƒ›แƒ“แƒ”แƒ’แƒแƒ‘แƒ แƒ•แƒ”แƒ  แƒ’แƒแƒ•แƒฃแƒฌแƒ˜แƒ”). Grafana-แƒก แƒแƒฅแƒ•แƒก แƒšแƒแƒ›แƒแƒ–แƒ˜ แƒ’แƒแƒ แƒ”แƒ’แƒœแƒแƒ‘แƒ˜แƒก แƒ˜แƒœแƒขแƒ”แƒ แƒคแƒ”แƒ˜แƒกแƒ˜, แƒ›แƒแƒ’แƒ แƒแƒ› Kibana แƒ‘แƒ”แƒ•แƒ แƒแƒ“ แƒฃแƒคแƒ แƒ แƒ›แƒ“แƒ˜แƒ“แƒแƒ แƒ˜แƒ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒ—.

แƒšแƒแƒ™แƒ˜แƒก แƒ“แƒแƒ“แƒ”แƒ‘แƒ˜แƒ—แƒ˜ แƒ“แƒ แƒฃแƒแƒ แƒงแƒแƒคแƒ˜แƒ—แƒ˜ แƒ›แƒฎแƒแƒ แƒ”แƒ”แƒ‘แƒ˜

แƒ”แƒ แƒ—-แƒ”แƒ แƒ—แƒ˜ แƒฃแƒžแƒ˜แƒ แƒแƒขแƒ”แƒกแƒแƒ‘แƒ แƒ˜แƒก แƒแƒ แƒ˜แƒก, แƒ แƒแƒ› แƒšแƒแƒ™แƒ˜ แƒ˜แƒœแƒขแƒ”แƒ’แƒ แƒ˜แƒ แƒ“แƒ”แƒ‘แƒ แƒžแƒ แƒแƒ›แƒ”แƒ—แƒ”แƒกแƒ—แƒแƒœ, แƒแƒกแƒ” แƒ แƒแƒ›, แƒฉแƒ•แƒ”แƒœ แƒ•แƒ˜แƒฆแƒ”แƒ‘แƒ— แƒ›แƒ”แƒขแƒ แƒ˜แƒ™แƒแƒก แƒ“แƒ แƒ’แƒแƒคแƒ แƒ—แƒฎแƒ˜แƒšแƒ”แƒ‘แƒแƒก. แƒ›แƒแƒกแƒแƒฎแƒ”แƒ แƒฎแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒŸแƒฃแƒ แƒœแƒแƒšแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ’แƒ แƒแƒ•แƒ”แƒ‘แƒ แƒ“แƒ แƒ›แƒแƒ—แƒ˜ แƒจแƒ”แƒกแƒแƒœแƒแƒฎแƒ˜ Kubernetes Pods-แƒ“แƒแƒœ, แƒ แƒแƒ“แƒ’แƒแƒœ แƒ›แƒแƒก แƒแƒฅแƒ•แƒก Prometheus-แƒ˜แƒกแƒ’แƒแƒœ แƒ›แƒ”แƒ›แƒ™แƒ•แƒ˜แƒ“แƒ แƒ”แƒแƒ‘แƒ˜แƒ— แƒ›แƒ˜แƒฆแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒก แƒแƒฆแƒ›แƒแƒฉแƒ”แƒœแƒ แƒ“แƒ แƒแƒ•แƒขแƒแƒ›แƒแƒขแƒฃแƒ แƒแƒ“ แƒแƒ›แƒแƒ’แƒ แƒ”แƒ‘แƒก แƒ”แƒขแƒ˜แƒ™แƒ”แƒขแƒ”แƒ‘แƒก.

แƒ›แƒ˜แƒœแƒฃแƒกแƒ˜ แƒแƒ แƒ˜แƒก แƒกแƒฃแƒกแƒขแƒ˜ แƒ“แƒแƒ™แƒฃแƒ›แƒ”แƒœแƒขแƒแƒชแƒ˜แƒ. แƒ–แƒแƒ’แƒ˜แƒ”แƒ แƒ—แƒ˜ แƒ แƒแƒ›, แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, Promtail-แƒ˜แƒก แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒšแƒแƒ‘แƒ”แƒ‘แƒ˜, แƒ›แƒ” แƒแƒฆแƒ›แƒแƒ•แƒแƒฉแƒ˜แƒœแƒ” แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ™แƒแƒ“แƒ˜แƒก แƒจแƒ”แƒกแƒฌแƒแƒ•แƒšแƒ˜แƒก แƒžแƒ แƒแƒชแƒ”แƒกแƒจแƒ˜, แƒกแƒแƒ‘แƒ”แƒ“แƒœแƒ˜แƒ”แƒ แƒแƒ“ แƒ˜แƒก แƒแƒ แƒ˜แƒก แƒฆแƒ˜แƒ แƒ™แƒแƒ“แƒ˜. แƒ™แƒ˜แƒ“แƒ”แƒ• แƒ”แƒ แƒ—แƒ˜ แƒ›แƒ˜แƒœแƒฃแƒกแƒ˜ แƒแƒ แƒ˜แƒก แƒกแƒฃแƒกแƒขแƒ˜ แƒแƒœแƒแƒšแƒ˜แƒ–แƒ˜แƒก แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒšแƒแƒ‘แƒ”แƒ‘แƒ˜. แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, Loki-แƒก แƒแƒ  แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒ แƒ›แƒ แƒแƒ•แƒแƒšแƒฎแƒแƒ–แƒแƒ•แƒแƒœแƒ˜ แƒŸแƒฃแƒ แƒœแƒแƒšแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ แƒฉแƒ”แƒ•แƒ. แƒ™แƒ˜แƒ“แƒ”แƒ• แƒ”แƒ แƒ—แƒ˜ แƒ›แƒ˜แƒœแƒฃแƒกแƒ˜ แƒแƒ แƒ˜แƒก แƒ˜แƒก, แƒ แƒแƒ› Loki แƒแƒ แƒ˜แƒก แƒจแƒ”แƒ“แƒแƒ แƒ”แƒ‘แƒ˜แƒ— แƒแƒฎแƒแƒšแƒ’แƒแƒ–แƒ แƒ“แƒ แƒขแƒ”แƒฅแƒœแƒแƒšแƒแƒ’แƒ˜แƒ (แƒ’แƒแƒ›แƒแƒจแƒ•แƒ”แƒ‘แƒ 1.0 แƒ˜แƒงแƒ 2019 แƒฌแƒšแƒ˜แƒก แƒœแƒแƒ”แƒ›แƒ‘แƒ”แƒ แƒจแƒ˜).

แƒ“แƒแƒกแƒ™แƒ•แƒœแƒ

Loki แƒแƒ แƒ˜แƒก 100% แƒกแƒแƒ˜แƒœแƒขแƒ”แƒ แƒ”แƒกแƒ แƒขแƒ”แƒฅแƒœแƒแƒšแƒแƒ’แƒ˜แƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒจแƒ”แƒกแƒแƒคแƒ”แƒ แƒ˜แƒกแƒ˜แƒ แƒ›แƒชแƒ˜แƒ แƒ” แƒ“แƒ แƒกแƒแƒจแƒฃแƒแƒšแƒ แƒ–แƒแƒ›แƒ˜แƒก แƒžแƒ แƒแƒ”แƒฅแƒขแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ แƒแƒช แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ’แƒแƒซแƒšแƒ”แƒ•แƒ— แƒ’แƒแƒ“แƒแƒญแƒ แƒแƒ— แƒŸแƒฃแƒ แƒœแƒแƒšแƒ”แƒ‘แƒ˜แƒก แƒแƒ’แƒ แƒ”แƒ’แƒแƒชแƒ˜แƒ˜แƒก, แƒŸแƒฃแƒ แƒœแƒแƒšแƒ˜แƒก แƒซแƒ˜แƒ”แƒ‘แƒ˜แƒก, แƒ›แƒแƒœแƒ˜แƒขแƒแƒ แƒ˜แƒœแƒ’แƒ˜แƒกแƒ แƒ“แƒ แƒŸแƒฃแƒ แƒœแƒแƒšแƒ˜แƒก แƒแƒœแƒแƒšแƒ˜แƒ–แƒ˜แƒก แƒ›แƒ แƒแƒ•แƒแƒšแƒ˜ แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ.

แƒฉแƒ•แƒ”แƒœ แƒแƒ  แƒ•แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ— Loki-แƒก Badoo-แƒจแƒ˜, แƒ แƒแƒ“แƒ’แƒแƒœ แƒ’แƒ•แƒแƒฅแƒ•แƒก ELK แƒกแƒขแƒ”แƒ™แƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒฉแƒ•แƒ”แƒœแƒ—แƒ•แƒ˜แƒก แƒจแƒ”แƒกแƒแƒคแƒ”แƒ แƒ˜แƒกแƒ˜แƒ แƒ“แƒ แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒฌแƒšแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒœแƒ›แƒแƒ•แƒšแƒแƒ‘แƒแƒจแƒ˜ แƒ’แƒแƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒฃแƒšแƒ˜ แƒ˜แƒงแƒ แƒกแƒฎแƒ•แƒแƒ“แƒแƒกแƒฎแƒ•แƒ แƒ›แƒแƒ แƒ’แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ’แƒแƒ“แƒแƒฌแƒงแƒ•แƒ”แƒขแƒ˜แƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒ—. แƒฉแƒ•แƒ”แƒœแƒ—แƒ•แƒ˜แƒก แƒ“แƒแƒ‘แƒ แƒ™แƒแƒšแƒ”แƒ‘แƒ แƒแƒ แƒ˜แƒก แƒŸแƒฃแƒ แƒœแƒแƒšแƒ”แƒ‘แƒ˜แƒก แƒซแƒ˜แƒ”แƒ‘แƒ. แƒ“แƒฆแƒ”แƒจแƒ˜ แƒ—แƒ˜แƒ—แƒฅแƒ›แƒ˜แƒก 100 แƒ’แƒ‘ แƒŸแƒฃแƒ แƒœแƒแƒšแƒ˜แƒก แƒ’แƒแƒ›แƒ, แƒฉแƒ•แƒ”แƒœแƒ—แƒ•แƒ˜แƒก แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ•แƒแƒœแƒ˜แƒ, แƒ แƒแƒ› แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒ“แƒ แƒชแƒแƒขแƒ แƒ›แƒ”แƒขแƒ˜แƒช แƒ•แƒ˜แƒžแƒแƒ•แƒแƒ— แƒ“แƒ แƒกแƒฌแƒ แƒแƒคแƒแƒ“ แƒ’แƒแƒ•แƒแƒ™แƒ”แƒ—แƒแƒ—. แƒ“แƒ˜แƒแƒ’แƒ แƒแƒ›แƒ”แƒ‘แƒ˜แƒกแƒ แƒ“แƒ แƒ›แƒแƒœแƒ˜แƒขแƒแƒ แƒ˜แƒœแƒ’แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒฉแƒ•แƒ”แƒœ แƒ•แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ— แƒกแƒฎแƒ•แƒ แƒ’แƒแƒ“แƒแƒฌแƒงแƒ•แƒ”แƒขแƒ˜แƒšแƒ”แƒ‘แƒ”แƒ‘แƒก, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒ›แƒแƒ แƒ’แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒฉแƒ•แƒ”แƒœแƒก แƒกแƒแƒญแƒ˜แƒ แƒแƒ”แƒ‘แƒ”แƒ‘แƒ–แƒ” แƒ“แƒ แƒ˜แƒœแƒขแƒ”แƒ’แƒ แƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ”แƒ แƒ—แƒ›แƒแƒœแƒ”แƒ—แƒ—แƒแƒœ. Loki แƒกแƒขแƒ”แƒ™แƒก แƒแƒฅแƒ•แƒก แƒฎแƒ”แƒšแƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘แƒ˜ แƒกแƒแƒ แƒ’แƒ”แƒ‘แƒ”แƒšแƒ˜, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ˜แƒก แƒแƒ  แƒ›แƒแƒ’แƒ•แƒชแƒ”แƒ›แƒก แƒ˜แƒ›แƒแƒ–แƒ” แƒ›แƒ”แƒขแƒก, แƒ•แƒ˜แƒ“แƒ แƒ” แƒฃแƒ™แƒ•แƒ” แƒ’แƒ•แƒแƒฅแƒ•แƒก แƒ“แƒ แƒ›แƒ˜แƒกแƒ˜ แƒกแƒแƒ แƒ’แƒ”แƒ‘แƒ”แƒšแƒ˜, แƒ แƒ แƒ—แƒฅแƒ›แƒ แƒฃแƒœแƒ“แƒ, แƒแƒ  แƒ’แƒแƒ“แƒแƒฌแƒแƒœแƒ˜แƒก แƒ›แƒ˜แƒ’แƒ แƒแƒชแƒ˜แƒ˜แƒก แƒฆแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒแƒก.

แƒ“แƒ แƒ›แƒ˜แƒฃแƒฎแƒ”แƒ“แƒแƒ•แƒแƒ“ แƒ˜แƒ›แƒ˜แƒกแƒ, แƒ แƒแƒ› แƒ™แƒ•แƒšแƒ”แƒ•แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ’แƒแƒ˜แƒ แƒ™แƒ•แƒ, แƒ แƒแƒ› แƒฉแƒ•แƒ”แƒœ แƒ•แƒ”แƒ  แƒ’แƒแƒ›แƒแƒ•แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ— Loki-แƒก, แƒ•แƒ˜แƒ›แƒ”แƒ“แƒแƒ•แƒœแƒ”แƒ‘แƒ—, แƒ แƒแƒ› แƒ”แƒก แƒžแƒแƒกแƒขแƒ˜ แƒ“แƒแƒ’แƒ”แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒแƒ— แƒ—แƒฅแƒ•แƒ”แƒœแƒก แƒแƒ แƒฉแƒ”แƒ•แƒแƒœแƒจแƒ˜.

แƒ›แƒ“แƒ”แƒ‘แƒแƒ แƒ”แƒแƒ‘แƒก แƒกแƒขแƒแƒขแƒ˜แƒแƒจแƒ˜ แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ™แƒแƒ“แƒ˜แƒก แƒกแƒแƒชแƒแƒ•แƒ˜ แƒแƒฅ.

แƒฌแƒงแƒแƒ แƒ: www.habr.com

แƒจแƒ”แƒ˜แƒซแƒ˜แƒœแƒ”แƒ— แƒกแƒแƒ˜แƒ›แƒ”แƒ“แƒ แƒฐแƒแƒกแƒขแƒ˜แƒœแƒ’แƒ˜ DDoS แƒ“แƒแƒชแƒ•แƒ˜แƒก แƒ›แƒฅแƒแƒœแƒ” แƒกแƒแƒ˜แƒขแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, VPS VDS แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก ๐Ÿ”ฅ แƒจแƒ”แƒ˜แƒซแƒ˜แƒœแƒ”แƒ— แƒกแƒแƒ˜แƒ›แƒ”แƒ“แƒ แƒ•แƒ”แƒ‘แƒกแƒแƒ˜แƒขแƒ˜แƒก แƒฐแƒแƒกแƒขแƒ˜แƒœแƒ’แƒ˜ DDoS แƒ“แƒแƒชแƒ•แƒ˜แƒ—, VPS VDS แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ”แƒ‘แƒ˜ | ProHoster