เชฒเซ‹เช•เซ€ - เชชเซเชฐเซ‹เชฎเชฟเชฅเชฟเชฏเชธ เช…เชญเชฟเช—เชฎเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชฒเซ‹เช— เชธเช‚เช—เซเชฐเชน

เชธเชฒเชพเชฎ, เช–เชพเชฌเซเชฐเซ‹เชตเชธเซเช• เชฐเชนเซ‡เชตเชพเชธเซ€เช“! เช•เซ‹เชฐเซเชธ เชฎเชพเชŸเซ‡ เชจเชตเซ€ เชจเซ‹เช‚เชงเชฃเซ€เชจเซ€ เชถเชฐเซ‚เช†เชคเชจเซ€ เชชเซ‚เชฐเซเชตเชธเช‚เชงเซเชฏเชพเช "DevOps เชชเซเชฐเซ‡เช•เซเชŸเชฟเชธ เช…เชจเซ‡ เชŸเซ‚เชฒเซเชธ" เช…เชฎเซ‡ เชคเชฎเชพเชฐเชพ เชฎเชพเชŸเซ‡ เชฐเชธเชชเซเชฐเชฆ เชธเชพเชฎเช—เซเชฐเซ€เชจเซ‹ เช…เชจเซเชตเชพเชฆ เชคเซˆเชฏเชพเชฐ เช•เชฐเซเชฏเซ‹ เช›เซ‡.

เช† เชฒเซ‡เช– เชฒเซ‹เช•เซ€เชจเซ‹ เชธเช‚เช•เซเชทเชฟเชชเซเชค เชชเชฐเชฟเชšเชฏ เช›เซ‡. เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชฒเซ‹เช•เซ€ Grafana เชฆเซเชตเชพเชฐเชพ เช†เชงเชพเชฐเชญเซ‚เชค เช…เชจเซ‡ เชฒเซ‰เช—เซเชธ (เชธเชฐเซเชตเชฐ เช…เชฅเชตเชพ เช•เชจเซเชŸเซ‡เชจเชฐเชฎเชพเช‚เชฅเซ€) เชจเชพ เช•เซ‡เชจเซเชฆเซเชฐเชฟเชฏ เชธเช‚เช—เซเชฐเชนเชจเซ‹ เชนเซ‡เชคเซ เช›เซ‡.

เชฒเซ‹เช•เซ€เชจเซ€ เชฎเซเช–เซเชฏ เชชเซเชฐเซ‡เชฐเชฃเชพ เชนเชคเซ€ เชชเซเชฐเซ‹เชฎเชฟเชฅเชฟเชฏเชธ เชฒเซ‹เช— เชฎเซ‡เชจเซ‡เชœเชฎเซ‡เชจเซเชŸ เชฎเชพเชŸเซ‡ เชคเซ‡เชจเชพ เช…เชญเชฟเช—เชฎเซ‹เชจเซ‡ เชฒเชพเช—เซ เช•เชฐเชตเชพเชจเชพ เชตเชฟเชšเชพเชฐ เชธเชพเชฅเซ‡:

  • เชกเซ‡เชŸเชพ เชธเซเชŸเซ‹เชฐ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชฒเซ‡เชฌเชฒเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเซ‹
  • เชฅเซ‹เชกเชพ เชธเช‚เชธเชพเชงเชจเซ‹เชจเซ‹ เชตเชชเชฐเชพเชถ

เช…เชฎเซ‡ เชชเซเชฐเซ‹เชฎเชฟเชฅเชฟเชฏเชธ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชพเชฐเซเชฏ เช•เชฐเซ‡ เช›เซ‡ เชคเซ‡เชจเชพ เชชเชฐ เชชเชพเช›เชพ เชซเชฐเซ€เชถเซเช‚ เช…เชจเซ‡ เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธเชจเชพ เชธเช‚เชฆเชฐเซเชญเชฎเชพเช‚ เชคเซ‡เชจเชพ เช‰เชชเชฏเซ‹เช—เชจเชพ เช•เซ‡เชŸเชฒเชพเช• เช‰เชฆเชพเชนเชฐเชฃเซ‹ เช†เชชเซ€เชถเซเช‚.

เชชเซเชฐเซ‹เชฎเชฟเชฅเชฟเชฏเชธ เชตเชฟเชถเซ‡ เชฅเซ‹เชกเชพเช• เชถเชฌเซเชฆเซ‹

เชฒเซ‹เช•เซ€ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชพเชฐเซเชฏ เช•เชฐเซ‡ เช›เซ‡ เชคเซ‡ เชธเช‚เชชเซ‚เชฐเซเชฃ เชฐเซ€เชคเซ‡ เชธเชฎเชœเชตเชพ เชฎเชพเชŸเซ‡, เชเช• เชชเช—เชฒเซเช‚ เชชเชพเช›เซเช‚ เชฒเซ‡เชตเซเช‚ เช…เชจเซ‡ เชชเซเชฐเซ‹เชฎเชฟเชฅเชฟเชฏเชธ เชตเชฟเชถเซ‡ เชฅเซ‹เชกเซเช‚ เชฏเชพเชฆ เชฐเชพเช–เชตเซเช‚ เชฎเชนเชคเซเชตเชชเซ‚เชฐเซเชฃ เช›เซ‡.

เชชเซเชฐเซ‹เชฎเชฟเชฅเชฟเชฏเชธเชจเซ€ เชตเชฟเชถเชฟเชทเซเชŸ เชตเชฟเชถเซ‡เชทเชคเชพเช“เชฎเชพเช‚เชจเซ€ เชเช• เช›เซ‡ เช•เชฒเซ‡เช•เซเชถเชจ เชชเซ‹เชˆเชจเซเชŸเซเชธเชฎเชพเช‚เชฅเซ€ เชฎเซ‡เชŸเซเชฐเชฟเช•เซเชธเชจเซเช‚ เชจเชฟเชทเซเช•เชฐเซเชทเชฃ (เชจเชฟเช•เชพเชธเช•เชพเชฐเซ‹ เชฆเซเชตเชพเชฐเชพ) เช…เชจเซ‡ เชคเซ‡เชจเซ‡ TSDB (เชŸเชพเช‡เชฎ เชธเชฟเชฐเซ€เช เชกเซ‡เชŸเชพ เชฌเซ‡เช) เชฎเชพเช‚ เชธเช‚เช—เซเชฐเชนเชฟเชค เช•เชฐเชตเซเช‚, เชœเซ‡เชฎเชพเช‚ เชฒเซ‡เชฌเชฒเชจเชพ เชธเซเชตเชฐเซ‚เชชเชฎเชพเช‚ เชฎเซ‡เชŸเชพเชกเซ‡เชŸเชพ เช‰เชฎเซ‡เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡.

เช•เซ‡เชฎ เชคเซ‡ เชœเชฐเซ‚เชฐเซ€ เช›เซ‡

เชคเชพเชœเซ‡เชคเชฐเชฎเชพเช‚, เชชเซเชฐเซ‹เชฎเชฟเชฅเชฟเชฏเชธ เช•เชจเซเชŸเซ‡เชจเชฐ เช…เชจเซ‡ เช•เซเชฌเชฐเชจเซ‡เชŸเซ€เชธเชจเซ€ เชฆเซเชจเชฟเชฏเชพเชฎเชพเช‚ เชกเซ€ เชซเซ‡เช•เซเชŸเซ‹ เชธเซเชŸเชพเชจเซเชกเชฐเซเชก เชฌเชจเซ€ เช—เชฏเซเช‚ เช›เซ‡: เชคเซ‡เชจเซเช‚ เช‡เชจเซเชธเซเชŸเซ‹เชฒเซ‡เชถเชจ เช–เซ‚เชฌ เชœ เชธเชฐเชณ เช›เซ‡, เช…เชจเซ‡ เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธ เช•เซเชฒเชธเซเชŸเชฐ เชชเซเชฐเซ‹เชฎเชฟเชฅเชฟเชฏเชธ เชฎเชพเชŸเซ‡ เชฎเซ‚เชณ เช…เช‚เชคเชฟเชฎ เชฌเชฟเช‚เชฆเซ เชธเชพเชฅเซ‡ เช†เชตเซ‡ เช›เซ‡. เชชเซเชฐเซ‹เชฎเชฟเชฅเชฟเชฏเชธ เชšเซ‹เช•เซเช•เชธ เชฒเซ‡เชฌเชฒเซเชธ เชธเซเชŸเซ‹เชฐ เช•เชฐเชคเซ€ เชตเช–เชคเซ‡ เช•เชจเซเชŸเซ‡เชจเชฐเชฎเชพเช‚ เชœเชฎเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ‡เชฒเซ€ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเชฎเชพเช‚เชฅเซ€ เชฎเซ‡เชŸเซเชฐเชฟเช•เซเชธ เชชเชฃ เช•เชพเชขเซ€ เชถเช•เซ‡ เช›เซ‡. เชคเซ‡เชฅเซ€, เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชฎเซ‹เชจเซ€เชŸเชฐเซ€เช‚เช— เช…เชฎเชฒเชฎเชพเช‚ เชฎเซ‚เช•เชตเซเช‚ เช–เซ‚เชฌ เชœ เชธเชฐเชณ เช›เซ‡.

เช•เชฎเชจเชธเซ€เชฌเซ‡, เชฒเซ‹เช— เชฎเซ‡เชจเซ‡เชœเชฎเซ‡เชจเซเชŸ เชฎเชพเชŸเซ‡ เชนเชœเซ เชชเชฃ เช•เซ‹เชˆ เชŸเชฐเซเชจเช•เซ€ เชธเซ‹เชฒเซเชฏเซเชถเชจ เชจเชฅเซ€, เช…เชจเซ‡ เชคเชฎเชพเชฐเซ‡ เชคเชฎเชพเชฐเชพ เชฎเชพเชŸเซ‡ เช‰เช•เซ‡เชฒ เชถเซ‹เชงเชตเซ‹ เชœ เชชเชกเชถเซ‡:

  • เช•เซ‡เชจเซเชฆเซเชฐเซ€เชฏเช•เชฐเชฃ เชฒเซ‰เช—เซเชธ (AWS, Azure เช…เชฅเชตเชพ Google) เชฎเชพเชŸเซ‡ เชธเช‚เชšเชพเชฒเชฟเชค เช•เซเชฒเชพเช‰เชก เชธเซ‡เชตเชพ
  • เชฎเซ‹เชจเชฟเชŸเชฐเชฟเช‚เช— เชธเซ‡เชตเชพ "เชธเซ‡เชตเชพ เชคเชฐเซ€เช•เซ‡ เชฆเซ‡เช–เชฐเซ‡เช–" (เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชกเซ‡เชŸเชพเชกเซ‹เช—)
  • เชคเชฎเชพเชฐเซ€ เชชเซ‹เชคเชพเชจเซ€ เชฒเซ‹เช— เช•เชฒเซ‡เช•เซเชถเชจ เชธเซ‡เชตเชพ เชฌเชจเชพเชตเชตเซ€.

เชคเซเชฐเซ€เชœเชพ เชตเชฟเช•เชฒเซเชช เชฎเชพเชŸเซ‡, เชฎเซ‡เช‚ เชชเชฐเช‚เชชเชฐเชพเช—เชค เชฐเซ€เชคเซ‡ เช‡เชฒเชพเชธเซเชŸเชฟเช•เชธเชฐเซเชšเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซเชฏเซ‹, เชคเซ‡ เชนเช•เซ€เช•เชค เชนเซ‹เชตเชพ เช›เชคเชพเช‚ เช•เซ‡ เชนเซเช‚ เชนเช‚เชฎเซ‡เชถเชพ เชคเซ‡เชจเชพเชฅเซ€ เช–เซเชถ เชจ เชนเชคเซ‹ (เช–เชพเชธ เช•เชฐเซ€เชจเซ‡ เชคเซ‡เชจเซ€ เชญเชพเชฐเซ‡เชคเชพ เช…เชจเซ‡ เช—เซ‹เช เชตเชฃเซ€เชจเซ€ เชœเชŸเชฟเชฒเชคเชพ).

เชฒเซ‹เช•เซ€เชจเซ‡ เชจเซ€เชšเซ‡เชจเชพ เชธเชฟเชฆเซเชงเชพเช‚เชคเซ‹ เช…เชจเซเชธเชพเชฐ เช…เชฎเชฒเซ€เช•เชฐเชฃเชจเซ‡ เชธเชฐเชณ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เชกเชฟเชเชพเช‡เชจ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เชนเชคเซ€:

  • เชถเชฐเซ‚ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชธเชฐเชณ เชฌเชจเซ‹
  • เชฅเซ‹เชกเชพ เชธเช‚เชธเชพเชงเชจเซ‹เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‹
  • เช•เซ‹เชˆเชชเชฃ เช–เชพเชธ เชœเชพเชณเชตเชฃเซ€ เชตเชฟเชจเชพ เชธเซเชตเชคเช‚เชคเซเชฐ เชฐเซ€เชคเซ‡ เช•เชพเชฎ เช•เชฐเซ‹
  • เชฌเช— เชคเชชเชพเชธเชฎเชพเช‚ เชฎเชฆเชฆ เช•เชฐเชตเชพ เชชเซเชฐเซ‹เชฎเชฟเชฅเชฟเชฏเชธเชจเชพ เชตเชงเชพเชฐเชพ เชคเชฐเซ€เช•เซ‡ เชธเซ‡เชตเชพ เช†เชชเซ‡ เช›เซ‡

เชœเซ‹ เช•เซ‡, เช† เชธเชฐเชณเชคเชพ เช•เซ‡เชŸเชฒเชพเช• เชธเชฎเชพเชงเชพเชจเชจเชพ เชญเซ‹เช—เซ‡ เช†เชตเซ‡ เช›เซ‡. เชคเซ‡เชฎเชพเช‚เชฅเซ€ เชเช• เชธเชพเชฎเช—เซเชฐเซ€เชจเซ‡ เช…เชจเซเช•เซเชฐเชฎเชฟเชค เชจ เช•เชฐเชตเซ€. เชคเซ‡เชฅเซ€, เชŸเซ‡เช•เซเชธเซเชŸ เชถเซ‹เชง เช–เซ‚เชฌ เช•เชพเชฐเซเชฏเช•เซเชทเชฎ เช…เชฅเชตเชพ เชธเชฎเซƒเชฆเซเชง เชจเชฅเซ€ เช…เชจเซ‡ เชŸเซ‡เช•เซเชธเซเชŸเชจเซ€ เชธเชพเชฎเช—เซเชฐเซ€ เชชเชฐ เช†เช‚เช•เชกเชพเช“เชจเซ‡ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเชคเซเช‚ เชจเชฅเซ€. เชชเชฐเช‚เชคเซ เช•เชพเชฐเชฃ เช•เซ‡ เชฒเซ‹เช•เซ€ เช—เซเชฐเซ‡เชชเชจเซ€ เชธเชฎเช•เช•เซเชท เช…เชจเซ‡ เชชเซเชฐเซ‹เชฎเชฟเชฅเชฟเชฏเชธเชจเชพ เชชเซ‚เชฐเช• เชฌเชจเชตเชพ เชฎเชพเช‚เช—เซ‡ เช›เซ‡, เช† เช•เซ‹เชˆ เช—เซ‡เชฐเชฒเชพเชญ เชจเชฅเซ€.

เชฌเชจเชพเชตเชจเซ€ เชคเชชเชพเชธ

เชถเชพ เชฎเชพเชŸเซ‡ เชฒเซ‹เช•เซ€เชจเซ‡ เช…เชจเซเช•เซเชฐเชฎเชฃเชฟเช•เชพเชจเซ€ เชœเชฐเซ‚เชฐ เชจเชฅเซ€ เชคเซ‡ เชตเชงเซ เชธเชพเชฐเซ€ เชฐเซ€เชคเซ‡ เชธเชฎเชœเชตเชพ เชฎเชพเชŸเซ‡, เชšเชพเชฒเซ‹ เช˜เชŸเชจเชพ เชคเชชเชพเชธ เชชเชฆเซเชงเชคเชฟ เชชเชฐ เชชเชพเช›เชพ เชœเชˆเช เชœเซ‡เชจเซ‹ เชฒเซ‹เช•เซ€ เชตเชฟเช•เชพเชธเช•เชฐเซเชคเชพเช“เช เช‰เชชเชฏเซ‹เช— เช•เชฐเซเชฏเซ‹ เชนเชคเซ‹:

เชฒเซ‹เช•เซ€ - เชชเซเชฐเซ‹เชฎเชฟเชฅเชฟเชฏเชธ เช…เชญเชฟเช—เชฎเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชฒเซ‹เช— เชธเช‚เช—เซเชฐเชน
1 เชšเซ‡เชคเชตเชฃเซ€ โ†’ 2 เชกเซ‡เชถเชฌเซ‹เชฐเซเชก โ†’ 3 เชเชกเชนเซ‹เช• เช•เซเชตเซ‡เชฐเซ€ โ†’ 4 เชฒเซ‹เช— เชเช•เชคเซเชฐเซ€เช•เชฐเชฃ โ†’ 5 เชตเชฟเชคเชฐเชฟเชค เชŸเซเชฐเซ‡เชธเชฟเช‚เช— โ†’ 6 เชซเชฟเช•เซเชธ!
(1 เชšเซ‡เชคเชตเชฃเซ€ โ†’ 2 เชกเซ‡เชถเชฌเซ‹เชฐเซเชก โ†’ 3 เชเชกเชนเซ‹เช• เช•เซเชตเซ‡เชฐเซ€ โ†’ 4 เชฒเซ‹เช— เชเช•เชคเซเชฐเซ€เช•เชฐเชฃ โ†’ 5 เชตเชฟเชคเชฐเชฟเชค เชŸเซเชฐเซ‡เชธเชฟเช‚เช— โ†’ 6 เชซเชฟเช•เซเชธเชฟเช‚เช—!)

เชตเชฟเชšเชพเชฐ เช เช›เซ‡ เช•เซ‡ เช…เชฎเชจเซ‡ เช…เชฎเซเช• เชชเซเชฐเช•เชพเชฐเชจเซ€ เชšเซ‡เชคเชตเชฃเซ€ (เชธเซเชฒเซ…เช• เชจเซ‹เชŸเชฟเชซเชฟเช•เซ‡เชถเชจ, SMS, เชตเช—เซ‡เชฐเซ‡) เชฎเชณเซ‡ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡ เชชเช›เซ€:

  • Grafana เชกเซ‡เชถเชฌเซ‹เชฐเซเชก เชœเซเช“
  • เชธเซ‡เชตเชพ เชฎเซ‡เชŸเซเชฐเชฟเช•เซเชธ เชœเซเช“ (เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชชเซเชฐเซ‹เชฎเชฟเชฅเชฟเชฏเชธเชฎเชพเช‚)
  • เชฒเซ‹เช— เชเชจเซเชŸเซเชฐเซ€เช“ เชœเซเช“ (เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, Elasticsearch เชฎเชพเช‚)
  • เช•เชฆเชพเชš เชตเชฟเชคเชฐเชฟเชค เชจเชฟเชถเชพเชจเซ‹ เชชเชฐ เชเช• เชจเชœเชฐ เชจเชพเช–เซ‹ (เชœเซ‡เช—เชฐ, เชเชฟเชชเช•เซ€เชจ, เชตเช—เซ‡เชฐเซ‡.)
  • เช…เชจเซ‡ เช…เช‚เชคเซ‡ เชฎเซ‚เชณ เชธเชฎเชธเซเชฏเชพเชจเซเช‚ เชจเชฟเชฐเชพเช•เชฐเชฃ.

เช…เชนเซ€เช‚, Grafana + Prometheus + Elasticsearch + Zipkin เชธเซเชŸเซ‡เช•เชจเชพ เช•เชฟเชธเซเชธเชพเชฎเชพเช‚, เชคเชฎเชพเชฐเซ‡ เชšเชพเชฐ เช…เชฒเช—-เช…เชฒเช— เชŸเซ‚เชฒเซเชธเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเซ‹ เชชเชกเชถเซ‡. เชธเชฎเชฏ เช˜เชŸเชพเชกเชตเชพ เชฎเชพเชŸเซ‡, เชเช• เชŸเซ‚เชฒเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เช† เชคเชฎเชพเชฎ เชชเช—เชฒเชพเช‚เช“ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชธเช•เซเชทเชฎ เชฅเชตเซเช‚ เชธเชฐเชธ เชฐเชนเซ‡เชถเซ‡: เช—เซเชฐเชพเชซเชจเชพ. เชจเซ‹เช‚เชงเชจเซ€เชฏ เช›เซ‡ เช•เซ‡ เชธเช‚เชถเซ‹เชงเชจ เชฎเชพเชŸเซ‡เชจเซ‹ เช† เช…เชญเชฟเช—เชฎ เช—เซเชฐเชพเชซเชจเชพเชฎเชพเช‚ เชธเช‚เชธเซเช•เชฐเชฃ 6 เชฅเซ€ เชฒเชพเช—เซ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เช›เซ‡. เช†เชฎ, เชชเซเชฐเซ‹เชฎเชฟเชฅเชฟเชฏเชธ เชกเซ‡เชŸเชพเชจเซ‡ เช—เซเชฐเชพเชซเชจเชพเชฅเซ€ เชธเซ€เชงเซ‹ เชœ เชเช•เซเชธเซ‡เชธ เช•เชฐเชตเซ‹ เชถเช•เซเชฏ เชฌเชจเซ‡ เช›เซ‡.

เชฒเซ‹เช•เซ€ - เชชเซเชฐเซ‹เชฎเชฟเชฅเชฟเชฏเชธ เช…เชญเชฟเช—เชฎเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชฒเซ‹เช— เชธเช‚เช—เซเชฐเชน
เชชเซเชฐเซ‹เชฎเชฟเชฅเชฟเชฏเชธ เช…เชจเซ‡ เชฒเซ‹เช•เซ€ เชตเชšเซเชšเซ‡ เชเช•เซเชธเชชเซเชฒเซ‹เชฐเชฐ เชธเซเช•เซเชฐเซ€เชจ เชตเชฟเชญเชพเชœเชฟเชค

เช† เชธเซเช•เซเชฐเซ€เชจ เชชเชฐเชฅเซ€ เชคเชฎเซ‡ เชธเซเชชเซเชฒเชฟเชŸ เชธเซเช•เซเชฐเซ€เชจ เช•เซ‹เชจเซเชธเซ‡เชชเซเชŸเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชชเซเชฐเซ‹เชฎเชฟเชฅเชฟเชฏเชธ เชฎเซ‡เชŸเซเชฐเชฟเช•เซเชธเชฅเซ€ เชธเช‚เชฌเช‚เชงเชฟเชค เชฒเซ‹เช•เซ€ เชฒเซ‹เช— เชœเซ‹เชˆ เชถเช•เซ‹ เช›เซ‹. เชธเช‚เชธเซเช•เชฐเชฃ 6.5 เชฅเซ€, Grafana เชคเชฎเชจเซ‡ เชคเชฎเชพเชฐเชพ เชฎเชจเชชเชธเช‚เชฆ เชตเชฟเชคเชฐเชฟเชค เชŸเซเชฐเซ‡เชธเชฟเช‚เช— เชŸเซ‚เชฒเซเชธ (เชœเซ‡เช—เชฐ) เชจเซ€ เชฒเชฟเช‚เช•เซเชธเชจเซ‡ เช…เชจเซเชธเชฐเชตเชพ เชฎเชพเชŸเซ‡ เชฒเซ‹เช•เซ€ เชฒเซ‹เช— เชเชจเซเชŸเซเชฐเซ€เช“เชฎเชพเช‚ เชŸเซเชฐเซ‡เชธ เช†เชˆเชกเซ€เชจเซเช‚ เชตเชฟเชถเซเชฒเซ‡เชทเชฟเชค เช•เชฐเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡.

เชธเซเชฅเชพเชจเชฟเช• เชฒเซ‹เช•เซ€ เชชเชฐเซ€เช•เซเชทเชฃ

เชฒเซ‹เช•เซ€เชจเซ‡ เชธเซเชฅเชพเชจเชฟเช• เชฐเซ€เชคเซ‡ เชšเช•เชพเชธเชตเชพเชจเซ‹ เชธเซŒเชฅเซ€ เชธเชนเซ‡เชฒเซ‹ เชฐเชธเซเชคเซ‹ เชกเซ‹เช•เชฐ-เช•เช‚เชชเซ‹เชเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชจเซ‹ เช›เซ‡. เชกเซ‹เช•เชฐ-เช•เช‚เชชเซ‹เช เชซเชพเช‡เชฒ เชฒเซ‹เช•เซ€ เชฐเชฟเชชเซ‹เชเซ€เชŸเชฐเซ€เชฎเชพเช‚ เชธเซเชฅเชฟเชค เช›เซ‡. เชคเชฎเซ‡ เชจเซ€เชšเซ‡เชจเชพ เช†เชฆเซ‡เชถเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชฐเซ€เชชเซ‹เชเซ€เชŸเชฐเซ€ เชฎเซ‡เชณเชตเซ€ เชถเช•เซ‹ เช›เซ‹ git:

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

เชชเช›เซ€ เชคเชฎเชพเชฐเซ‡ เช‰เชคเซเชชเชพเชฆเชจ เชจเชฟเชฐเซเชฆเซ‡เชถเชฟเช•เชพ เชชเชฐ เชœเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡:

$ cd production

เช† เชชเช›เซ€ เชคเชฎเซ‡ เชกเซ‹เช•เชฐ เช›เชฌเซ€เช“เชจเซเช‚ เชจเชตเซ€เชจเชคเชฎ เชธเช‚เชธเซเช•เชฐเชฃ เชฎเซ‡เชณเชตเซ€ เชถเช•เซ‹ เช›เซ‹:

$ docker-compose pull

เช›เซ‡เชฒเซเชฒเซ‡, เชฒเซ‹เช•เซ€ เชธเซเชŸเซ‡เช• เชจเซ€เชšเซ‡เชจเชพ เช†เชฆเซ‡เชถ เชธเชพเชฅเซ‡ เชฒเซ‹เชจเซเชš เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡:

$ docker-compose up

เชฒเซ‹เช•เซ€ เช†เชฐเซเช•เชฟเชŸเซ‡เช•เซเชšเชฐ

เช…เชนเซ€เช‚ เชฒเซ‹เช•เซ€ เช†เชฐเซเช•เชฟเชŸเซ‡เช•เซเชšเชฐ เชธเชพเชฅเซ‡เชจเซ‹ เชเช• เชจเชพเชจเซ‹ เช†เช•เซƒเชคเชฟ เช›เซ‡:

เชฒเซ‹เช•เซ€ - เชชเซเชฐเซ‹เชฎเชฟเชฅเชฟเชฏเชธ เช…เชญเชฟเช—เชฎเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชฒเซ‹เช— เชธเช‚เช—เซเชฐเชน
เชฒเซ‹เช•เซ€ เช†เชฐเซเช•เชฟเชŸเซ‡เช•เซเชšเชฐ เชธเชฟเชฆเซเชงเชพเช‚เชคเซ‹

เชตเซ‡เชฌ เช•เซเชฒเชพเชฏเช‚เชŸ เชธเชฐเซเชตเชฐ เชชเชฐ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชšเชฒเชพเชตเซ‡ เช›เซ‡, เชชเซเชฐเซ‹เชฎเชŸเซ‡เชฒ เชฒเซ‹เช— เชเช•เชคเซเชฐเชฟเชค เช•เชฐเซ‡ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡เชจเซ‡ เชฒเซ‹เช•เซ€เชจเซ‡ เชฎเซ‹เช•เชฒเซ‡ เช›เซ‡, เชตเซ‡เชฌ เช•เซเชฒเชพเชฏเช‚เชŸ เชฒเซ‹เช•เซ€เชจเซ‡ เชฎเซ‡เชŸเชพเชกเซ‡เชŸเชพ เชชเชฃ เชฎเซ‹เช•เชฒเซ‡ เช›เซ‡. เชฒเซ‹เช•เซ€ เชฆเชฐเซ‡เช• เชตเชธเซเชคเซเชจเซ‡ เชเช•เชคเซเชฐ เช•เชฐเซ‡ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡เชจเซ‡ เช—เซเชฐเชพเชซเชจเชพเชฎเชพเช‚ เชŸเซเชฐเชพเชจเซเชธเชฎเชฟเชŸ เช•เชฐเซ‡ เช›เซ‡.
เชฒเซ‹เช•เซ€ เชฒเซ‹เชจเซเชš เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เช›เซ‡. เช‰เชชเชฒเชฌเซเชง เช˜เชŸเช•เซ‹ เชœเซ‹เชตเชพ เชฎเชพเชŸเซ‡, เชจเซ€เชšเซ‡เชจเซ‹ เช†เชฆเซ‡เชถ เชšเชฒเชพเชตเซ‹:

$ 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: เชเช• เชชเซเชฐเช–เซเชฏเชพเชค เชกเซ‡เชถเชฌเซ‹เชฐเซเชก เชธเชพเชงเชจ
  • เชฒเซ‹เช•เซ€: เชกเซ‡เชŸเชพ เชธเซ‡เชจเซเชŸเซเชฐเชฒเชพเช‡เชเซ‡เชถเชจ เชกเชฟเชฎเชจ

เช•เซเชฒเชพเชธเชฟเช• เชˆเชจเซเชซเซเชฐเชพเชธเซเชŸเซเชฐเช•เซเชšเชฐเชจเชพ เชญเชพเช— เชฐเซ‚เชชเซ‡ (เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชตเชฐเซเชšเซเชฏเซเช…เชฒ เชฎเชถเซ€เชจเซ‹ เชชเชฐ เช†เชงเชพเชฐเชฟเชค), เชชเซเชฐเซ‹เชฎเชŸเซ‡เชฒ เชเชœเชจเซเชŸ เชฆเชฐเซ‡เช• เชฎเชถเซ€เชจ เชชเชฐ เชคเซˆเชจเชพเชค เชนเซ‹เชตเชพ เชœเซ‹เชˆเช. Grafana เช…เชจเซ‡ Loki เชเช• เชœ เชฎเชถเซ€เชจ เชชเชฐ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡.

เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธ เชชเชฐ เชœเชฎเชพเชตเชŸ

เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธ เชชเชฐ เชฒเซ‹เช•เซ€ เช˜เชŸเช•เซ‹เชจเซ‡ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเชตเซเช‚ เชจเซ€เชšเซ‡ เชฎเซเชœเชฌ เชนเชถเซ‡:

  • เชธเชฐเซเชตเชฐ เช•เซเชฒเชธเซเชŸเชฐเชฎเชพเช‚ เชฆเชฐเซ‡เช• เชฎเชถเซ€เชจ เชชเชฐ เชชเซเชฐเซ‹เชฎเชŸเซ‡เชฒ เชเชœเชจเซเชŸเชจเซ‡ เชœเชฎเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เชกเซ‡เชฎเชจเชธเซ‡เชŸ
  • เชœเชฎเชพเชตเชŸ เชฒเซ‹เช•เซ€
  • เช…เชจเซ‡ เช›เซ‡เชฒเซเชฒเซเช‚ เชเช• เช›เซ‡ Grafana เชจเซ€ เชœเชฎเชพเชตเชŸ.

เชธเชฆเชญเชพเช—เซเชฏเซ‡, เชฒเซ‹เช•เซ€ เชนเซ‡เชฒเซเชฎ เชชเซ‡เช•เซ‡เชœ เชคเชฐเซ€เช•เซ‡ เช‰เชชเชฒเชฌเซเชง เช›เซ‡, เชœเซ‡ เชคเซ‡เชจเซ‡ เชœเชฎเชพเชตเชตเชพเชจเซเช‚ เชธเชฐเชณ เชฌเชจเชพเชตเซ‡ เช›เซ‡.

เชนเซ‡เชฎเชฒ เชฆเซเชตเชพเชฐเชพ เช‡เชจเซเชธเซเชŸเซ‹เชฒเซ‡เชถเชจ

เชคเชฎเชพเชฐเซ‡ เชชเชนเซ‡เชฒเชพเชฅเซ€ เชœ เชนเซ‡เชฎเชฒ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเซ‡เชฒ เชนเซ‹เชตเซเช‚ เชœเซ‹เชˆเช. เชคเซ‡ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเชจเชพ GitHub เชฐเซ€เชชเซ‹เชเซ€เชŸเชฐเซ€เชฎเชพเช‚เชฅเซ€ เชกเชพเช‰เชจเชฒเซ‹เชก เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡. เชคเซ‡ เชคเชฎเชพเชฐเชพ เช†เชฐเซเช•เชฟเชŸเซ‡เช•เซเชšเชฐเชจเซ‡ เช…เชจเซเชฐเซ‚เชช เช†เชฐเซเช•เชพเช‡เชตเชจเซ‡ เช…เชจเชชเซ‡เช• เช•เชฐเซ€เชจเซ‡ เช…เชจเซ‡ เชคเซ‡เชฎเชพเช‚ เชธเซเช•เชพเชจ เช‰เชฎเซ‡เชฐเซ€เชจเซ‡ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเซ‡เชฒเซเช‚ เช›เซ‡ $PATH.

เช‰เชฆเชพเชนเชฐเชฃ: เชนเซ‡เชฒเซเชฎเชจเซเช‚ เชตเชฐเซเชเชจ 3.0.0 เชคเชพเชœเซ‡เชคเชฐเชฎเชพเช‚ เชฐเชฟเชฒเซ€เช เชฅเชฏเซเช‚ เชนเชคเซเช‚. เชคเซ‡เชฎเชพเช‚ เช˜เชฃเชพ เชซเซ‡เชฐเชซเชพเชฐเซ‹ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเชพ เชนเซ‹เชตเชพเชฅเซ€, เชตเชพเชšเช•เชจเซ‡ เชคเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชคเชพ เชชเชนเซ‡เชฒเชพ เชฅเซ‹เชกเซ€ เชฐเชพเชน เชœเซ‹เชตเชพเชจเซ€ เชธเชฒเชพเชน เช†เชชเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡..

เชนเซ‡เชฒเซเชฎ เชฎเชพเชŸเซ‡ เชธเซเชคเซเชฐเซ‹เชค เช‰เชฎเซ‡เชฐเซ€ เชฐเชนเซเชฏเชพ เช›เซ€เช

เชชเซเชฐเชฅเชฎ เชชเช—เชฒเซเช‚ เช เชจเซ€เชšเซ‡เชจเชพ เช†เชฆเซ‡เชถเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ "เชฒเซ‹เช•เซ€" เชฐเซ€เชชเซ‹เชเซ€เชŸเชฐเซ€ เช‰เชฎเซ‡เชฐเชตเชพเชจเซเช‚ เช›เซ‡:

$ 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/fluent-bit เชคเชฎเชจเซ‡ เชชเซเชฐเซ‹เชฎเชŸเซ‡เชฒเชจเซ‡ เชฌเชฆเชฒเซ‡ เชฒเซ‹เช— เชเช•เชคเซเชฐเชฟเชค เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชซเซเชฒเซเช…เชจเซเชŸ-เชฌเชฟเชจเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชกเซ‡เชฎเชจเชธเซ‡เชŸ เชœเชฎเชพเชตเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡
  • เชชเซ‡เช•เซ‡เชœ loki/promtail เชฒเซ‹เช— เชซเชพเช‡เชฒ เช•เชฒเซ‡เช•เซเชถเชจ เชเชœเชจเซเชŸ เชงเชฐเชพเชตเซ‡ เช›เซ‡
  • เชชเซ‡เช•เซ‡เชœ loki/loki-stack, เชคเชฎเชจเซ‡ Promtail เชธเชพเชฅเซ‡ เชคเชฐเชค เชœ เชฒเซ‹เช•เซ€เชจเซ‡ เชœเชฎเชพเชตเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡.

เชฒเซ‹เช•เซ€ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเซ€ เชฐเชนเซเชฏเซเช‚ เช›เซ‡

เชฒเซ‹เช•เซ€เชจเซ‡ เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธ เชชเชฐ เชœเชฎเชพเชตเชตเชพ เชฎเชพเชŸเซ‡, "เชฎเซ‹เชจเชฟเชŸเชฐเชฟเช‚เช—" เชจเซ‡เชฎเชธเซเชชเซ‡เชธเชฎเชพเช‚ เชจเซ€เชšเซ‡เชจเซ‹ เช†เชฆเซ‡เชถ เชšเชฒเชพเชตเซ‹:

$ 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 เชนเซ‡เช เชณ Grafana เชธเชพเชฅเซ‡ เชœเซ‹เชกเชพเชตเชพ เชฎเชพเชŸเซ‡, เชคเชฎเชพเชฐเซ‡ เชคเซ‡เชจเชพ เชชเซ‹เชก เชชเชฐ เชเช• เชŸเชจเชฒ เช–เซ‹เชฒเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡. เชจเซ€เชšเซ‡ Grafana เชชเซ‹เชก เชฎเชพเชŸเซ‡ เชชเซ‹เชฐเซเชŸ 3000 เช–เซ‹เชฒเชตเชพเชจเซ‹ เช†เชฆเซ‡เชถ เช›เซ‡:

$ 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

เชกเชฟเชซเซ‰เชฒเซเชŸ เชเชกเชฎเชฟเชจเชฟเชธเซเชŸเซเชฐเซ‡เชŸเชฐ เชเช•เชพเช‰เชจเซเชŸ (เชเชกเชฎเชฟเชจ) เชธเชพเชฅเซ‡ เชœเซ‹เชกเชพเชฃเชฎเชพเช‚ เช† เชชเชพเชธเชตเชฐเซเชกเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‹.

เช—เซเชฐเชพเชซเชจเชพเชฎเชพเช‚ เชฒเซ‹เช•เซ€ เชกเซ‡เชŸเชพ เชธเซเชคเซเชฐเซ‹เชคเชจเซ€ เชตเซเชฏเชพเช–เซเชฏเชพ เช•เชฐเชตเซ€

เชธเซŒ เชชเซเชฐเชฅเชฎ, เช–เชพเชคเชฐเซ€ เช•เชฐเซ‹ เช•เซ‡ เชฒเซ‹เช•เซ€ เชกเซ‡เชŸเชพ เชธเซเชคเซเชฐเซ‹เชค เชฌเชจเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เช›เซ‡ (เช•เซ‹เชจเซเชซเชฟเช—เชฐเซ‡เชถเชจ/เชกเซ‡เชŸเชพเชธเซ‹เชฐเซเชธ).
เช…เชนเซ€เช‚ เชเช• เช‰เชฆเชพเชนเชฐเชฃ เช›เซ‡:

เชฒเซ‹เช•เซ€ - เชชเซเชฐเซ‹เชฎเชฟเชฅเชฟเชฏเชธ เช…เชญเชฟเช—เชฎเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชฒเซ‹เช— เชธเช‚เช—เซเชฐเชน
เชฒเซ‹เช•เซ€ เชฎเชพเชŸเซ‡ เชกเซ‡เชŸเชพ เชธเซเชคเซเชฐเซ‹เชค เชธเซ‡เชŸ เช•เชฐเชตเชพเชจเซเช‚ เช‰เชฆเชพเชนเชฐเชฃ

"เชŸเซ‡เชธเซเชŸ" เชชเชฐ เช•เซเชฒเชฟเช• เช•เชฐเซ€เชจเซ‡ เชคเชฎเซ‡ เชฒเซ‹เช•เซ€ เชธเชพเชฅเซ‡ เช•เชจเซ‡เช•เซเชถเชจ เชšเซ‡เช• เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹.

เชฒเซ‹เช•เซ€เชจเซ‡ เชตเชฟเชจเช‚เชคเซ€เช“ เช•เชฐเชตเซ€

เชนเชตเซ‡ โ€œเชเช•เซเชธเชชเซเชฒเซ‹เชฐโ€ เชตเชฟเชญเชพเช—เชฎเชพเช‚ เช—เซเชฐเชพเชซเชจเชพ เชชเชฐ เชœเชพเช“. เช•เชจเซเชŸเซ‡เชจเชฐเชฎเชพเช‚เชฅเซ€ เชฒเซ‹เช— เชชเซเชฐเชพเชชเซเชค เช•เชฐเชคเซ€ เชตเช–เชคเซ‡, เชฒเซ‹เช•เซ€ เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธเชฎเชพเช‚เชฅเซ€ เชฎเซ‡เชŸเชพเชกเซ‡เชŸเชพ เช‰เชฎเซ‡เชฐเซ‡ เช›เซ‡. เช†เชฎ, เชšเซ‹เช•เซเช•เชธ เช•เชจเซเชŸเซ‡เชจเชฐเชจเชพ เชฒเซ‹เช— เชœเซ‹เชตเชพเชจเซเช‚ เชถเช•เซเชฏ เชฌเชจเซ‡ เช›เซ‡.

เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชชเซเชฐเซ‹เชฎเชŸเซ‡เชฒ เช•เชจเซเชŸเซ‡เชจเชฐ เชฒเซ‹เช— เชชเชธเช‚เชฆ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เชคเชฎเซ‡ เชจเซ€เชšเซ‡เชจเซ€ เช•เซเชตเซ‡เชฐเซ€เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹: {container_name = "promtail"}.
เช…เชนเซ€เช‚ เชฒเซ‹เช•เซ€ เชกเซ‡เชŸเชพ เชธเซเชคเซเชฐเซ‹เชค เชชเชธเช‚เชฆ เช•เชฐเชตเชพเชจเซเช‚ เชชเชฃ เชฏเชพเชฆ เชฐเชพเช–เซ‹.

เช† เช•เซเชตเซ‡เชฐเซ€ เชจเซ€เชšเซ‡ เชชเซเชฐเชฎเชพเชฃเซ‡ เช•เชจเซเชŸเซ‡เชจเชฐ เชชเซเชฐเชตเซƒเชคเซเชคเชฟ เช†เชชเชถเซ‡:

เชฒเซ‹เช•เซ€ - เชชเซเชฐเซ‹เชฎเชฟเชฅเชฟเชฏเชธ เช…เชญเชฟเช—เชฎเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชฒเซ‹เช— เชธเช‚เช—เซเชฐเชน
Grafana เชฎเชพเช‚ เช•เซเชตเซ‡เชฐเซ€ เชชเชฐเชฟเชฃเชพเชฎ

เชกเซ‡เชถเชฌเซ‹เชฐเซเชกเชฎเชพเช‚ เช‰เชฎเซ‡เชฐเซ‹

Grafana 6.4 เชฅเซ€ เชถเชฐเซ‚ เช•เชฐเซ€เชจเซ‡, เชคเชฎเซ‡ เชฒเซ‹เช— เชฎเชพเชนเชฟเชคเซ€ เชธเซ€เชงเซ€ เชกเซ‡เชถเชฌเซ‹เชฐเซเชก เชชเชฐ เชฎเซ‚เช•เซ€ เชถเช•เซ‹ เช›เซ‹. เช† เชชเช›เซ€, เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ เชคเซ‡เชจเซ€ เชธเชพเช‡เชŸ เชชเชฐเชจเซ€ เชตเชฟเชจเช‚เชคเซ€เช“เชจเซ€ เชธเช‚เช–เซเชฏเชพ เช…เชจเซ‡ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชŸเซเชฐเซ‡เชธ เชตเชšเซเชšเซ‡ เชเชกเชชเชฅเซ€ เชธเซเชตเชฟเชš เช•เชฐเซ€ เชถเช•เชถเซ‡.

เชจเซ€เชšเซ‡ เชกเซ‡เชถเชฌเซ‹เชฐเซเชกเชจเซเช‚ เช‰เชฆเชพเชนเชฐเชฃ เช›เซ‡ เชœเซ‡ เช† เช•เซเชฐเชฟเชฏเชพเชชเซเชฐเชคเชฟเช•เซเชฐเชฟเชฏเชพเชจเซ‡ เช…เชฎเชฒเชฎเชพเช‚ เชฎเซ‚เช•เซ‡ เช›เซ‡:

เชฒเซ‹เช•เซ€ - เชชเซเชฐเซ‹เชฎเชฟเชฅเชฟเชฏเชธ เช…เชญเชฟเช—เชฎเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชฒเซ‹เช— เชธเช‚เช—เซเชฐเชน
เชชเซเชฐเซ‹เชฎเชฟเชฅเชฟเชฏเชธ เชฎเซ‡เชŸเซเชฐเชฟเช•เซเชธ เช…เชจเซ‡ เชฒเซ‹เช•เซ€ เชฒเซ‹เช— เชธเชพเชฅเซ‡ เชกเซ‡เชถเชฌเซ‹เชฐเซเชกเชจเซ‹ เชจเชฎเซ‚เชจเซ‹

เชฒเซ‹เช•เซ€เชจเซเช‚ เชญเชตเชฟเชทเซเชฏ

เชฎเซ‡เช‚ เชฒเซ‹เช•เซ€เชจเซ‹ เช‰เชชเชฏเซ‹เช— เชฎเซ‡/เชœเซ‚เชจเชฎเชพเช‚ เช†เชตเซƒเชคเซเชคเชฟ 0.1 เชธเชพเชฅเซ‡ เชถเชฐเซ‚ เช•เชฐเซเชฏเซ‹. เช†เชœเซ‡ เชธเช‚เชธเซเช•เชฐเชฃ 1, เช…เชจเซ‡ เชคเซ‡ เชชเชฃ 1.1 เช…เชจเซ‡ 1.2 เชชเชนเซ‡เชฒเชพเชฅเซ€ เชœ เชฐเชฟเชฒเซ€เช เชฅเชˆ เชšเซ‚เช•เซเชฏเซเช‚ เช›เซ‡.

เชคเซ‡ เชธเซเชตเซ€เช•เชพเชฐเชตเซเช‚ เช†เชตเชถเซเชฏเช• เช›เซ‡ เช•เซ‡ เชธเช‚เชธเซเช•เชฐเชฃ 0.1 เชชเชฐเซเชฏเชพเชชเซเชค เชธเซเชฅเชฟเชฐ เชจ เชนเชคเซเช‚. เชชเชฐเช‚เชคเซ 0.3 เช เชชเชนเซ‡เชฒเชพเชฅเซ€ เชœ เชชเชฐเชฟเชชเช•เซเชตเชคเชพเชจเชพ เชตเชพเชธเซเชคเชตเชฟเช• เชธเช‚เช•เซ‡เชคเซ‹ เชฆเชฐเซเชถเชพเชตเซเชฏเชพ เชนเชคเชพ, เช…เชจเซ‡ เช…เชจเซเช—เชพเชฎเซ€ เชธเช‚เชธเซเช•เชฐเชฃเซ‹ (0.4, เชชเช›เซ€ 1.0) เช เชซเช•เซเชค เช† เช›เชพเชชเชจเซ‡ เชฎเชœเชฌเซ‚เชค เชฌเชจเชพเชตเซเชฏเซเช‚ เชนเชคเซเช‚.

1.0.0 เชชเช›เซ€, เช•เซ‹เชˆเชจเซ€ เชชเชพเชธเซ‡ เช† เช…เชฆเซเชญเซเชค เชธเชพเชงเชจเชจเซ‹ เช‰เชชเชฏเซ‹เช— เชจ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เช•เซ‹เชˆ เชฌเชนเชพเชจเซเช‚ เชนเซ‹เชˆ เชถเช•เซ‡ เชจเชนเซ€เช‚.

เชตเชงเซ เชธเซเชงเชพเชฐเชพเช“ เชฒเซ‹เช•เซ€ เชตเชฟเชถเซ‡ เชจ เชนเซ‹เชตเชพ เชœเซ‹เชˆเช, เชชเชฐเช‚เชคเซ เชคเซ‡เชจเชพ เช‰เชคเซเชคเชฎ เช—เซเชฐเชพเชซเชจเชพ เชธเชพเชฅเซ‡เชจเซเช‚ เชเช•เซ€เช•เชฐเชฃ เชนเซ‹เชตเซเช‚ เชœเซ‹เชˆเช. เชนเช•เซ€เช•เชคเชฎเชพเช‚, Grafana 6.4 เชชเชพเชธเซ‡ เชชเชนเซ‡เชฒเชพเชฅเซ€ เชœ เชกเซ‡เชถเชฌเซ‹เชฐเซเชกเซเชธ เชธเชพเชฅเซ‡ เชธเชพเชฐเซเช‚ เชเช•เซ€เช•เชฐเชฃ เช›เซ‡.

Grafana 6.5, เชœเซ‡ เชคเชพเชœเซ‡เชคเชฐเชฎเชพเช‚ เชฐเซ€เชฒเซ€เช เชฅเชฏเซเช‚ เชนเชคเซเช‚, JSON เชซเซ‹เชฐเซเชฎเซ‡เชŸเชฎเชพเช‚ เชฒเซ‹เช— เชธเชฎเชพเชตเชฟเชทเซเชŸเซ‹เชจเซ‡ เช†เชชเชฎเซ‡เชณเซ‡ เช“เชณเช–เซ€เชจเซ‡ เช† เชเช•เซ€เช•เชฐเชฃเชจเซ‡ เชตเชงเซ เชธเซเชงเชพเชฐเซ‡ เช›เซ‡.

เชจเซ€เชšเซ‡เชจเซ€ เชตเชฟเชกเชฟเช“ เช† เชชเชฆเซเชงเชคเชฟเชจเซเช‚ เชเช• เชจเชพเชจเซเช‚ เช‰เชฆเชพเชนเชฐเชฃ เชฌเชคเชพเชตเซ‡ เช›เซ‡:

เชฒเซ‹เช•เซ€ - เชชเซเชฐเซ‹เชฎเชฟเชฅเชฟเชฏเชธ เช…เชญเชฟเช—เชฎเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชฒเซ‹เช— เชธเช‚เช—เซเชฐเชน
Grafana เชฎเชพเช‚ เช–เซเชฒเซเชฒเชพ เชฒเซ‹เช•เซ€ เชถเชฌเซเชฆเชฎเชพเชณเชพเช“เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเซ‹

JSON เชซเซ€เชฒเซเชกเชฎเชพเช‚เชฅเซ€ เชเช•เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเซ‹ เชถเช•เซเชฏ เชฌเชจเซ‡ เช›เซ‡, เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เช† เชฎเชพเชŸเซ‡:

  • เชฌเชพเชนเซเชฏ เชธเชพเชงเชจเชจเซ€ เชฒเชฟเช‚เช•เซเชธ
  • เชซเชฟเชฒเซเชŸเชฐเชฟเช‚เช— เชฒเซ‹เช— เชธเชฎเชพเชตเชฟเชทเซเชŸเซ‹

เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชคเชฎเซ‡ Zipkin เช…เชฅเชตเชพ Jaeger เชชเชฐ เชœเชตเชพ เชฎเชพเชŸเซ‡ traceId เชชเชฐ เช•เซเชฒเชฟเช• เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹.

เชนเช‚เชฎเซ‡เชถเชจเซ€ เชœเซ‡เชฎ, เช…เชฎเซ‡ เชคเชฎเชพเชฐเซ€ เชŸเชฟเชชเซเชชเชฃเซ€เช“เชจเซ€ เชฐเชพเชน เชœเซ‹เชˆ เชฐเชนเซเชฏเชพ เช›เซ€เช เช…เชจเซ‡ เชคเชฎเชจเซ‡ เช†เชฎเช‚เชคเซเชฐเชฟเชค เช•เชฐเซ€เช เช›เซ€เช เช“เชชเชจ เชตเซ‡เชฌเชฟเชจเชพเชฐ, เชœเซเชฏเชพเช‚ เช…เชฎเซ‡ 2019 เชฆเชฐเชฎเชฟเชฏเชพเชจ DevOps เช‰เชฆเซเชฏเซ‹เช—เชจเซ‹ เชตเชฟเช•เชพเชธ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชฅเชฏเซ‹ เชคเซ‡ เชตเชฟเชถเซ‡ เชตเชพเชค เช•เชฐเซ€เชถเซเช‚ เช…เชจเซ‡ 2020 เชฎเชพเชŸเซ‡ เชธเช‚เชญเชตเชฟเชค เชตเชฟเช•เชพเชธ เชฎเชพเชฐเซเช—เซ‹เชจเซ€ เชšเชฐเซเชšเชพ เช•เชฐเซ€เชถเซเช‚.

เชธเซ‹เชฐเซเชธ: www.habr.com