Loki - เบเบฒเบ™เป€เบเบฑเบšเบšเบฑเบ™เบ—เบถเบเป‚เบ”เบเปƒเบŠเป‰เบงเบดเบ—เบตเบเบฒเบ™ Prometheus

เบ‚เปเบŠเบปเบกเป€เบŠเบตเบ, เบŠเบฒเบงเป€เบกเบทเบญเบ‡ Khabrovsk! เปƒเบ™เบชเบฐเบกเบฒเบ” Eve เบ‚เบญเบ‡เบเบฒเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ‚เบญเบ‡เบเบฒเบ™เบฅเบปเบ‡เบ—เบฐเบšเบฝเบ™เปƒเบซเบกเปˆเบชเปเบฒเบฅเบฑเบšเบซเบผเบฑเบเบชเบนเบ” "เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เปเบฅเบฐเป€เบ„เบทเปˆเบญเบ‡เบกเบท DevOps" เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบเบฐเบเบฝเบกเบเบฒเบ™เปเบ›เบžเบฒเบชเบฒเบ‚เบญเบ‡เป€เบญเบเบฐเบชเบฒเบ™เบ—เบตเปˆเบซเบ™เป‰เบฒเบชเบปเบ™เปƒเบˆเบชเปเบฒเบฅเบฑเบšเบ—เปˆเบฒเบ™.

เบšเบปเบ”โ€‹เบ„เบงเบฒเบกโ€‹เบ™เบตเป‰โ€‹เปเบกเปˆเบ™โ€‹เบเบฒเบ™โ€‹เบ™เปเบฒโ€‹เบชเบฐโ€‹เป€เบซเบ™เบตโ€‹เบชเบฑเป‰เบ™ Lokiโ€‹. เป‚เบ„เบ‡เบเบฒเบ™ Loki เบชเบฐโ€‹เบซเบ™เบฑเบšโ€‹เบชเบฐโ€‹เบซเบ™เบนเบ™โ€‹เป‚เบ”เบ Grafanaโ€‹ เปเบฅเบฐเปเบกเปˆเบ™เปเบ™เปƒเบชเปˆเบเบฒเบ™เป€เบเบฑเบšเบเบณเบ‚เปเป‰เบกเบนเบ™เบˆเบฒเบเบชเบนเบ™เบเบฒเบ‡ (เบˆเบฒเบเป€เบŠเบตเบšเป€เบงเบต เบซเบผเบทเบ•เบนเป‰เบšเบฑเบ™เบˆเบธ).

เบเบฒเบ™เบ”เบปเบ™เปƒเบˆเบ•เบปเป‰เบ™เบ•เปเบชเปเบฒเบฅเบฑเบš Loki เปเบกเปˆเบ™ Prometheus เบ”เป‰เบงเบโ€‹เบ„เบงเบฒเบกโ€‹เบ„เบดเบ”โ€‹เบ‚เบญเบ‡โ€‹เบเบฒเบ™โ€‹เบ™เปเบฒโ€‹เปƒเบŠเป‰โ€‹เบงเบดโ€‹เบ—เบตโ€‹เบเบฒเบ™โ€‹เบ‚เบญเบ‡โ€‹เบ•เบปเบ™โ€‹เปƒเบ™โ€‹เบเบฒเบ™โ€‹เบ„เบธเป‰เบกโ€‹เบ„เบญเบ‡โ€‹เบšเบฑเบ™โ€‹เบ—เบถเบโ€‹:

  • เปƒเบŠเป‰เบ›เป‰เบฒเบเบเบณเบเบฑเบšเป€เบžเบทเปˆเบญเป€เบเบฑเบšเบ‚เปเป‰เบกเบนเบ™
  • เบเบฒเบ™เบšเปเบฅเบดเป‚เบžเบเบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบˆเปเบฒเบ™เบงเบ™เบซเบ™เป‰เบญเบ

เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบเบฑเบšเบ„เบทเบ™เป„เบ›เบซเบฒเบงเบดเบ—เบตเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ‚เบญเบ‡ Prometheus เปเบฅเบฐเปƒเบซเป‰เบ•เบปเบงเบขเปˆเบฒเบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡เบ‚เบญเบ‡เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบ‚เบญเบ‡เบกเบฑเบ™เปƒเบ™เบชเบฐเบžเบฒเบšเบเบฒเบ™เบ‚เบญเบ‡ Kubernetes.

เบชเบญเบ‡เบชเบฒเบกเบ„เปเบฒเบเปˆเบฝเบงเบเบฑเบš Prometheus

เป€เบžเบทเปˆเบญเป€เบ‚เบปเป‰เบฒเปƒเบˆเบขเปˆเบฒเบ‡เบชเบปเบกเบšเบนเบ™เบงเปˆเบฒ Loki เป€เบฎเบฑเบ”เบงเบฝเบเปเบ™เบงเปƒเบ”, เบกเบฑเบ™เป€เบ›เบฑเบ™เบชเบดเปˆเบ‡ เบชเบณ เบ„เบฑเบ™เบ—เบตเปˆเบˆเบฐเบ•เป‰เบญเบ‡เบ–เบญเบเบซเบฅเบฑเบ‡เปเบฅเบฐเบˆเบทเปˆ เบˆเบณ เป€เบฅเบฑเบเบ™เป‰เบญเบเบเปˆเบฝเบงเบเบฑเบš Prometheus.

เบซเบ™เบถเปˆเบ‡เปƒเบ™เบฅเบฑเบเบชเบฐเบ™เบฐเบ—เบตเปˆเป‚เบ”เบ”เป€เบ”เบฑเปˆเบ™เบ‚เบญเบ‡ Prometheus เปเบกเปˆเบ™เบเบฒเบ™เบชเบฐเบเบฑเบ” metrics เบˆเบฒเบเบˆเบธเบ”เป€เบเบฑเบšเบเปเบฒ (เบœเปˆเบฒเบ™เบœเบนเป‰เบชเบปเปˆเบ‡เบญเบญเบ) เปเบฅเบฐเป€เบเบฑเบšเบฎเบฑเบเบชเบฒเป„เบงเป‰เปƒเบ™ TSDB (Time Series Data Base), เบ”เป‰เบงเบเบเบฒเบ™เป€เบžเบตเปˆเบก metadata เปƒเบ™เบฎเบนเบšเปเบšเบšเบ‚เบญเบ‡เบ›เป‰เบฒเบเบŠเบทเปˆ.

เป€เบ›เบฑเบ™เบซเบเบฑเบ‡เบกเบฑเบ™ เบˆเบณ เป€เบ›เบฑเบ™

เบšเปเปˆเบ”เบปเบ™เบกเบฒเบ™เบตเป‰, Prometheus เป„เบ”เป‰เบเบฒเบเป€เบ›เบฑเบ™เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™ de facto เปƒเบ™เป‚เบฅเบเบ‚เบญเบ‡เบšเบฑเบ™เบˆเบธเปเบฅเบฐ Kubernetes: เบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡เบ‚เบญเบ‡เบกเบฑเบ™เปเบกเปˆเบ™เบ‡เปˆเบฒเบเบ”เบฒเบเบซเบผเบฒเบ, เปเบฅเบฐเบเบธเปˆเบก Kubernetes เบกเบฒเบžเป‰เบญเบกเบเบฑเบšเบˆเบธเบ”เบชเบดเป‰เบ™เบชเบธเบ”เบžเบทเป‰เบ™เป€เบกเบทเบญเบ‡เบชเปเบฒเบฅเบฑเบš Prometheus. Prometheus เบเบฑเบ‡เบชเบฒเบกเบฒเบ”เบชเบฐเบเบฑเบ” metrics เบˆเบฒเบเปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เบ—เบตเปˆเปƒเบŠเป‰เปƒเบ™เบ–เบฑเบ‡เปƒเบ™เบ‚เบฐเบ™เบฐเบ—เบตเปˆเป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบ›เป‰เบฒเบเบชเบฐเป€เบžเบฒเบฐ. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบกเบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเปเบกเปˆเบ™เบ‡เปˆเบฒเบเบซเบผเบฒเบเบ—เบตเปˆเบˆเบฐเบ›เบฐเบ•เบดเบšเบฑเบ”.

เปเบ•เปˆเบซเบ™เป‰เบฒเป€เบชเบเบ”เบฒเบ, เบเบฑเบ‡เบšเปเปˆเบ—เบฑเบ™เบกเบตเบเบฒเบ™เปเบเป‰เป„เบ‚เปเบšเบš turnkey เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ„เบธเป‰เบกเบ„เบญเบ‡เบšเบฑเบ™เบ—เบถเบ, เปเบฅเบฐเบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบŠเบญเบเบซเบฒเบงเบดเบ—เบตเปเบเป‰เป„เบ‚เบชเปเบฒเบฅเบฑเบšเบ•เบปเบงเบ—เปˆเบฒเบ™เป€เบญเบ‡:

  • เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ„เบฅเบฒเบงเบ—เบตเปˆเบ–เบทเบเบ„เบธเป‰เบกเบ„เบญเบ‡เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบชเบนเบ™เบเบฒเบ‡เบšเบฑเบ™เบ—เบถเบ (AWS, Azure เบซเบผเบท Google)
  • เบเบฒเบ™โ€‹เบšเปโ€‹เบฅเบดโ€‹เบเบฒเบ™โ€‹เบ•เบดเบ”โ€‹เบ•เบฒเบกโ€‹เบเบงเบ”โ€‹เบเบฒ "เบเบฒเบ™โ€‹เบ•เบดเบ”โ€‹เบ•เบฒเบกโ€‹เบเบงเบ”โ€‹เบเบฒโ€‹เป€เบ›เบฑเบ™โ€‹เบเบฒเบ™โ€‹เบšเปโ€‹เบฅเบดโ€‹เบเบฒเบ™โ€‹" (เป€เบŠเบฑเปˆเบ™โ€‹: Datadogโ€‹)
  • เบชเป‰เบฒเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เป€เบเบฑเบšเบšเบฑเบ™เบ—เบถเบเบ‚เบญเบ‡เบ—เปˆเบฒเบ™เป€เบญเบ‡.

เบชเปเบฒเบฅเบฑเบšเบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ—เบตเบชเบฒเบก, เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเปƒเบŠเป‰ Elasticsearch เปเบšเบšเบ”เบฑเป‰เบ‡เป€เบ”เบตเบก, เป€เบ–เบดเบ‡เบงเปˆเบฒเบˆเบฐเบกเบตเบ„เบงเบฒเบกเบˆเบดเบ‡เบ—เบตเปˆเบงเปˆเบฒเบ‚เป‰เบญเบเบšเปเปˆเบžเปเปƒเบˆเบเบฑเบšเบกเบฑเบ™ (เป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐเปเบกเปˆเบ™เบ„เบงเบฒเบกเบซเบ™เบฑเบเปเบซเบ™เป‰เบ™เปเบฅเบฐเบ„เบงเบฒเบกเบชเบฑเบšเบชเบปเบ™เบ‚เบญเบ‡เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ‚เบญเบ‡เบกเบฑเบ™).

Loki เป„เบ”เป‰โ€‹เบ–เบทเบโ€‹เบญเบญเบโ€‹เปเบšเบšโ€‹เป€เบžเบทเปˆเบญโ€‹เป€เบฎเบฑเบ”โ€‹เปƒเบซเป‰โ€‹เบเบฒเบ™โ€‹เบ›เบฐโ€‹เบ•เบดโ€‹เบšเบฑเบ”โ€‹เบ‡เปˆเบฒเบโ€‹เบ‚เบถเป‰เบ™โ€‹เบ•เบฒเบกโ€‹เบซเบผเบฑเบโ€‹เบเบฒเบ™โ€‹เบ”เบฑเปˆเบ‡โ€‹เบ•เปเปˆโ€‹เป„เบ›โ€‹เบ™เบตเป‰โ€‹:

  • เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ‡เปˆเบฒเบเบ”เบฒเบ
  • เบšเปเบฅเบดเป‚เบžเบเบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบˆเปเบฒเบ™เบงเบ™เบซเบ™เป‰เบญเบ
  • เป€เบฎเบฑเบ”เบงเบฝเบเป€เบ›เบฑเบ™เป€เบญเบเบฐเบฅเบฒเบ”เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เบšเปเบฒเบฅเบธเบ‡เบฎเบฑเบเบชเบฒเบžเบดเป€เบชเบ”เปƒเบ”เป†
  • เป€เบ›เบฑเบ™เบชเปˆเบงเบ™เป€เบชเบตเบกเบ‚เบญเบ‡ Prometheus เป€เบžเบทเปˆเบญเบŠเปˆเบงเบเปƒเบ™เบเบฒเบ™เบชเบทเบšเบชเบงเบ™เปเบกเบ‡เป„เบกเป‰

เบขเปˆเบฒเบ‡เปƒเบ”เบเปเปˆเบ•เบฒเบก, เบ„เบงเบฒเบกเบ‡เปˆเบฒเบเบ”เบฒเบเบ™เบตเป‰เบกเบฒเบขเบนเปˆเปƒเบ™เบ„เปˆเบฒเปƒเบŠเป‰เบˆเปˆเบฒเบเบ‚เบญเบ‡เบเบฒเบ™เบ›เบฐเบ™เบตเบ›เบฐเบ™เบญเบกเบšเบฒเบ‡เบขเปˆเบฒเบ‡. เบซเบ™เบถเปˆเบ‡เปƒเบ™เบ™เบฑเป‰เบ™เบšเปเปˆเปเบกเปˆเบ™เบเบฒเบ™เบ”เบฑเบ”เบชเบฐเบ™เบตเป€เบ™เบทเป‰เบญเบซเบฒ. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบเบฒเบ™เบ„เบปเป‰เบ™เบซเบฒเบ‚เปเป‰เบ„เบงเบฒเบกเบšเปเปˆเบกเบตเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบซเบผเบฒเบเบซเบผเบทเบญเบธเบ”เบปเบกเบชเบปเบกเบšเบนเบ™เปเบฅเบฐเบšเปเปˆเบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบชเบฐเบ–เบดเบ•เบดเบเปˆเบฝเบงเบเบฑเบšเป€เบ™เบทเป‰เบญเปƒเบ™เบ‚เบญเบ‡เบ‚เปเป‰เบ„เบงเบฒเบก. เปเบ•เปˆเป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒ Loki เบ•เป‰เบญเบ‡เบเบฒเบ™เบ—เบตเปˆเบˆเบฐเบ—เบฝเบšเป€เบ—เบปเปˆเบฒเบ‚เบญเบ‡ grep เปเบฅเบฐเป€เบชเบตเบก Prometheus, เบ™เบตเป‰เบšเปเปˆเปเบกเปˆเบ™เบ‚เปเป‰เป€เบชเบเบ›เบฝเบš.

เบเบฒเบ™เบชเบทเบšเบชเบงเบ™เป€เบซเบ”เบเบฒเบ™

เป€เบžเบทเปˆเบญเป€เบ‚เบปเป‰เบฒเปƒเบˆเบ”เบตเบเบงเปˆเบฒเบงเปˆเบฒเป€เบ›เบฑเบ™เบซเบเบฑเบ‡ Loki เบšเปเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เบ”เบฑเบ”เบชเบฐเบ™เบต, เปƒเบซเป‰เบเบฑเบšเบ„เบทเบ™เป„เบ›เบซเบฒเบงเบดเบ—เบตเบเบฒเบ™เบชเบทเบšเบชเบงเบ™เป€เบซเบ”เบเบฒเบ™เบ—เบตเปˆเบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒ Loki เปƒเบŠเป‰:

Loki - เบเบฒเบ™เป€เบเบฑเบšเบšเบฑเบ™เบ—เบถเบเป‚เบ”เบเปƒเบŠเป‰เบงเบดเบ—เบตเบเบฒเบ™ Prometheus
1 Alert โ†’ 2 Dashboard โ†’ 3 Adhoc Query โ†’ 4 Log Aggregation โ†’ 5 Distributed Tracing โ†’ 6 เปเบเป‰เป„เบ‚!
(1 เบ„เบณเป€เบ•เบทเบญเบ™ โ†’ 2 Dashboard โ†’ 3 Adhoc Query โ†’ 4 Log Aggregation โ†’ 5 Distributed Tracing โ†’ 6 Fixing!)

เปเบ™เบงเบ„เบงเบฒเบกเบ„เบดเบ”เปเบกเปˆเบ™เบงเปˆเบฒเบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เปเบˆเป‰เบ‡เป€เบ•เบทเบญเบ™เบšเบฒเบ‡เบ›เบฐเป€เบžเบ” (Slack Notification, SMS, เปเบฅเบฐเบญเบทเปˆเบ™เป†) เปเบฅเบฐเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™:

  • เป€เบšเบดเปˆเบ‡เบเบฐเบ”เบฒเบ™ dashboards Grafana
  • เป€เบšเบดเปˆเบ‡เบเบฒเบ™เบงเบฑเบ”เปเบ—เบเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™ (เบ•เบปเบงเบขเปˆเบฒเบ‡, เปƒเบ™ Prometheus)
  • เป€เบšเบดเปˆเบ‡เบฅเบฒเบเบเบฒเบ™เบšเบฑเบ™เบ—เบถเบ (เบ•เบปเบงเบขเปˆเบฒเบ‡, เปƒเบ™ Elasticsearch)
  • เบšเบฒเบ‡เบ—เบตเป€เบšเบดเปˆเบ‡เบฎเปˆเบญเบ‡เบฎเบญเบเบ—เบตเปˆเปเบˆเบเบขเบฒเบ (Jaeger, Zipkin, เปเบฅเบฐเบญเบทเปˆเบ™เป†).
  • เปเบฅเบฐเบชเบธเบ”เบ—เป‰เบฒเบเปเบเป‰เป„เบ‚เบšเบฑเบ™เบซเบฒเบ•เบปเป‰เบ™เบชเบฐเบšเบฑเบš.

เบ—เบตเปˆเบ™เบตเป‰, เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ‚เบญเบ‡ Grafana + Prometheus + Elasticsearch + Zipkin stack, เบ—เปˆเบฒเบ™เบˆเบฐเบ•เป‰เบญเบ‡เปƒเบŠเป‰เบชเบตเปˆเป€เบ„เบทเปˆเบญเบ‡เบกเบทเบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™. เป€เบžเบทเปˆเบญเบซเบผเบธเบ”เบœเปˆเบญเบ™เป€เบงเบฅเบฒ, เบกเบฑเบ™เบˆเบฐเป€เบ›เบฑเบ™เบเบฒเบ™เบ”เบตเบ—เบตเปˆเบˆเบฐเบชเบฒเบกเบฒเบ”เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‚เบฑเป‰เบ™เบ•เบญเบ™เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบ—เบฑเบ‡เบซเบกเบปเบ”เป‚เบ”เบเปƒเบŠเป‰เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบ”เบฝเบง: Grafana. เบกเบฑเบ™เป€เบ›เบฑเบ™เบกเบนเบ™เบ„เปˆเบฒเบ—เบตเปˆเบชเบฑเบ‡เป€เบเบ”เบงเปˆเบฒเบงเบดเบ—เบตเบเบฒเบ™เบ„เบปเป‰เบ™เบ„เป‰เบงเบฒเบ™เบตเป‰เป„เบ”เป‰เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เบขเบนเปˆเปƒเบ™ Grafana เบ•เบฑเป‰เบ‡เปเบ•เปˆเบฎเบธเปˆเบ™ 6. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบกเบฑเบ™เบˆเบถเปˆเบ‡เบชเบฒเบกเบฒเบ”เป€เบ‚เบปเป‰เบฒเบซเบฒเบ‚เปเป‰เบกเบนเบ™ Prometheus เป‚เบ”เบเบเบปเบ‡เบˆเบฒเบ Grafana.

Loki - เบเบฒเบ™เป€เบเบฑเบšเบšเบฑเบ™เบ—เบถเบเป‚เบ”เบเปƒเบŠเป‰เบงเบดเบ—เบตเบเบฒเบ™ Prometheus
เปœเป‰เบฒเบˆเป Explorer เปเบเบเบฅเบฐเบซเบงเปˆเบฒเบ‡ Prometheus เปเบฅเบฐ Loki

เบˆเบฒเบเบซเบ™เป‰เบฒเบˆเปเบ™เบตเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบšเบดเปˆเบ‡เบšเบฑเบ™เบ—เบถเบ Loki เบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบš metrics Prometheus เป‚เบ”เบเปƒเบŠเป‰เปเบ™เบงเบ„เบงเบฒเบกเบ„เบดเบ”เบ‚เบญเบ‡เบซเบ™เป‰เบฒเบˆเปเปเบเบ. เบ™เบฑเบšเบ•เบฑเป‰เบ‡เปโ€‹โ€‹เบ•เปˆเบชเบฐเบšเบฑเบš 6.5, Grafana เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เปเบเบ id เบ•เบดเบ”เบ•เบฒเบกเบขเบนเปˆเปƒเบ™เบšเบฑเบ™เบ—เบถเบ Loki เบ•เบดเบ”เบ•เบฒเบกเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบšเป€เบ„เบทเปˆเบญเบ‡เบกเบทเบ•เบดเบ”เบ•เบฒเบกเบเบฒเบ™เปเบˆเบเบขเบฒเบเบ—เบตเปˆเบ—เปˆเบฒเบ™เบกเบฑเบ (Jaeger).

เบเบฒเบ™เบ—เบปเบ”เบชเบญเบš Loki เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™

เบงเบดเบ—เบตเบ—เบตเปˆเบ‡เปˆเบฒเบเบ—เบตเปˆเบชเบธเบ”เบ—เบตเปˆเบˆเบฐเบ—เบปเบ”เบชเบญเบš Loki เปƒเบ™เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™เปเบกเปˆเบ™เบเบฒเบ™เปƒเบŠเป‰ docker-compose. เป„เบŸเบฅเปŒ docker-compose เปเบกเปˆเบ™เบขเบนเปˆเปƒเบ™เบšเปˆเบญเบ™เป€เบเบฑเบšเบกเป‰เบฝเบ™ Loki. เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป„เบ”เป‰เบฎเบฑเบš repository เป‚เบ”เบเปƒเบŠเป‰เบ„เปเบฒเบชเบฑเปˆเบ‡เบ•เปเปˆเป„เบ›เบ™เบตเป‰ git:

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

เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป„เบ”เป‰เป„เบ›เบซเบฒเป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบเบฒเบ™เบœเบฐเบฅเบดเบ”:

$ cd production

เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบตเป‰, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป„เบ”เป‰เบฎเบฑเบšเบชเบฐเบšเบฑเบšเบซเบฅเป‰เบฒเบชเบธเบ”เบ‚เบญเบ‡เบฎเบนเบšเบžเบฒเบš Docker:

$ docker-compose pull

เบชเบธเบ”เบ—เป‰เบฒเบ, stack Loki เบ–เบทเบเป€เบ›เบตเบ”เบ•เบปเบงเบ”เป‰เบงเบเบ„เปเบฒเบชเบฑเปˆเบ‡เบ•เปเปˆเป„เบ›เบ™เบตเป‰:

$ docker-compose up

เบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒ Loki

เบ™เบตเป‰เปเบกเปˆเบ™เปเบœเบ™เบงเบฒเบ”เบ‚เบฐเบซเบ™เบฒเบ”เบ™เป‰เบญเบเบ—เบตเปˆเบกเบตเบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒ Loki:

Loki - เบเบฒเบ™เป€เบเบฑเบšเบšเบฑเบ™เบ—เบถเบเป‚เบ”เบเปƒเบŠเป‰เบงเบดเบ—เบตเบเบฒเบ™ Prometheus
เบซเบผเบฑเบเบเบฒเบ™เบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเบณ Loki

เบฅเบนเบเบ„เป‰เบฒเป€เบงเบฑเบšเปเบฅเปˆเบ™เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เปƒเบ™เป€เบŠเบตเบŸเป€เบงเบต, Promtail เบฅเบงเบšเบฅเบงเบกเบšเบฑเบ™เบ—เบถเบเปเบฅเบฐเบชเบปเปˆเบ‡เป„เบ›เบซเบฒ Loki, เบฅเบนเบเบ„เป‰เบฒเป€เบงเบฑเบšเบเบฑเบ‡เบชเบปเปˆเบ‡ metadata เป„เบ› Loki. Loki เบฅเบงเบšเบฅเบงเบกเบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เปเบฅเบฐเบชเบปเปˆเบ‡เบกเบฑเบ™เป„เบ›เบซเบฒ Grafana.
Loki เบ–เบทเบเป€เบ›เบตเบ”เบ•เบปเบง. เป€เบžเบทเปˆเบญเป€เบšเบดเปˆเบ‡เบญเบปเบ‡เบ›เบฐเบเบญเบšเบ—เบตเปˆเบกเบตเบขเบนเปˆ, เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เบ•เปเปˆเป„เบ›เบ™เบตเป‰:

$ docker ps

เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ‚เบญเบ‡ Docker เบ—เบตเปˆเบ•เบดเบ”เบ•เบฑเป‰เบ‡เปƒเบซเบกเปˆ, เบ„เปเบฒเบชเบฑเปˆเบ‡เบ„เบงเบ™เบชเบปเปˆเบ‡เบ„เบทเบ™เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบ•เปเปˆเป„เบ›เบ™เบตเป‰:

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

เบžเบงเบเป€เบฎเบปเบฒเป€เบšเบดเปˆเบ‡เบญเบปเบ‡เบ›เบฐเบเบญเบšเบ”เบฑเปˆเบ‡เบ•เปเปˆเป„เบ›เบ™เบตเป‰:

  • Promtail: เบ•เบปเบงเปเบ—เบ™เบ—เบตเปˆเบฎเบฑเบšเบœเบดเบ”เบŠเบญเบšเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบชเบนเบ™เบเบฒเบ‡เบ‚เบญเบ‡เบšเบฑเบ™เบ—เบถเบ
  • Grafana: เป€เบ„เบทเปˆเบญเบ‡เบกเบท dashboard เบ—เบตเปˆเบกเบตเบŠเบทเปˆเบชเบฝเบ‡
  • Loki: Data Centralization Daemon

เป€เบ›เบฑเบ™เบชเปˆเบงเบ™เบซเบ™เบถเปˆเบ‡เบ‚เบญเบ‡เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบžเบทเป‰เบ™เบ–เบฒเบ™เปเบšเบšเบ„เบฅเบฒเบชเบชเบดเบ (เบ•เบปเบงเบขเปˆเบฒเบ‡, เบญเบตเบ‡เปƒเบชเปˆเป€เบ„เบทเปˆเบญเบ‡เบˆเบฑเบ virtual), เบ•เบปเบงเปเบ—เบ™ Promtail เบ•เป‰เบญเบ‡เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เปƒเบ™เปเบ•เปˆเบฅเบฐเป€เบ„เบทเปˆเบญเบ‡เบˆเบฑเบ. Grafana เปเบฅเบฐ Loki เบชเบฒเบกเบฒเบ”เบ•เบดเบ”เบ•เบฑเป‰เบ‡เบขเบนเปˆเปƒเบ™เป€เบ„เบทเปˆเบญเบ‡เบ”เบฝเบงเบเบฑเบ™.

เบ™เบณเปƒเบŠเป‰เบเบฑเบš Kubernetes

เบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡เบญเบปเบ‡เบ›เบฐเบเบญเบš Loki เปƒเบ™ Kubernetes เบˆเบฐเป€เบ›เบฑเบ™เบ”เบฑเปˆเบ‡เบ•เปเปˆเป„เบ›เบ™เบตเป‰:

  • daemonSet เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡เบ•เบปเบงเปเบ—เบ™ Promtail เปƒเบ™เปเบ•เปˆเบฅเบฐเป€เบ„เบทเปˆเบญเบ‡เบˆเบฑเบเปƒเบ™เบเบธเปˆเบกเป€เบŠเบตเบšเป€เบงเบต
  • เบเบฒเบ™เบ™เบณเปƒเบŠเป‰ Loki
  • เปเบฅเบฐเบญเบฑเบ™เบชเบธเบ”เบ—เป‰เบฒเบเปเบกเปˆเบ™เบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡ Grafana.

เป‚เบŠเบเบ”เบต, Loki เบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เป„เบ”เป‰เป€เบ›เบฑเบ™เบŠเบธเบ” Helm, เป€เบฎเบฑเบ”เปƒเบซเป‰เบกเบฑเบ™เบ‡เปˆเบฒเบเบ•เปเปˆเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰.

เบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡เบœเปˆเบฒเบ™ Heml

เบ—เปˆเบฒเบ™เบ„เบงเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡ Heml เปเบฅเป‰เบง. เบกเบฑเบ™เบชเบฒเบกเบฒเบ”เบ”เบฒเบงเป‚เบซเบผเบ”เป„เบ”เป‰เบˆเบฒเบเบšเปˆเบญเบ™เป€เบเบฑเบšเบกเป‰เบฝเบ™ GitHub เบ‚เบญเบ‡เป‚เบ„เบ‡เบเบฒเบ™. เบกเบฑเบ™เป„เบ”เป‰เบ–เบทเบเบ•เบดเบ”เบ•เบฑเป‰เบ‡เป‚เบ”เบ unpacking archive เบ—เบตเปˆเบชเบญเบ”เบ„เป‰เบญเบ‡เบเบฑเบ™เบเบฑเบšเบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบ‚เบญเบ‡เบ—เปˆเบฒเบ™เปเบฅเบฐเป€เบžเบตเปˆเบก helm เบเบฑเบš $PATH.

เบซเบกเบฒเบเป€เบซเบ”: เป€เบงเบตเบŠเบฑเปˆเบ™ 3.0.0 เบ‚เบญเบ‡ Helm เบ–เบทเบเบ›เปˆเบญเบเบญเบญเบเบกเบฒเป€เบกเบทเปˆเบญเบšเปเปˆเบ”เบปเบ™เบกเบฒเบ™เบตเป‰. เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบกเบตเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบซเบผเบฒเบเบขเปˆเบฒเบ‡เบเปˆเบฝเบงเบเบฑเบšเบกเบฑเบ™, เบœเบนเป‰เบญเปˆเบฒเบ™เป„เบ”เป‰เบ–เบทเบเปเบ™เบฐเบ™เปเบฒเปƒเบซเป‰เบฅเปเบ–เป‰เบฒเป€เบฅเบฑเบเบ™เป‰เบญเบเบเปˆเบญเบ™เบ—เบตเปˆเบˆเบฐเปƒเบŠเป‰เบกเบฑเบ™..

เป€เบžเบตเปˆเบกเปเบซเบผเปˆเบ‡เบชเปเบฒเบฅเบฑเบš Helm

เบ‚เบฑเป‰เบ™เบ•เบญเบ™เบ—เปเบฒเบญเบดเบ”เปเบกเปˆเบ™เบเบฒเบ™เป€เบžเบตเปˆเบก "loki" repository เป‚เบ”เบเปƒเบŠเป‰เบ„เปเบฒเบชเบฑเปˆเบ‡เบ•เปเปˆเป„เบ›เบ™เบตเป‰:

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

เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ„เบปเป‰เบ™เบซเบฒเบŠเบธเบ”เบ—เบตเปˆเบกเบตเบŠเบทเปˆเบงเปˆเบฒ "loki":

$ 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...

เบŠเบธเบ”เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบกเบตเบ„เบธเบ™เบชเบปเบกเบšเบฑเบ”เบ”เบฑเปˆเบ‡เบ•เปเปˆเป„เบ›เบ™เบตเป‰:

  • เบŠเบธเบ” loki/loki เบเบปเบ‡เบเบฑเบšเป€เบŠเบตเบšเป€เบงเบต Loki เป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™
  • เบŠเบธเบ” loki/fluent-bit เบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ™เบณเปƒเบŠเป‰ DaemonSet เป‚เบ”เบเปƒเบŠเป‰ fluent-bin เป€เบžเบทเปˆเบญเป€เบเบฑเบšเบเบณเบšเบฑเบ™เบ—เบถเบเปเบ—เบ™ Promtail
  • เบŠเบธเบ” loki/promtail เบกเบตเบ•เบปเบงเปเบ—เบ™เป€เบเบฑเบšเบเบณเป„เบŸเบฅเปŒเบšเบฑเบ™เบ—เบถเบ
  • เบŠเบธเบ” loki/loki-stack, เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบ—เปˆเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ Loki เบ—เบฑเบ™เบ—เบตเบžเป‰เบญเบกเบเบฑเบš Promtail.

เบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡ Loki

เป€เบžเบทเปˆเบญเบ›เบฑเบšเปƒเบŠเป‰ Loki เบเบฑเบš Kubernetes, เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เบ•เปเปˆเป„เบ›เบ™เบตเป‰เปƒเบ™ namespace "เบ•เบดเบ”เบ•เบฒเบกเบเบงเบ”เบเบฒ":

$ 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.

เบŠเบญเบเบซเบฒเบขเบนเปˆเปƒเบ™เบชเบฐเบžเบฒเบšเบ‚เบญเบ‡เบเบฑเบเปƒเบ™ namespace "เบ•เบดเบ”เบ•เบฒเบกเบเบงเบ”เบเบฒ", เบžเบงเบเป€เบฎเบปเบฒเบชเบฒเบกเบฒเบ”เป€เบซเบฑเบ™เป„เบ”เป‰เบงเปˆเบฒเบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เปเบกเปˆเบ™ deployed:

$ 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โ€‹

เป€เบžเบทเปˆเบญเป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบš Grafana เบžเบฒเบเปƒเบ•เป‰ Kubernetes, เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป€เบ›เบตเบ”เบญเบธเป‚เบกเบ‡เป„เบ›เบซเบฒเบเบฑเบเบ‚เบญเบ‡เบกเบฑเบ™. เบ‚เป‰เบฒเบ‡เบฅเบธเปˆเบกเบ™เบตเป‰เปเบกเปˆเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เป€เบžเบทเปˆเบญเป€เบ›เบตเบ”เบžเบญเบ” 3000 เบชเปเบฒเบฅเบฑเบš Grafana pod:

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

เบˆเบธเบ”เบชเปเบฒเบ„เบฑเบ™เบญเบตเบเบญเบฑเบ™เบซเบ™เบถเปˆเบ‡เปเบกเปˆเบ™เบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™เบ—เบตเปˆเบˆเบฐเบŸเบทเป‰เบ™เบ•เบปเบงเบฅเบฐเบซเบฑเบ”เบœเปˆเบฒเบ™เบ‚เบญเบ‡เบœเบนเป‰เป€เบšเบดเปˆเบ‡เปเบเบ‡ Grafana. เบฅเบฐเบซเบฑเบ”เบœเปˆเบฒเบ™เบ–เบทเบเป€เบเบฑเบšเป„เบงเป‰เป€เบ›เบฑเบ™เบ„เบงเบฒเบกเบฅเบฑเบš loki-grafana เปƒเบ™เบžเบฒเบเบชเบฐเบซเบ™เบฒเบก .data.admin-user เปƒเบ™เบฎเบนเบšเปเบšเบš base64.

เป€เบžเบทเปˆเบญเบŸเบทเป‰เบ™เบŸเบนเบกเบฑเบ™, เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เบ•เปเปˆเป„เบ›เบ™เบตเป‰:

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

เปƒเบŠเป‰เบฅเบฐเบซเบฑเบ”เบœเปˆเบฒเบ™เบ™เบตเป‰เบฎเปˆเบงเบกเบเบฑเบšเบšเบฑเบ™เบŠเบตเบœเบนเป‰เป€เบšเบดเปˆเบ‡เปเบเบ‡เบฅเบฐเบšเบปเบšเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™ (admin).

เบเบฒเบ™เบเปเบฒเบ™เบปเบ”เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™ Loki เปƒเบ™ Grafana

เบเปˆเบญเบ™เบญเบทเปˆเบ™ เปเบปเบ”, เปƒเบซเป‰เปเบ™เปˆเปƒเบˆเบงเปˆเบฒเปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™ Loki เป„เบ”เป‰เบ–เบทเบเบชเป‰เบฒเบ‡เบ‚เบทเป‰เบ™ (เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ / เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™).
เบ™เบตเป‰เปเบกเปˆเบ™เบ•เบปเบงเบขเปˆเบฒเบ‡:

Loki - เบเบฒเบ™เป€เบเบฑเบšเบšเบฑเบ™เบ—เบถเบเป‚เบ”เบเปƒเบŠเป‰เบงเบดเบ—เบตเบเบฒเบ™ Prometheus
เบ•เบปเบงเบขเปˆเบฒเบ‡เบ‚เบญเบ‡เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™เบชเปเบฒเบฅเบฑเบš Loki

เป‚เบ”เบเบเบฒเบ™เบ„เบฅเบดเบเปƒเบชเปˆ "เบ—เบปเบ”เบชเบญเบš" เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบเบงเบ”เบชเบญเบšเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบš Loki.

เป€เบฎเบฑเบ”เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเปƒเบซเป‰ Loki

เบ•เบญเบ™เบ™เบตเป‰เป„เบ›เบ—เบตเปˆ Grafana เป„เบ›เบซเบฒเบžเบฒเบเบชเปˆเบงเบ™ "เบชเบณเบซเบผเบงเบ”". เป€เบกเบทเปˆเบญเป„เบ”เป‰เบฎเบฑเบšเบšเบฑเบ™เบ—เบถเบเบˆเบฒเบเบšเบฑเบ™เบˆเบธ, Loki เป€เบžเบตเปˆเบก metadata เบˆเบฒเบ Kubernetes. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ—เบตเปˆเบˆเบฐเป€เบšเบดเปˆเบ‡เบšเบฑเบ™เบ—เบถเบเบ‚เบญเบ‡เบ–เบฑเบ‡เบชเบฐเป€เบžเบฒเบฐ.

เบ•เบปเบงเบขเปˆเบฒเบ‡, เป€เบžเบทเปˆเบญเป€เบฅเบทเบญเบเบšเบฑเบ™เบ—เบถเบเบเบฒเบ™เบšเบฑเบ™เบˆเบธ promtail, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ™เปเบฒเปƒเบŠเป‰เบ„เปเบฒเบ–เบฒเบกเบ•เปเปˆเป„เบ›เบ™เบตเป‰: {container_name = "promtail"}.
เบ—เบตเปˆเบ™เบตเป‰เบเบฑเบ‡เบˆเบทเปˆเบˆเปเบฒเบ—เบตเปˆเบˆเบฐเป€เบฅเบทเบญเบเป€เบญเบปเบฒเปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™ Loki.

เบ„เบดเบงเบฃเบตเบ™เบตเป‰เบˆเบฐเบชเบปเปˆเบ‡เบ„เบทเบ™เบเบฒเบ™เป€เบ„เบทเปˆเบญเบ™เป„เบซเบงเบ‚เบญเบ‡เบšเบฑเบ™เบˆเบธเบ”เบฑเปˆเบ‡เบ™เบตเป‰:

Loki - เบเบฒเบ™เป€เบเบฑเบšเบšเบฑเบ™เบ—เบถเบเป‚เบ”เบเปƒเบŠเป‰เบงเบดเบ—เบตเบเบฒเบ™ Prometheus
เบœเบปเบ™เบเบฒเบ™เบ„เบปเป‰เบ™เบซเบฒเปƒเบ™ Grafana

เป€เบžเบตเปˆเบกเปƒเบชเปˆ dashboard

เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ”เป‰เบงเบ Grafana 6.4, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบงเบฒเบ‡เบ‚เปเป‰เบกเบนเบ™เบšเบฑเบ™เบ—เบถเบเป‚เบ”เบเบเบปเบ‡เปƒเบชเปˆ dashboard. เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบตเป‰, เบœเบนเป‰เปƒเบŠเป‰เบˆเบฐเบชเบฒเบกเบฒเบ”เบ›เปˆเบฝเบ™เป„เบ”เป‰เป„เบงเบฅเบฐเบซเบงเปˆเบฒเบ‡เบˆเปเบฒเบ™เบงเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เปเบขเบนเปˆเปƒเบ™เป€เบงเบฑเบšเป„เบŠเบ—เปŒเปเบฅเบฐเบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบกเบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ‚เบญเบ‡เบฅเบฒเบง.

เบ‚เป‰เบฒเบ‡เบฅเบธเปˆเบกเบ™เบตเป‰เปเบกเปˆเบ™เบ•เบปเบงเบขเปˆเบฒเบ‡เบ‚เบญเบ‡ dashboard เบ—เบตเปˆเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบ™เบตเป‰:

Loki - เบเบฒเบ™เป€เบเบฑเบšเบšเบฑเบ™เบ—เบถเบเป‚เบ”เบเปƒเบŠเป‰เบงเบดเบ—เบตเบเบฒเบ™ Prometheus
เบ•เบปเบงเบขเปˆเบฒเบ‡ dashboard เบเบฑเบš metrics Prometheus เปเบฅเบฐเบšเบฑเบ™เบ—เบถเบ Loki

เบญเบฐเบ™เบฒเบ„เบปเบ”เบ‚เบญเบ‡ Loki

เบ‚เป‰เบฒโ€‹เบžเบฐโ€‹เป€เบˆเบปเป‰เบฒโ€‹เป„เบ”เป‰โ€‹เป€เบฅเบตเปˆเบกโ€‹เบ•เบปเป‰เบ™โ€‹เบเบฒเบ™โ€‹เบ™เปเบฒโ€‹เปƒเบŠเป‰ Loki เบเบฑเบšโ€‹เบ„เบทเบ™โ€‹เป„เบ›โ€‹เบšเปˆเบญเบ™โ€‹เปƒเบ™โ€‹เป€เบ”เบทเบญเบ™โ€‹เบžเบถเบ”โ€‹เบชเบฐโ€‹เบžเบฒ / เป€เบ”เบทเบญเบ™โ€‹เบกเบดโ€‹เบ–เบธโ€‹เบ™เบฒโ€‹เบเบฑเบšโ€‹เบชเบฐโ€‹เบšเบฑเบš 0.1โ€‹. เบกเบทเป‰เบ™เบตเป‰เบชเบฐเบšเบฑเบš 1, เปเบฅเบฐเปเบกเป‰เบเบฐเบ—เบฑเป‰เบ‡ 1.1 เปเบฅเบฐ 1.2 เป„เบ”เป‰เบ–เบทเบเบ›เปˆเบญเบเบญเบญเบเบกเบฒเปเบฅเป‰เบง.

เบกเบฑเบ™เบ•เป‰เบญเบ‡เบเบญเบกเบฎเบฑเบšเบงเปˆเบฒเป€เบงเบตเบŠเบฑเบ™ 0.1 เบšเปเปˆเบ„เบปเบ‡เบ—เบตเปˆเบžเบฝเบ‡เบžเป. เปเบ•เปˆ 0.3 เป„เบ”เป‰เบชเบฐเปเบ”เบ‡เบญเบฒเบเบฒเบ™เบ—เบตเปˆเปเบ—เป‰เบˆเบดเบ‡เบ‚เบญเบ‡เบเบฒเบ™เป€เบ•เบตเบšเป‚เบ•เปเบฅเป‰เบง, เปเบฅเบฐเบชเบฐเบšเบฑเบšเบ•เปเปˆเบกเบฒ (0.4, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™ 1.0) เบžเบฝเบ‡เปเบ•เปˆเป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ›เบฐเบ—เบฑเบšเปƒเบˆเบ™เบตเป‰.

เบซเบผเบฑเบ‡เบˆเบฒเบ 1.0.0, เบšเปเปˆเบกเบตเปƒเบœเบชเบฒเบกเบฒเบ”เบกเบตเบ‚เปเป‰เปเบเป‰เบ•เบปเบงเบ—เบตเปˆเบˆเบฐเบšเปเปˆเปƒเบŠเป‰เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบ—เบตเปˆเบ›เบฐเป€เบชเบตเบ”เบ™เบตเป‰.

เบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เป€เบžเบตเปˆเบกเป€เบ•เบตเบกเบšเปเปˆเบ„เบงเบ™เบˆเบฐเบเปˆเบฝเบงเบเบฑเบš Loki, เปเบ•เปˆเปเบ—เบ™เบ—เบตเปˆเบˆเบฐเป€เบŠเบทเปˆเบญเบกเป‚เบเบ‡เบเบฑเบš Grafana เบ—เบตเปˆเบ”เบตเป€เบฅเบตเบ”. เปƒเบ™เบ„เบงเบฒเบกเป€เบ›เบฑเบ™เบˆเบดเบ‡, Grafana 6.4 เบกเบตเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเป‚เบเบ‡เบ—เบตเปˆเบ”เบตเบเบฑเบš dashboards เปเบฅเป‰เบง.

Grafana 6.5, เป€เบŠเบดเปˆเบ‡เบ–เบทเบเบ›เปˆเบญเบเบญเบญเบเบกเบฒเป€เบกเบทเปˆเบญเบšเปเปˆเบ”เบปเบ™เบกเบฒเบ™เบตเป‰, เบ›เบฑเบšเบ›เบธเบ‡เบเบฒเบ™เบฅเบงเบกเป€เบ‚เบปเป‰เบฒเบเบฑเบ™เบ•เบทเปˆเบกเบญเบตเบเป‚เบ”เบเบเบฒเบ™เบฎเบฑเบšเบฎเบนเป‰เป€เบ™เบทเป‰เบญเปƒเบ™เบšเบฑเบ™เบ—เบถเบเปƒเบ™เบฎเบนเบšเปเบšเบš JSON เป‚เบ”เบเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”.

เบงเบดเบ”เบตเป‚เบญเบ‚เป‰เบฒเบ‡เบฅเบธเปˆเบกเบ™เบตเป‰เบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™เบ•เบปเบงเบขเปˆเบฒเบ‡เบ‚เบฐเบซเบ™เบฒเบ”เบ™เป‰เบญเบเบ‚เบญเบ‡เบเบปเบ™เป„เบเบ™เบตเป‰:

Loki - เบเบฒเบ™เป€เบเบฑเบšเบšเบฑเบ™เบ—เบถเบเป‚เบ”เบเปƒเบŠเป‰เบงเบดเบ—เบตเบเบฒเบ™ Prometheus
เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบชเบฒเบ Loki เป€เบ›เบตเบ”เป€เบœเบตเบเปƒเบ™ Grafana

เบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ—เบตเปˆเบˆเบฐเปƒเบŠเป‰เบซเบ™เบถเปˆเบ‡เปƒเบ™เบŠเปˆเบญเบ‡เบ‚เปเป‰เบกเบนเบ™ JSON, เบชเปเบฒเบฅเบฑเบšเบ•เบปเบงเบขเปˆเบฒเบ‡, เบชเปเบฒเบฅเบฑเบš:

  • เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบšเป€เบ„เบทเปˆเบญเบ‡เบกเบทเบžเบฒเบเบ™เบญเบ
  • เบเบฒเบ™เบเบฑเปˆเบ™เบ•เบญเบ‡เป€เบ™เบทเป‰เบญเปƒเบ™เบšเบฑเบ™เบ—เบถเบ

เบ•เบปเบงเบขเปˆเบฒเบ‡, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ„เบฅเบดเบเปƒเบชเปˆ traceId เป€เบžเบทเปˆเบญเป„เบ›เบ—เบตเปˆ Zipkin เบซเบผเบท Jaeger.

เบ•เบฒเบกเบ›เบปเบเบเบฐเบ•เบด, เบžเบงเบเป€เบฎเบปเบฒเบซเบงเบฑเบ‡เบงเปˆเบฒเบˆเบฐเป„เบ”เป‰เบ„เปเบฒเป€เบซเบฑเบ™เบ‚เบญเบ‡เบ—เปˆเบฒเบ™เปเบฅเบฐเป€เบŠเบทเป‰เบญเป€เบŠเบตเบ™เบ—เปˆเบฒเบ™ เป€เบ›เบตเบ” webinar, เบšเปˆเบญเบ™เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบชเบปเบ™เบ—เบฐเบ™เบฒเบเปˆเบฝเบงเบเบฑเบšเบงเบดเบ—เบตเบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเบญเบธเบ”เบชเบฒเบซเบฐเบเปเบฒ DevOps เปƒเบ™เบ›เบต 2019 เปเบฅเบฐเบ›เบถเบเบชเบฒเบซเบฒเบฅเบทเบเปˆเบฝเบงเบเบฑเบšเป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเบ—เบตเปˆเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบชเปเบฒเบฅเบฑเบš 2020.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: www.habr.com