Loki - ืงืœืึธืฅ ื–ืึทืžืœื•ื ื’ ืžื™ื˜ ื“ื™ ืคึผืจืึธืžืขื˜ื”ืขื•ืก ืฆื•ื’ืึทื ื’

ื‘ืึทื’ืจื™ืกืŸ, ื›ืึทื‘ืจืึธื•ื•ืกืง ืชื•ืฉื‘ื™ื! ืื•ื™ืฃ ื“ื™ ืขืจืขื•ื• ืคื•ืŸ ื“ื™ ืึธื ื”ื™ื™ื‘ ืคื•ืŸ ืึท ื ื™ื™ึท ืขื ืจืึธื•ืœืžืึทื ื˜ ืคึฟืึทืจ ื“ืขื ืงื•ืจืก "DevOps ืคึผืจืึทืงื˜ื™ืกื™ื– ืื•ืŸ ืžื›ืฉื™ืจื™ื" ืžื™ืจ ื”ืึธื‘ืŸ ืฆื•ื’ืขื’ืจื™ื™ื˜ ืึท ืื™ื‘ืขืจื–ืขืฆื•ื ื’ ืคื•ืŸ ื˜ืฉื™ืงืึทื•ื•ืข ืžืึทื˜ืขืจื™ืึทืœ ืคึฟืึทืจ ืื™ืจ.

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

ื“ื™ ื”ื•ื™ืคึผื˜ ื™ื ืกืคึผื™ืจืึทืฆื™ืข ืคึฟืึทืจ ืœืึธืงื™ ืื™ื– ื’ืขื•ื•ืขืŸ ืคึผืจืึธืžืขื˜ื”ืขื•ืก ืžื™ื˜ ื“ืขื ื’ืขื“ืึทื ืง ืคื•ืŸ ืึทืคึผืœื™ื™ื™ื ื’ ื–ื™ื™ืŸ ืึทืคึผืจืึธื•ื˜ืฉื™ื– ืฆื• ืงืœืึธืฅ ืคืึทืจื•ื•ืึทืœื˜ื•ื ื’:

  • ื ื™ืฆืŸ ืœืึทื‘ืขืœืก ืฆื• ืงืจืึธื ื“ืึทื˜ืŸ
  • ืงืึทื ืกืึทืžืฉืึทืŸ ืคื•ืŸ ื•ื•ื™ื™ื ื™ืง ืจืขืกื•ืจืกืŸ

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

ืขื˜ืœืขื›ืข ื•ื•ืขืจื˜ืขืจ ื•ื•ืขื’ืŸ ืคึผืจืึธืžืขื˜ื”ืขื•ืก

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

ืื™ื™ื ืขืจ ืคื•ืŸ ื“ื™ ืึธืคึผืฉื™ื™ื“ื ื“ื™ืง ืคึฟืขื™ึดืงื™ื™ื˜ืŸ ืคื•ืŸ ืคึผืจืึธืžืขื˜ื”ืขื•ืก ืื™ื– ื“ื™ ื™ืงืกื˜ืจืึทืงืฉืึทืŸ ืคื•ืŸ ืžืขื˜ืจื™ืงืก ืคื•ืŸ ื–ืึทืžืœื•ื ื’ ืคื•ื ืงื˜ืŸ (ื“ื•ืจืš ื™ืงืกืคึผืึธืจื˜ืขืจื–) ืื•ืŸ ืกื˜ืึธืจื™ื ื’ ื–ื™ื™ ืื™ืŸ TSDB (Time Series Data Base), ืžื™ื˜ ื“ื™ ืึทื“ื™ืฉืึทืŸ ืคื•ืŸ ืžืขื˜ืึทื“ืึทื˜ืึท ืื™ืŸ ื“ื™ ืคืึธืจืขื ืคื•ืŸ ืœืึทื‘ืขืœืก.

ืคืืจื•ื•ืืก ืื™ื– ืขืก ื ื•ื™ื˜ื™ืง?

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

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

  • ื’ืขืจืื˜ืŸ ื•ื•ืึธืœืงืŸ ื“ื™ื ืกื˜ ืคึฟืึทืจ ืกืขื ื˜ืจืึทืœื™ื™ื–ื™ื ื’ ืœืึธื’ืก (AWS, Azure ืึธื“ืขืจ Google)
  • ืžืึธื ื™ื˜ืึธืจื™ื ื’ ื“ื™ื ืกื˜ "ืžืึธื ื™ื˜ืึธืจื™ื ื’ ื•ื•ื™ ืึท ื“ื™ื ืกื˜" (ืœืžืฉืœ, Datadog)
  • ืงืจื™ื™ื™ื˜ื™ื ื’ ื“ื™ื™ืŸ ืื™ื™ื’ืขื ืข ืงืœืึธืฅ ื–ืึทืžืœื•ื ื’ ื“ื™ื ืกื˜.

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

ืœืึธืงื™ ืื™ื– ื“ื™ื–ื™ื™ื ื“ ืฆื• ืคืึทืจืคึผืึธืฉืขื˜ืขืจืŸ ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทืŸ ืœื•ื™ื˜ ื“ื™ ืคืืœื’ืขื ื“ืข ืคึผืจื™ื ืกืึทืคึผืึทืœื–:

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

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

ืื™ื ืฆื™ื“ืขื ื˜ ื•ื™ืกืคืึธืจืฉื•ื ื’

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

Loki - ืงืœืึธืฅ ื–ืึทืžืœื•ื ื’ ืžื™ื˜ ื“ื™ ืคึผืจืึธืžืขื˜ื”ืขื•ืก ืฆื•ื’ืึทื ื’
1 ืึทืœืขืจื˜ โ†’ 2 ื“ืึทืฉื‘ืึธืจื“ โ†’ 3 ืึทื“ื”ืึธืง ืงื•ื•ืขืจื™ โ†’ 4 ืงืœืึธืฅ ืึทื’ืจืขื’ืึทื˜ื™ืึธืŸ โ†’ 5 ื“ื™ืกื˜ืจื™ื‘ื™ื•ื˜ื™ื“ ื˜ืจื™ื™ืกื™ื ื’ โ†’ 6 ืคืึทืจืจื™ื›ื˜ืŸ!
(1 ื•ื•ืืจืขื ื•ื ื’ โ†’ 2 ื“ืึทืฉื‘ืึธืจื“ โ†’ 3 ืึทื“ื”ืึธืง ืึธื ืคึฟืจืขื’ โ†’ 4 ืงืœืึธืฅ ืึทื’ืจืขื’ืึทื˜ื™ืึธืŸ โ†’ 5 ื“ื™ืกื˜ืจื™ื‘ื™ื•ื˜ื™ื“ ื˜ืจื™ื™ืกื™ื ื’ โ†’ 6 ืคื™ืงืกื™ืจ!)

ื“ืขืจ ื’ืขื“ืึทื ืง ืื™ื– ืึทื– ืžื™ืจ ื‘ืึทืงื•ืžืขืŸ ืึท ืกืึธืจื˜ ืคื•ืŸ ืคืœื™ื ืง (Slack Notification, SMS, ืืื–"ื• ื•) ืื•ืŸ ื ืึธืš ื“ืขื:

  • ืงื•ืง ื‘ื™ื™ึท Grafana ื“ืึทืฉื‘ืึธืจื“ื–
  • ืงื•ืง ืื™ืŸ ืกืขืจื•ื•ื™ืก ืžืขื˜ืจื™ืงืก (ืœืžืฉืœ, ืื™ืŸ ืคึผืจืึธืžืขื˜ื”ืขื•ืก)
  • ืงื•ืง ืื™ืŸ ืงืœืึธืฅ ืื™ื™ื ืกืŸ (ืœืžืฉืœ, ืื™ืŸ Elasticsearch)
  • ืืคึฟืฉืจ ื ืขืžืขืŸ ืึท ืงื•ืง ืื™ืŸ ืคื•ื ืื ื“ืขืจื’ืขื˜ื™ื™ืœื˜ ื˜ืจืึทืกืขืก (ื“ื–ืฉืึทื’ืขืจ, ื–ื™ืคึผืงื™ืŸ, ืืื–"ื• ื•)
  • ืื•ืŸ ืœืขืกืึธืฃ ืคื™ืงืกื™ืจ ื“ื™ ืึธืจื™ื’ื™ื ืขืœ ืคึผืจืึธื‘ืœืขื.

ื“ืึธ, ืื™ืŸ ื“ืขื ืคืึทืœ ืคื•ืŸ ื“ื™ Grafana + Prometheus + Elasticsearch + Zipkin ืึธื ืœื™ื™ื’ืŸ, ืื™ืจ ื•ื•ืขื˜ ื”ืึธื‘ืŸ ืฆื• ื ื•ืฆืŸ ืคื™ืจ ืคืึทืจืฉื™ื“ืขื ืข ืžื›ืฉื™ืจื™ื. ืฆื• ืจืขื“ื•ืฆื™ืจืŸ ืฆื™ื™ื˜, ืขืก ื•ื•ืึธืœื˜ ื–ื™ื™ืŸ ืคื™ื™ึทืŸ ืฆื• ื“ื•ืจื›ืคื™ืจืŸ ืึทืœืข ื“ื™ ืกื˜ืขืคึผืก ืžื™ื˜ ืื™ื™ืŸ ื’ืขืฆื™ื™ึทื’: Grafana. ืขืก ืื™ื– ื›ื“ืื™ ืฆื• ื‘ืืžืขืจืงืŸ ืึทื– ื“ืขืจ ืฆื•ื’ืึทื ื’ ืฆื• ืคืึธืจืฉื•ื ื’ ืื™ื– ื™ืžืคึผืœืึทืžืขื ืึทื“ ืื™ืŸ ื’ืจืึทืคืึทื ืึท ื–ื™ื ื˜ ื•ื•ืขืจืกื™ืข 6. ืึทื–ื•ื™ ืขืก ืื™ื– ืžืขื’ืœืขืš ืฆื• ืึทืงืกืขืก ืคึผืจืึธืžืขื˜ื”ืขื•ืก ื“ืึทื˜ืŸ ื’ืœื™ื™ึทืš ืคึฟื•ืŸ ื’ืจืึทืคืึทื ืึท.

Loki - ืงืœืึธืฅ ื–ืึทืžืœื•ื ื’ ืžื™ื˜ ื“ื™ ืคึผืจืึธืžืขื˜ื”ืขื•ืก ืฆื•ื’ืึทื ื’
Explorer ืคืึทืจืฉื˜ืขืœืŸ ืื™ื– ืฆืขื˜ื™ื™ืœื˜ ืฆื•ื•ื™ืฉืŸ ืคึผืจืึธืžืขื˜ื”ืขื•ืก ืื•ืŸ ืœืึธืงื™

ืคึฟื•ืŸ ื“ืขื ืขืงืจืึทืŸ ืื™ืจ ืงืขื ืขืŸ ื–ืขืŸ ืœืึธืงื™ ืœืึธื’ืก ืฉื™ื™ึทื›ื•ืช ืฆื• ืคึผืจืึธืžืขื˜ื”ืขื•ืก ืžืขื˜ืจื™ืงืก ื ื™ืฆืŸ ื“ื™ ืฉืคึผืึทืœื˜ืŸ ืคืึทืจืฉื˜ืขืœืŸ ื‘ืึทื’ืจื™ืฃ. ื–ื™ื ื˜ ื•ื•ืขืจืกื™ืข 6.5, Grafana ืึทืœืึทื•ื– ืื™ืจ ืฆื• ืคึผืึทืจืก ื“ื™ ืฉืคึผื•ืจ ืฉื™ื™ึทืŸ ืื™ืŸ ืœืึธืงื™ ืœืึธื’ ืื™ื™ื ืกืŸ ืฆื• ื ืึธื›ืคืึธืœื’ืŸ ืœื™ื ืงืก ืฆื• ื“ื™ื™ืŸ ื‘ืึทืœื™ื‘ืกื˜ืข ืคื•ื ืื ื“ืขืจื’ืขื˜ื™ื™ืœื˜ ื˜ืจื™ื™ืกื™ื ื’ ืžื›ืฉื™ืจื™ื (Jaeger).

ืœืืงืืœืข ืœืึธืงื™ ืคึผืจื•ื‘ื™ืจืŸ

ื“ื™ ื™ื–ื™ืึทืกื˜ ื•ื•ืขื’ ืฆื• ืคึผืจื•ื‘ื™ืจืŸ Loki ืœืึธื•ืงืึทืœื™ ืื™ื– ืฆื• ื ื•ืฆืŸ docker-compose. ื“ื™ ื“ืึธืงืงืขืจ-ืงืึธืžืคึผืึธืกืข ื˜ืขืงืข ืื™ื– ืœื™ื’ืŸ ืื™ืŸ ื“ื™ ืœืึธืงื™ ืจื™ืคึผืึทื–ืึทื˜ืึธืจื™. ืื™ืจ ืงืขื ืขืŸ ื‘ืึทืงื•ืžืขืŸ ื“ื™ ืจื™ืคึผืึทื–ืึทื˜ืึธืจื™ ืžื™ื˜ ื“ื™ ืคืืœื’ืขื ื“ืข ื‘ืึทืคึฟืขืœ git:

$ git clone https://github.com/grafana/loki.git

ื“ืขืจื ืึธืš ืื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ื’ื™ื™ืŸ ืฆื• ื“ื™ ืคึผืจืึธื“ื•ืงืฆื™ืข ื•ื•ืขื’ื•ื•ื™ื™ึทื–ืขืจ:

$ cd production

ื ืึธืš ื“ืขื ืื™ืจ ืงืขื ืขืŸ ื‘ืึทืงื•ืžืขืŸ ื“ื™ ืœืขืฆื˜ืข ื•ื•ืขืจืกื™ืข ืคื•ืŸ โ€‹โ€‹โ€‹โ€‹ื“ืึธืงืงืขืจ ื‘ื™ืœื“ืขืจ:

$ docker-compose pull

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

$ docker-compose up

ืœืึธืงื™ ืึทืจืงืึทื˜ืขืงื˜ืฉืขืจ

ื“ืึธ ืื™ื– ืึท ืงืœื™ื™ืŸ ื“ื™ืึทื’ืจืึทืžืข ืžื™ื˜ ื“ื™ ืœืึธืงื™ ืึทืจืงืึทื˜ืขืงื˜ืฉืขืจ:

Loki - ืงืœืึธืฅ ื–ืึทืžืœื•ื ื’ ืžื™ื˜ ื“ื™ ืคึผืจืึธืžืขื˜ื”ืขื•ืก ืฆื•ื’ืึทื ื’
ืœืึธืงื™ ืึทืจื˜ืฉื™ื˜ืขืงื˜ื•ืจืข ืคึผืจื™ื ืกืึทืคึผืึทืœื–

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

$ docker ps

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

IMAGE               PORTS                  NAMES
grafana/promtail:                          production_promtail_1
grafana/grafana: m  0.0.0.0:3000->3000/tcp production_grafana_1
grafana/loki: late  80/tcp,0.0.0.0:3100... production_loki_1

ืžื™ืจ ื–ืขืŸ ื“ื™ ืคืืœื’ืขื ื“ืข ืงืึทืžืคึผืึธื•ื ืึทื ืฅ:

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

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

ื“ื™ืคึผืœื•ื™ืžืึทื ื˜ ืฆื• Kubernetes

ื™ื ืกื˜ืึธืœื™ื ื’ Loki ืงืึทืžืคึผืึธื•ื ืึทื ืฅ ืื•ื™ืฃ Kubernetes ื•ื•ืขื˜ ื–ื™ื™ืŸ ื•ื•ื™ ื’ื™ื™ื˜:

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

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

ื™ื ืกื˜ืึทืœื™ืจื•ื ื’ ื“ื•ืจืš Heml

ืื™ืจ ื–ืึธืœ ืฉื•ื™ืŸ ื”ืึธื‘ืŸ Heml ืื™ื ืกื˜ืึทืœื™ืจืŸ. ืขืก ืงืขื ืขืŸ ื–ื™ื™ืŸ ื“ืึทื•ื ืœืึธื•ื“ื™ื“ ืคึฟื•ืŸ ื“ื™ GitHub ืจื™ืคึผืึทื–ืึทื˜ืึธืจื™ ืคื•ืŸ ื“ื™ ืคึผืจื•ื™ืขืงื˜. ืขืก ืื™ื– ืื™ื ืกื˜ืึทืœื™ืจืŸ ื“ื•ืจืš ืึทื ืคึผืึทืงื™ื ื’ ื“ื™ ืึทืจืงื™ื™ื•ื• ืงืึธืจืึทืกืคึผืึทื ื“ื™ื ื’ ืฆื• ื“ื™ื™ืŸ ืึทืจืงืึทื˜ืขืงื˜ืฉืขืจ ืื•ืŸ ืึทื“ื™ื ื’ ื”ืขืœื ืฆื• $PATH.

ื‘ืึทืžืขืจืงื•ื ื’: ื•ื•ืขืจืกื™ืข 3.0.0 ืคื•ืŸ ื”ืขืœื ืื™ื– ืœืขืฆื˜ื ืก ื‘ืืคืจื™ื™ื˜. ื–ื™ื ื˜ ืขืก ื–ืขื ืขืŸ ื’ืขื•ื•ืขืŸ ืคื™ืœืข ืขื ื“ืขืจื•ื ื’ืขืŸ, ื“ื™ ืœื™ื™ืขื ืขืจ ืื™ื– ืึทื“ื•ื•ื™ื™ื–ื“ ืฆื• ื•ื•ืึทืจื˜ืŸ ืึท ื‘ื™ืกืœ ืื™ื™ื“ืขืจ ืื™ืจ ื ื•ืฆืŸ ืขืก..

ืึทื“ื™ื ื’ ืึท ืžืงื•ืจ ืคึฟืึทืจ ื”ืขืœื

ื“ืขืจ ืขืจืฉื˜ืขืจ ืฉืจื™ื˜ ืื™ื– ืฆื• ืœื™ื™ื’ืŸ ื“ื™ "ืœืึธืงื™" ืจื™ืคึผืึทื–ืึทื˜ืึธืจื™ ืžื™ื˜ ื“ื™ ืคืืœื’ืขื ื“ืข ื‘ืึทืคึฟืขืœ:

$ helm add loki https://grafana.github.io/loki/charts

ื ืึธืš ื“ืขื, ืื™ืจ ืงืขื ืขืŸ ื–ื•ื›ืŸ ืคึฟืึทืจ ืคึผืึทืงืึทื“ื–ืฉืึทื– ื’ืขื”ื™ื™ืกืŸ "ืœืึธืงื™":

$ helm search loki

ื“ืขืจ ืจืขื–ื•ืœื˜ืึทื˜:

loki/loki       0.17.2 v0.4.0 Loki: like Prometheus, but for logs.
loki/loki-stack 0.19.1 v0.4.0 Loki: like Prometheus, but for logs.
loki/fluent-bit 0.0.2  v0.0.1 Uses fluent-bit Loki go plugin for...
loki/promtail   0.13.1 v0.4.0 Responsible for gathering logs and...

ื“ื™ ืคึผืึทืงืึทื“ื–ืฉืึทื– ื”ืึธื‘ืŸ ื“ื™ ืคืืœื’ืขื ื“ืข ืคึฟืขื™ึดืงื™ื™ื˜ืŸ:

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

ื™ื ืกื˜ืึธืœื™ื ื’ Loki

ืฆื• ืฆืขื•ื•ื™ืงืœืขืŸ Loki ืฆื• Kubernetes, ืœื•ื™ืคืŸ ื“ื™ ืคืืœื’ืขื ื“ืข ื‘ืึทืคึฟืขืœ ืื™ืŸ ื“ื™ "ืžืึธื ื™ื˜ืึธืจื™ื ื’" ื ืึธืžืขืŸ:

$ helm upgrade --install loki loki/loki-stack --namespace monitoring

ืฆื• ืจืึทื˜ืขื•ื•ืขืŸ ืฆื• ื“ื™ืกืง, ืœื™ื™ื’ืŸ ื“ืขื ืคึผืึทืจืึทืžืขื˜ืขืจ --set loki.persistence.enabled = true:

$ helm upgrade --install loki loki/loki-stack 
              --namespace monitoring 
              --set loki.persistence.enabled=true

ื‘ืึทืžืขืจืงื•ื ื’: ืื•ื™ื‘ ืื™ืจ ื•ื•ื™ืœืŸ ืฆื• ืฆืขื•ื•ื™ืงืœืขืŸ Grafana ืื™ืŸ ื“ืขืจ ื–ืขืœื‘ื™ืงืขืจ ืฆื™ื™ื˜, ืœื™ื™ื’ืŸ ื“ืขื ืคึผืึทืจืึทืžืขื˜ืขืจ --set grafana.enabled = true

ื•ื•ืขืŸ ืื™ืจ ืœื•ื™ืคืŸ ื“ืขื ื‘ืึทืคึฟืขืœ, ืื™ืจ ื–ืึธืœ ื‘ืึทืงื•ืžืขืŸ ื“ื™ ืคืืœื’ืขื ื“ืข ืจืขื–ื•ืœื˜ืึทื˜:

LAST DEPLOYED: Tue Nov 19 15:56:54 2019
NAMESPACE: monitoring
STATUS: DEPLOYED
RESOURCES:
==> v1/ClusterRole
NAME AGE
loki-promtail-clusterrole 189d
โ€ฆ
NOTES:
The Loki stack has been deployed to your cluster. Loki can now be added as a datasource in Grafana.
See <a href="http://docs.grafana.org/features/datasources/loki/">http://docs.grafana.org/features/datasources/loki/</a> for more details.

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

$ kubectl -n monitoring get pods -l release=loki

ื“ืขืจ ืจืขื–ื•ืœื˜ืึทื˜:

NAME                 READY  STATUS   RESTARTS  AGE
loki-0               1/1    Running  0         147m
loki-promtail-9zjvc  1/1    Running  0         3h25m
loki-promtail-f6brf  1/1    Running  0         11h
loki-promtail-hdcj7  1/1    Running  0         3h23m
loki-promtail-jbqhc  1/1    Running  0         11h
loki-promtail-mj642  1/1    Running  0         62m
loki-promtail-nm64g  1/1    Running  0         24m

ืึทืœืข ืคึผืึธื“ืก ืœื•ื™ืคืŸ. ืื™ืฆื˜ ืขืก ืื™ื– ืฆื™ื™ื˜ ืฆื• ื˜ืึธืŸ ืขื˜ืœืขื›ืข ื˜ืขืกืฅ!

ืงืึทื ืขืงื˜ื™ื ื’ ืฆื• ื’ืจืึทืคืึทื ืึท

ืฆื• ืคืึทืจื‘ื™ื ื“ืŸ ืฆื• Grafana ืื•ื ื˜ืขืจ Kubernetes, ืื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ืขืคึฟืขื ืขืŸ ืึท ื˜ื•ื ืขืœ ืฆื• ื–ื™ื™ืŸ ืคึผืึธื“. ื•ื ื˜ืขืจ ืื™ื– ื“ื™ ื‘ืึทืคึฟืขืœ ืฆื• ืขืคึฟืขื ืขืŸ ืคึผืึธืจื˜ 3000 ืคึฟืึทืจ ื“ื™ Grafana ืคึผืึธื“:

$ kubectl -n port-forward monitoring svc/loki-grafana 3000:80

ืืŸ ืื ื“ืขืจ ื•ื•ื™ื›ื˜ื™ืง ืคื•ื ื˜ ืื™ื– ื“ื™ ื ื•ื™ื˜ ืฆื• ืฆื•ืจื™ืงืงืจื™ื’ืŸ ื“ื™ ื’ืจืึทืคืึทื ืึท ืึทื“ืžื™ื ื™ืกื˜ืจืึทื˜ืึธืจ ืคึผืึทืจืึธืœ. ื“ื™ ืคึผืึทืจืึธืœ ืื™ื– ื’ืขื”ืืœื˜ืŸ ืกื•ื“ loki-grafana ืื™ืŸ ืคืขืœื“ .data.admin-user ืื™ืŸ ื‘ืึทื–ืข 64 ืคึฟืึธืจืžืึทื˜.

ืฆื• ื•ืžืงืขืจืŸ ืขืก, ืื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ืœื•ื™ืคืŸ ื“ื™ ืคืืœื’ืขื ื“ืข ื‘ืึทืคึฟืขืœ:

$ kubectl -n monitoring get secret loki-grafana 
 --template '{{index .data "admin-password" | base64decode}}'; echo

ื ื™ืฆืŸ ื“ืขื ืคึผืึทืจืึธืœ ืื™ืŸ ืงืึทื ื“ื–ืฉืึทื ื’ืงืฉืึทืŸ ืžื™ื˜ ื“ื™ ืคืขืœื™ืงื™ื™ึทื˜ ืึทื“ืžื™ื ื™ืกื˜ืจืึทื˜ืึธืจ ื—ืฉื‘ื•ืŸ (ืึทื“ืžื™ืŸ).

ื“ืขืคื™ื ื™ืจืŸ ืึท ืœืึธืงื™ ื“ืึทื˜ืŸ ืžืงื•ืจ ืื™ืŸ Grafana

ืขืจืฉื˜ืขืจ ืคื•ืŸ ืึทืœืข, ืžืึทื›ืŸ ื–ื™ื›ืขืจ ืึทื– ื“ื™ ืœืึธืงื™ ื“ืึทื˜ืŸ ืžืงื•ืจ ืื™ื– ื‘ืืฉืืคืŸ (ืงืึธื ืคื™ื’ื•ืจืึทื˜ื™ืึธืŸ / ื“ืึทื˜ืึทืกืึธื•ืจืก).
ื“ืึธ ืื™ื– ืึท ื‘ื™ื™ึทืฉืคึผื™ืœ:

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

ื“ื•ืจืš ื’ืขื‘ืŸ ืึท ืงืœื™ืง ืื•ื™ืฃ "ื˜ืขืกื˜" ืื™ืจ ืงืขื ืขืŸ ืงืึธื ื˜ืจืึธืœื™ืจืŸ ื“ื™ ืงืฉืจ ืžื™ื˜ ืœืึธืงื™.

ืžืึทื›ืŸ ืจื™ืงื•ื•ืขืก ืฆื• ืœืึธืงื™

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

ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ืฆื• ืื•ื™ืกืงืœื™ื™ึทื‘ืŸ ื“ื™ ืคึผืจืึธืžื˜ืึทื™ืœ ืงืึทื ื˜ื™ื™ื ืขืจ ืœืึธื’ืก, ืื™ืจ ืงืขื ืขืŸ ื ื•ืฆืŸ ื“ื™ ืคืืœื’ืขื ื“ืข ืึธื ืคึฟืจืขื’: {container_name = "promtail"}.
ื“ืึธ ืื•ื™ืš ื’ืขื“ืขื ืงืขืŸ ืฆื• ืื•ื™ืกืงืœื™ื™ึทื‘ืŸ ื“ื™ ืœืึธืงื™ ื“ืึทื˜ืŸ ืžืงื•ืจ.

ื“ื™ ืึธื ืคึฟืจืขื’ ื•ื•ืขื˜ ืฆื•ืจื™ืงืงื•ืžืขืŸ ืงืึทื ื˜ื™ื™ื ืขืจ ื˜ืขื˜ื™ืงื™ื™ื˜ ื•ื•ื™ ื’ื™ื™ื˜:

Loki - ืงืœืึธืฅ ื–ืึทืžืœื•ื ื’ ืžื™ื˜ ื“ื™ ืคึผืจืึธืžืขื˜ื”ืขื•ืก ืฆื•ื’ืึทื ื’
ืึธื ืคึฟืจืขื’ ืจืขื–ื•ืœื˜ืึทื˜ ืื™ืŸ Grafana

ืœื™ื™ื’ ืฆื• ื“ืึทืฉื‘ืึธืจื“

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

ื•ื ื˜ืขืจ ืื™ื– ืึท ื‘ื™ื™ืฉืคึผื™ืœ ืคื•ืŸ ืึท ื“ืึทืฉื‘ืึธืจื“ ื•ื•ืึธืก ื™ืžืคึผืœืึทืžืึทื ืฅ ื“ืขื ื™ื ื˜ืขืจืึทืงืฉืึทืŸ:

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

ืฆื•ืงื•ื ืคึฟื˜ ืคื•ืŸ ืœืึธืงื™

ืื™ืš ืกื˜ืึทืจื˜ืขื“ ื ื™ืฆืŸ Loki ืฆื•ืจื™ืง ืžืื™ / ื™ื•ื ื™ ืžื™ื˜ ื•ื•ืขืจืกื™ืข 0.1. ื”ื™ื™ึทื ื˜ ื•ื•ืขืจืกื™ืข 1, ืื•ืŸ ืืคื™ืœื• 1.1 ืื•ืŸ 1.2 ื–ืขื ืขืŸ ืฉื•ื™ืŸ ื‘ืืคืจื™ื™ื˜.

ืขืก ืžื•ื–ืŸ ื–ื™ื™ืŸ ืึทื“ืžื™ื˜ืึทื“ ืึทื– ื•ื•ืขืจืกื™ืข 0.1 ืื™ื– ื ื™ืฉื˜ ืกื˜ืึทื‘ื™ืœ ื’ืขื ื•ื’. ืื‘ืขืจ 0.3 ืฉื•ื™ืŸ ื’ืขื•ื•ื™ื–ืŸ ืคืึทืงื˜ื™ืฉ ื•ื•ืื•ื ื“ืขืจ ืคื•ืŸ ืฆื™ื™ึทื˜ื™ืงื™ื™ึทื˜, ืื•ืŸ ืกืึทื‘ืกืึทืงื•ื•ืึทื ื˜ ื•ื•ืขืจืกื™ืขืก (0.4, ื“ืขืžืึธืœื˜ 1.0) ื ืึธืจ ื’ืขืฉื˜ืืจืงื˜ ื“ืขื ืจื•ืฉื.

ื ืึธืš 1.0.0, ืงื™ื™ืŸ ืื™ื™ื ืขืจ ืงืขื ืขืŸ ื”ืึธื‘ืŸ ืงื™ื™ืŸ ืึทื ื˜ืฉื•ืœื“ื™ืงืŸ ื ื™ืฉื˜ ืฆื• ื ื•ืฆืŸ ื“ืขื ื•ื•ื•ื ื“ืขืจืœืขืš ื’ืขืฆื™ื™ึทื’.

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

Grafana 6.5, ื•ื•ืึธืก ืื™ื– ื‘ืืคืจื™ื™ื˜ ืœืขืฆื˜ื ืก, ื™ืžืคึผืจื•ื•ื•ื– ื“ืขื ื™ื ืึทื’ืจื™ื™ืฉืึทืŸ ื•ื•ื™ื™ึทื˜ืขืจ ื“ื•ืจืš ืื•ื™ื˜ืึธืžืึทื˜ื™ืฉ ื“ืขืจืงืขื ืขืŸ ืงืœืึธืฅ ืื™ื ื”ืึทืœื˜ ืื™ืŸ JSON ืคึฟืึธืจืžืึทื˜.

ื“ื™ ื•ื•ื™ื“ืขื ืื•ื ื˜ืŸ ื•ื•ื™ื™ื–ื˜ ืึท ืงืœื™ื™ืŸ ื‘ื™ื™ืฉืคึผื™ืœ ืคื•ืŸ ื“ืขื ืžืขืงืึทื ื™ื–ืึทื:

Loki - ืงืœืึธืฅ ื–ืึทืžืœื•ื ื’ ืžื™ื˜ ื“ื™ ืคึผืจืึธืžืขื˜ื”ืขื•ืก ืฆื•ื’ืึทื ื’
ื ื™ืฆืŸ ืœืึธืงื™ ืกื˜ืจื™ื ื’ืก ื™ืงืกืคึผืึธื•ื–ื“ ืื™ืŸ ื’ืจืึทืคืึทื ืึท

ืขืก ืื™ื– ืžืขื’ืœืขืš ืฆื• ื ื•ืฆืŸ ืื™ื™ื ืขืจ ืคื•ืŸ ื“ื™ JSON ืคืขืœื“ืขืจ, ืœืžืฉืœ, ืคึฟืึทืจ:

  • ืœื™ื ืงืก ืฆื• ืคื•ื ื“ืจื•ื™ืกื ื“ื™ืง ื’ืขืฆื™ื™ึทื’
  • ืคึฟื™ืœื˜ืจื™ืจื•ื ื’ ืงืœืึธืฅ ืื™ื ื”ืึทืœื˜

ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ืื™ืจ ืงืขื ืขืŸ ื’ื™ื˜ ืื•ื™ืฃ traceId ืฆื• ื’ื™ื™ืŸ ืฆื• Zipkin ืึธื“ืขืจ Jaeger.

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

ืžืงื•ืจ: www.habr.com