เช…เชฎเซ‡ เชชเซเชฐเซ‹เชฎเชฟเชฅเชฟเชฏเชธ, เช•เซเชฒเชฟเช•เชนเชพเช‰เชธ เช…เชจเซ‡ ELK เชชเชฐ เชฎเซ‹เชจเชฟเชŸเชฐเชฟเช‚เช— เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชฌเชจเชพเชตเซเชฏเซเช‚

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

เช…เชฎเซ‡ เชชเซเชฐเซ‹เชฎเชฟเชฅเชฟเชฏเชธ, เช•เซเชฒเชฟเช•เชนเชพเช‰เชธ เช…เชจเซ‡ ELK เชชเชฐ เชฎเซ‹เชจเชฟเชŸเชฐเชฟเช‚เช— เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชฌเชจเชพเชตเซเชฏเซเช‚

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

เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชตเชฟเชถเซ‡

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

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

เชฎเชพเชฐเชพ เช•เชฟเชธเซเชธเชพเชฎเชพเช‚, เช—เซเชฐเชพเชนเช•เชจเซ€ เชฆเซ‡เช–เชฐเซ‡เช– เชธเชฟเชธเซเชŸเชฎ เช…เช—เชพเช‰ Icinga เชชเชฐ เช†เชงเชพเชฐเชฟเชค เชนเชคเซ€. เชคเซ‡ เช•เซ‹เชˆเชชเชฃ เชฐเซ€เชคเซ‡ เช‰เชชเชฐเซ‹เช•เซเชค เชธเชฎเชธเซเชฏเชพเช“ เชนเชฒ เช•เชฐเซ€ เชถเช•เชคเซ‹ เชจเชฅเซ€. เช˜เชฃเซ€เชตเชพเชฐ เช•เซเชฒเชพเชฏเช‚เชŸ เชชเซ‹เชคเซ‡ เชœ เช…เชฎเชจเซ‡ เชธเชฎเชธเซเชฏเชพเช“ เชตเชฟเชถเซ‡ เชœเชพเชฃ เช•เชฐเซ‡ เช›เซ‡, เช…เชจเซ‡ เช˜เชฃเซ€ เชตเชพเชฐ เชจเชนเซ€เช‚, เช…เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เช•เชพเชฐเชฃเชจเชพ เชคเชณเชฟเชฏเซ‡ เชœเชตเชพ เชฎเชพเชŸเซ‡ เชชเซ‚เชฐเชคเซ‹ เชกเซ‡เชŸเชพ เชจเชฅเซ€.

เชตเชงเซเชฎเชพเช‚, เชคเซ‡เชจเชพ เชตเชงเซ เชตเชฟเช•เชพเชธเชจเซ€ เชจเชฟเชฐเชฐเซเชฅเช•เชคเชพเชจเซ€ เชธเซเชชเชทเซเชŸ เชธเชฎเชœเชฃ เชนเชคเซ€. เชฎเชจเซ‡ เชฒเชพเช—เซ‡ เช›เซ‡ เช•เซ‡ เชœเซ‡เช“ Icinga เชฅเซ€ เชชเชฐเชฟเชšเชฟเชค เช›เซ‡ เชคเซ‡เช“ เชฎเชจเซ‡ เชธเชฎเชœเซ€ เชถเช•เชถเซ‡. เชคเซ‡เชฅเซ€, เช…เชฎเซ‡ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชฎเชพเชŸเซ‡ เชตเซ‡เชฌ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชฎเซ‹เชจเชฟเชŸเชฐเชฟเช‚เช— เชธเชฟเชธเซเชŸเชฎเชจเซ‡ เชธเช‚เชชเซ‚เชฐเซเชฃเชชเชฃเซ‡ เชซเชฐเซ€เชฅเซ€ เชกเชฟเชเชพเช‡เชจ เช•เชฐเชตเชพเชจเซเช‚ เชจเช•เซเช•เซ€ เช•เชฐเซเชฏเซเช‚.

เชชเซเชฐเซ‹เชฎเชฟเชฅเชฟเชฏเชธ

เช…เชฎเซ‡ เชคเซเชฐเชฃ เชฎเซเช–เซเชฏ เชธเซ‚เชšเช•เชพเช‚เช•เซ‹เชจเชพ เช†เชงเชพเชฐเซ‡ เชชเซเชฐเซ‹เชฎเชฟเชฅเชฟเชฏเชธเชจเซ€ เชชเชธเช‚เชฆเช—เซ€ เช•เชฐเซ€:

  1. เช‰เชชเชฒเชฌเซเชง เชฎเซ‡เชŸเซเชฐเชฟเช•เซเชธเชจเซ€ เชตเชฟเชถเชพเชณ เชธเช‚เช–เซเชฏเชพ. เช…เชฎเชพเชฐเชพ เช•เชฟเชธเซเชธเชพเชฎเชพเช‚ เชคเซ‡เชฎเชพเช‚เชฅเซ€ 60 เชนเชœเชพเชฐ เช›เซ‡. เช…เชฒเชฌเชคเซเชค, เช เชจเซ‹เช‚เชงเชตเซเช‚ เชฏเซ‹เช—เซเชฏ เช›เซ‡ เช•เซ‡ เช…เชฎเซ‡ เชคเซ‡เชฎเชพเช‚เชจเชพ เชฎเซ‹เชŸเชพ เชญเชพเช—เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชคเชพ เชจเชฅเซ€ (เช•เชฆเชพเชš เชฒเช—เชญเช— 95%). เชฌเซ€เชœเซ€ เชฌเชพเชœเซ, เชคเซ‡ เชฌเชงเชพ เชชเซเชฐเชฎเชพเชฃเชฎเชพเช‚ เชธเชธเซเชคเชพ เช›เซ‡. เช…เชฎเชพเชฐเชพ เชฎเชพเชŸเซ‡, เช…เช—เชพเช‰ เช‰เชชเชฏเซ‹เช—เชฎเชพเช‚ เชฒเซ‡เชตเชพเชคเชพ Icinga เชจเซ€ เชคเซเชฒเชจเชพเชฎเชพเช‚ เช† เช…เชจเซเชฏ เช†เชคเซเชฏเช‚เชคเชฟเช• เช›เซ‡. เชคเซ‡เชฎเชพเช‚, เชฎเซ‡เชŸเซเชฐเชฟเช•เซเชธ เช‰เชฎเซ‡เชฐเชตเซเช‚ เช เชเช• เช–เชพเชธ เชชเซ€เชกเชพ เชนเชคเซ€: เชนเชพเชฒเชจเชพ เชฒเซ‹เช•เซ‹ เช–เชฐเซเชšเชพเชณ เชนเชคเชพ (เชซเช•เซเชค เช•เซ‹เชˆเชชเชฃ เชชเซเชฒเช—เช‡เชจเชจเซ‹ เชธเซเชฐเซ‹เชค เช•เซ‹เชก เชœเซเช“). เช•เซ‹เชˆเชชเชฃ เชชเซเชฒเช—เชˆเชจ เช เชฌเซ‡เชถ เช…เชฅเชตเชพ เชชเชพเชฏเชฅเซ‹เชจเชฎเชพเช‚ เชเช• เชธเซเช•เซเชฐเชฟเชชเซเชŸ เชนเชคเซ€, เชœเซ‡เชจเซเช‚ เชฒเซ‹เช‚เชš เชตเชชเชฐเชพเชถ เชธเช‚เชธเชพเชงเชจเซ‹เชจเซ€ เชฆเซเชฐเชทเซเชŸเชฟเช เช–เชฐเซเชšเชพเชณ เช›เซ‡.
  2. เช† เชธเชฟเชธเซเชŸเชฎ เชชเซเชฐเชฎเชพเชฃเชฎเชพเช‚ เช“เช›เซ€ เชฎเชพเชคเซเชฐเชพเชฎเชพเช‚ เชธเช‚เชธเชพเชงเชจเซ‹เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‡ เช›เซ‡. 600 MB RAM, 15% เชเช• เช•เซ‹เชฐ เช…เชจเซ‡ เชฌเซ‡ เชกเชเชจ IOPS เช…เชฎเชพเชฐเชพ เชคเชฎเชพเชฎ เชฎเซ‡เชŸเซเชฐเชฟเช•เซเชธ เชฎเชพเชŸเซ‡ เชชเซ‚เชฐเชคเชพ เช›เซ‡. เช…เชฒเชฌเชคเซเชค, เชคเชฎเชพเชฐเซ‡ เชฎเซ‡เชŸเซเชฐเชฟเช•เซเชธ เชจเชฟเช•เชพเชธเช•เชพเชฐเซ‹เชจเซ‡ เชšเชฒเชพเชตเชตเชพ เชชเชกเชถเซ‡, เชชเชฐเช‚เชคเซ เชคเซ‡ เชฌเชงเชพ เช—เซ‹เชฎเชพเช‚ เชฒเช–เซ‡เชฒเชพ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡ เช–เซ‚เชฌ เชชเชพเชตเชฐ เชญเซ‚เช–เซเชฏเชพ เชจเชฅเซ€. เชฎเชจเซ‡ เชจเชฅเซ€ เชฒเชพเช—เชคเซเช‚ เช•เซ‡ เช†เชงเซเชจเชฟเช• เชตเชพเชธเซเชคเชตเชฟเช•เชคเชพเช“เชฎเชพเช‚ เช† เช•เซ‹เชˆ เชธเชฎเชธเซเชฏเชพ เช›เซ‡.
  3. เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธเชฎเชพเช‚ เชธเซเชฅเชณเชพเช‚เชคเชฐ เช•เชฐเชตเชพเชจเซ€ เช•เซเชทเชฎเชคเชพ เชชเซเชฐเชฆเชพเชจ เช•เชฐเซ‡ เช›เซ‡. เช—เซเชฐเชพเชนเช•เชจเซ€ เชฏเซ‹เชœเชจเชพเช“เชจเซ‡ เชงเซเชฏเชพเชจเชฎเชพเช‚ เชฒเซ‡เชคเชพ, เชชเชธเช‚เชฆเช—เซ€ เชธเซเชชเชทเซเชŸ เช›เซ‡.

เช‡เชเชฒเช•เซ‡

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

เช•เซเชฒเซ€เช•เชนเชพเช‰เชธ

เชถเชฐเซ‚เช†เชคเชฎเชพเช‚, เชชเชธเช‚เชฆเช—เซ€ InfluxDB เชชเชฐ เชชเชกเซ€. เช…เชฎเซ‡ Nginx เชฒเซ‰เช—เซเชธ, pg_stat_statements เชฎเชพเช‚เชฅเซ€ เช†เช‚เช•เชกเชพ เชเช•เชคเซเชฐเชฟเชค เช•เชฐเชตเชพเชจเซ€ เช…เชจเซ‡ เชชเซเชฐเซ‹เชฎเชฟเชฅเชฟเชฏเชธ เชเชคเชฟเชนเชพเชธเชฟเช• เชกเซ‡เชŸเชพเชจเซ‡ เชธเช‚เช—เซเชฐเชนเชฟเชค เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐเชฟเชฏเชพเชค เช…เชจเซเชญเชตเซ€. เช…เชฎเชจเซ‡ เชˆเชจเซเชซเซเชฒเช•เซเชธ เชชเชธเช‚เชฆ เชจเชนเซ‹เชคเซเช‚ เช•เชพเชฐเชฃ เช•เซ‡ เชคเซ‡ เชธเชฎเชฏเชพเช‚เชคเชฐเซ‡ เชฎเซ‹เชŸเซ€ เชฎเชพเชคเซเชฐเชพเชฎเชพเช‚ เชฎเซ‡เชฎเชฐเซ€เชจเซ‹ เชตเชชเชฐเชพเชถ เช•เชฐเชตเชพเชจเซเช‚ เชถเชฐเซ‚ เช•เชฐเซเชฏเซเช‚ เช…เชจเซ‡ เช•เซเชฐเซ‡เชถ เชฅเชˆ เช—เชฏเซเช‚. เชตเชงเซเชฎเชพเช‚, เชนเซเช‚ remote_addr เชฆเซเชตเชพเชฐเชพ เช•เซเชตเซ‡เชฐเซ€เชเชจเซ‡ เชœเซ‚เชฅเชฌเชฆเซเชง เช•เชฐเชตเชพ เชฎเชพเช‚เช—เชคเซ‹ เชนเชคเซ‹, เชชเชฐเช‚เชคเซ เช† DBMS เชฎเชพเช‚ เชœเซ‚เชฅเซ€เช•เชฐเชฃ เชซเช•เซเชค เชŸเซ…เช—เซเชธ เชฆเซเชตเชพเชฐเชพ เชœ เช›เซ‡. เชŸเซ…เช—เซเชธ เช–เชฐเซเชšเชพเชณ เช›เซ‡ (เชฎเซ‡เชฎเชฐเซ€), เชคเซ‡เชฎเชจเซ€ เชธเช‚เช–เซเชฏเชพ เชถเชฐเชคเซ€ เชฐเซ€เชคเซ‡ เชฎเชฐเซเชฏเชพเชฆเชฟเชค เช›เซ‡.

เช…เชฎเซ‡ เชซเชฐเซ€เชฅเซ€ เช…เชฎเชพเชฐเซ€ เชถเซ‹เชง เชถเชฐเซ‚ เช•เชฐเซ€. เชจเซเชฏเซ‚เชจเชคเชฎ เชธเช‚เชธเชพเชงเชจ เชตเชชเชฐเชพเชถ เชธเชพเชฅเซ‡เชจเชพ เชตเชฟเชถเซเชฒเซ‡เชทเชฃเชพเชคเซเชฎเช• เชกเซ‡เชŸเชพเชฌเซ‡เชเชจเซ€ เชœเชฐเซ‚เชฐ เชนเชคเซ€, เชชเซเชฐเชพเชงเชพเชจเซเชฏ เชกเชฟเชธเซเช• เชชเชฐ เชกเซ‡เชŸเชพ เช•เชฎเซเชชเซเชฐเซ‡เชถเชจ เชธเชพเชฅเซ‡.

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

เชจเซเชฏเซ‚เชฐเซ‡เชฒเชฟเช•

NewRelic เชเชคเชฟเชนเชพเชธเชฟเช• เชฐเซ€เชคเซ‡ เช…เชฎเชพเชฐเซ€ เชธเชพเชฅเซ‡ เช›เซ‡ เช•เชพเชฐเชฃ เช•เซ‡ เชคเซ‡ เช—เซเชฐเชพเชนเช•เชจเซ€ เชชเชธเช‚เชฆเช—เซ€ เชนเชคเซ€. เช…เชฎเซ‡ เชคเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— APM เชคเชฐเซ€เช•เซ‡ เช•เชฐเซ€เช เช›เซ€เช.

เชเชฌเซเชฌเซ€เช•เซเชธ

เช…เชฎเซ‡ เชตเชฟเชตเชฟเชง API เชจเชพ เชฌเซเชฒเซ‡เช• เชฌเซ‹เช•เซเชธเชจเซ‡ เชฎเซ‹เชจเชฟเชŸเชฐ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชซเช•เซเชค Zabbix เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เช เช›เซ€เช.

เชเช• เชฎเซ‹เชจเซ€เชŸเชฐเซ€เช‚เช— เช…เชญเชฟเช—เชฎ เชตเซเชฏเชพเช–เซเชฏเชพเชฏเชฟเชค

เช…เชฎเซ‡ เช•เชพเชฐเซเชฏเชจเซ‡ เชตเชฟเช˜เชŸเชฟเชค เช•เชฐเชตเชพ เชฎเชพเช—เซ€เช เช›เซ€เช เช…เชจเซ‡ เชคเซ‡ เชฐเซ€เชคเซ‡ เชฆเซ‡เช–เชฐเซ‡เช– เชฎเชพเชŸเซ‡เชจเชพ เช…เชญเชฟเช—เชฎเชจเซ‡ เชตเซเชฏเชตเชธเซเชฅเชฟเชค เชฌเชจเชพเชตเชตเชพ เชฎเชพเช—เซ€เช เช›เซ€เช.

เช† เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เชฎเซ‡เช‚ เช…เชฎเชพเชฐเซ€ เชธเชฟเชธเซเชŸเชฎเชจเซ‡ เชจเซ€เชšเซ‡เชจเชพ เชธเซเชคเชฐเซ‹เชฎเชพเช‚ เชตเชฟเชญเชพเชœเชฟเชค เช•เชฐเซ€:

  • เชนเชพเชฐเซเชกเชตเซ‡เชฐ เช…เชจเซ‡ VMS;
  • เช“เชชเชฐเซ‡เชŸเชฟเช‚เช— เชธเชฟเชธเซเชŸเชฎ;
  • เชธเชฟเชธเซเชŸเชฎ เชธเซ‡เชตเชพเช“, เชธเซ‹เชซเซเชŸเชตเซ‡เชฐ เชธเซเชŸเซ‡เช•;
  • เช…เชฐเชœเซ€;
  • เชตเซเชฏเชพเชชเชพเชฐ เชคเชฐเซเช•.

เช† เช…เชญเชฟเช—เชฎ เชถเชพ เชฎเชพเชŸเซ‡ เช…เชจเซเช•เซ‚เชณ เช›เซ‡:

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

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

เชตเชฐเซเชšเซเชฏเซเช…เชฒ เชฎเชถเซ€เชจเซ‹

เชนเซ‹เชธเซเชŸเชฟเช‚เช— เช…เชฎเชจเซ‡ เชชเซเชฐเซ‹เชธเซ‡เชธเชฐ, เชกเชฟเชธเซเช•, เชฎเซ‡เชฎเชฐเซ€ เช…เชจเซ‡ เชจเซ‡เชŸเชตเชฐเซเช• เชซเชพเชณเชตเซ‡ เช›เซ‡. เช…เชจเซ‡ เช…เชฎเชจเซ‡ เชชเซเชฐเชฅเชฎ เชฌเซ‡ เชธเชพเชฅเซ‡ เชธเชฎเชธเซเชฏเชพ เชนเชคเซ€. เชคเซ‡เชฅเซ€, เชฎเซ‡เชŸเซเชฐเชฟเช•เซเชธ:

CPU เชšเซ‹เชฐเชพเชฏเซ‡เชฒเซ‹ เชธเชฎเชฏ - เชœเซเชฏเชพเชฐเซ‡ เชคเชฎเซ‡ Amazon (t2.micro, เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡) เชชเชฐ เชตเชฐเซเชšเซเชฏเซเช…เชฒ เชฎเชถเซ€เชจ เช–เชฐเซ€เชฆเซ‹ เช›เซ‹, เชคเซเชฏเชพเชฐเซ‡ เชคเชฎเชพเชฐเซ‡ เชธเชฎเชœเชตเซเช‚ เชœเซ‹เชˆเช เช•เซ‡ เชคเชฎเชจเซ‡ เชธเช‚เชชเซ‚เชฐเซเชฃ เชชเซเชฐเซ‹เชธเซ‡เชธเชฐ เช•เซ‹เชฐ เชซเชพเชณเชตเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เชจเชฅเซ€, เชชเชฐเช‚เชคเซ เชคเซ‡เชจเชพ เชธเชฎเชฏเชจเซ‹ เชฎเชพเชคเซเชฐ เชเช• เช•เซเชตเซ‹เชŸเชพ เช›เซ‡. เช…เชจเซ‡ เชœเซเชฏเชพเชฐเซ‡ เชคเชฎเซ‡ เชคเซ‡เชจเซ‡ เช–เชพเชฒเซ€ เช•เชฐเซ‹ เช›เซ‹, เชคเซเชฏเชพเชฐเซ‡ เชชเซเชฐเซ‹เชธเซ‡เชธเชฐ เชคเชฎเชพเชฐเซ€ เชชเชพเชธเซ‡เชฅเซ€ เช›เซ€เชจเชตเซ€ เชฒเซ‡เชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡.

เช† เชฎเซ‡เชŸเซเชฐเชฟเช• เชคเชฎเชจเซ‡ เช†เชตเซ€ เช•เซเชทเชฃเซ‹เชจเซ‡ เชŸเซเชฐเซ…เช• เช•เชฐเชตเชพ เช…เชจเซ‡ เชจเชฟเชฐเซเชฃเชฏเซ‹ เชฒเซ‡เชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡. เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชถเซเช‚ เชตเชงเชพเชฐเซ‡ เชŸเซ‡เชฐเชฟเชซ เชฒเซ‡เชตเชพ เช…เชฅเชตเชพ เชชเซƒเชทเซเช เชญเซ‚เชฎเชฟ เช•เชพเชฐเซเชฏเซ‹ เช…เชจเซ‡ API เชตเชฟเชจเช‚เชคเซ€เช“เชจเซ€ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเชจเซ‡ เชตเชฟเชตเชฟเชง เชธเชฐเซเชตเชฐเซเชธ เชชเชฐ เชตเชฟเชคเชฐเชฟเชค เช•เชฐเชตเซ€ เชœเชฐเซ‚เชฐเซ€ เช›เซ‡?

IOPS + CPU iowait เชธเชฎเชฏ - เช•เซ‡เชŸเชฒเชพเช• เช•เชพเชฐเชฃเซ‹เชธเชฐ, เช˜เชฃเชพ เช•เซเชฒเชพเช‰เชก เชนเซ‹เชธเซเชŸเชฟเช‚เช—เซเชธ เชชเชฐเซเชฏเชพเชชเซเชค IOPS เชชเซเชฐเชฆเชพเชจ เชจ เช•เชฐเซ€เชจเซ‡ เชชเชพเชช เช•เชฐเซ‡ เช›เซ‡. เชตเชงเซเชฎเชพเช‚, เชจเซ€เชšเชพ IOPS เชธเชพเชฅเซ‡เชจเซเช‚ เชธเชฎเชฏเชชเชคเซเชฐเช• เชคเซ‡เชฎเชจเชพ เชฎเชพเชŸเซ‡ เชฆเชฒเซ€เชฒ เชจเชฅเซ€. เชคเซ‡เชฅเซ€, เชคเซ‡ CPU iowait เชเช•เชคเซเชฐเชฟเชค เช•เชฐเชตเชพ เชฏเซ‹เช—เซเชฏ เช›เซ‡. เช—เซเชฐเชพเชซเชจเซ€ เช† เชœเซ‹เชกเซ€ เชธเชพเชฅเซ‡ - เชจเซ€เชšเชพ IOPS เช…เชจเซ‡ เช‰เชšเซเชš I/O เชฐเชพเชน เชธเชพเชฅเซ‡ - เชคเชฎเซ‡ เชชเชนเซ‡เชฒเชพเชฅเซ€ เชœ เชนเซ‹เชธเซเชŸเชฟเช‚เช— เชธเชพเชฅเซ‡ เชตเชพเชค เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹ เช…เชจเซ‡ เชธเชฎเชธเซเชฏเชพ เชนเชฒ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹.

เช“เชชเชฐเซ‡เชŸเชฟเช‚เช— เชธเชฟเชธเซเชŸเชฎ

เช“เชชเชฐเซ‡เชŸเชฟเช‚เช— เชธเชฟเชธเซเชŸเชฎ เชฎเซ‡เชŸเซเชฐเชฟเช•เซเชธ:

  • % เชฎเชพเช‚ เช‰เชชเชฒเชฌเซเชง เชฎเซ‡เชฎเชฐเซ€เชจเซ‹ เชœเชฅเซเชฅเซ‹;
  • เชธเซเชตเซ‡เชช เชตเชชเชฐเชพเชถ เชชเซเชฐเชตเซƒเชคเซเชคเชฟ: vmstat swapin, swapout;
  • % เชฎเชพเช‚ เชซเชพเช‡เชฒ เชธเชฟเชธเซเชŸเชฎ เชชเชฐ เช‰เชชเชฒเชฌเซเชง เช‡เชจเซ‹เชกเซเชธ เช…เชจเซ‡ เช–เชพเชฒเซ€ เชœเช—เซเชฏเชพเชจเซ€ เชธเช‚เช–เซเชฏเชพ
  • เชธเชฐเซ‡เชฐเชพเชถ เชญเชพเชฐ;
  • เชฌเซ‡ เชฐเชพเชœเซเชฏเชฎเชพเช‚ เชœเซ‹เชกเชพเชฃเซ‹เชจเซ€ เชธเช‚เช–เซเชฏเชพ;
  • เช•เซ‹เชจเซเชŸเซเชฐเชพเช• เชŸเซ‡เชฌเชฒ เชชเซ‚เชฐเซเชฃเชคเชพ;
  • ss เชฏเซเชŸเชฟเชฒเชฟเชŸเซ€, iproute2 เชชเซ‡เช•เซ‡เชœเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชจเซ‡เชŸเชตเชฐเซเช•เชจเซ€ เช—เซเชฃเชตเชคเซเชคเชพเชจเซเช‚ เชจเชฟเชฐเซ€เช•เซเชทเชฃ เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡ - เชคเซ‡เชจเชพ เช†เช‰เชŸเชชเซเชŸเชฎเชพเช‚เชฅเซ€ RTT เช•เชจเซ‡เช•เซเชถเชจเซเชธเชจเซเช‚ เชธเซ‚เชšเช• เชฎเซ‡เชณเชตเซ‹ เช…เชจเซ‡ เชคเซ‡เชจเซ‡ เชกเซ‡เชธเซเชŸ เชชเซ‹เชฐเซเชŸ เชฆเซเชตเชพเชฐเชพ เชœเซ‚เชฅเชฌเชฆเซเชง เช•เชฐเซ‹.

เช‘เชชเชฐเซ‡เชŸเชฟเช‚เช— เชธเชฟเชธเซเชŸเชฎ เชธเซเชคเชฐเซ‡ เชชเชฃ เช…เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเช“ เชœเซ‡เชตเซ€ เชเชจเซเชŸเชฟเชŸเซ€ เช›เซ‡. เชธเชฟเชธเซเชŸเชฎเชฎเชพเช‚ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเช“เชจเชพ เชธเชฎเซ‚เชนเชจเซ‡ เช“เชณเช–เชตเซเช‚ เชฎเชนเชคเซเชตเชชเซ‚เชฐเซเชฃ เช›เซ‡ เชœเซ‡ เชคเซ‡เชจเชพ เชธเช‚เชšเชพเชฒเชจเชฎเชพเช‚ เชฎเชนเชคเซเชตเชชเซ‚เชฐเซเชฃ เชญเซ‚เชฎเชฟเช•เชพ เชญเชœเชตเซ‡ เช›เซ‡. เชœเซ‹, เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชคเชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เช˜เชฃเชพ pgpools เช›เซ‡, เชคเซ‹ เชคเชฎเชพเชฐเซ‡ เชคเซ‡ เชฆเชฐเซ‡เช• เชฎเชพเชŸเซ‡ เชฎเชพเชนเชฟเชคเซ€ เชเช•เชคเซเชฐเชฟเชค เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡.

เชฎเซ‡เชŸเซเชฐเชฟเช•เซเชธเชจเซ‹ เชธเชฎเซ‚เชน เชจเซ€เชšเซ‡ เชฎเซเชœเชฌ เช›เซ‡:

  • เชธเซ€.เชชเซ€. เชฏเซ;
  • เชฎเซ‡เชฎเชฐเซ€ เชฎเซเช–เซเชฏเชคเซเชตเซ‡ เชจเชฟเชตเชพเชธเซ€ เช›เซ‡;
  • IO - เชชเซเชฐเชพเชงเชพเชจเซเชฏ IOPS เชฎเชพเช‚;
  • เชซเชพเช‡เชฒเชเชซเชกเซ€ - เช“เชชเชจ เช…เชจเซ‡ เชฒเชฟเชฎเชฟเชŸ;
  • เชจเซ‹เช‚เชงเชชเชพเชคเซเชฐ เชชเซƒเชทเซเช  เชจเชฟเชทเซเชซเชณเชคเชพเช“ - เช† เชฐเซ€เชคเซ‡ เชคเชฎเซ‡ เชธเชฎเชœเซ€ เชถเช•เซ‹ เช›เซ‹ เช•เซ‡ เช•เชˆ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เชธเซเชตเซ‡เชช เชฅเชˆ เชฐเชนเซ€ เช›เซ‡.

เช…เชฎเซ‡ เชกเซ‹เช•เชฐเชฎเชพเช‚ เชคเชฎเชพเชฎ เชฎเซ‹เชจเชฟเชŸเชฐเชฟเช‚เช— เช—เซ‹เช เชตเซ€เช เช›เซ€เช, เช…เชจเซ‡ เช…เชฎเซ‡ เชฎเซ‡เชŸเซเชฐเชฟเช•เซเชธ เชกเซ‡เชŸเชพ เชเช•เชคเซเชฐเชฟเชค เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชธเชฒเชพเชนเช•เชพเชฐเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เช เช›เซ€เช. เช…เชจเซเชฏ เชฎเชถเซ€เชจเซ‹ เชชเชฐ เช…เชฎเซ‡ เชชเซเชฐเซ‹เชธเซ‡เชธ-เชเช•เซเชธเชชเซ‹เชฐเซเชŸเชฐเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เช เช›เซ€เช.

เชธเชฟเชธเซเชŸเชฎ เชธเซ‡เชตเชพเช“, เชธเซ‹เชซเซเชŸเชตเซ‡เชฐ เชธเซเชŸเซ‡เช•

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

เชธเชพเชฐเซเชตเชคเซเชฐเชฟเช• เชธเชฎเซ‚เชน เช›เซ‡:

  • เชตเชฟเชจเช‚เชคเซ€ เชฆเชฐ;
  • เชญเซ‚เชฒเซ‹เชจเซ€ เชธเช‚เช–เซเชฏเชพ;
  • เชตเชฟเชฒเช‚เชฌ
  • เชธเช‚เชคเซƒเชชเซเชคเชฟ

เช† เชธเซเชคเชฐ เชชเชฐ เชฆเซ‡เช–เชฐเซ‡เช–เชจเชพ เช…เชฎเชพเชฐเชพ เชธเซŒเชฅเซ€ เช†เช•เชฐเซเชทเช• เช‰เชฆเชพเชนเชฐเชฃเซ‹ Nginx เช…เชจเซ‡ PostgreSQL เช›เซ‡.

เช…เชฎเชพเชฐเซ€ เชธเชฟเชธเซเชŸเชฎเชฎเชพเช‚ เชธเซŒเชฅเซ€ เชตเชงเซ เชฒเซ‹เชก เชฅเชฏเซ‡เชฒ เชธเซ‡เชตเชพ เชกเซ‡เชŸเชพเชฌเซ‡เช เช›เซ‡. เชญเซ‚เชคเช•เชพเชณเชฎเชพเช‚, เชกเซ‡เชŸเชพเชฌเซ‡เช เชถเซเช‚ เช•เชฐเซ€ เชฐเชนเซเชฏเซเช‚ เชนเชคเซเช‚ เชคเซ‡ เชถเซ‹เชงเชตเชพเชฎเชพเช‚ เช…เชฎเชจเซ‡ เช˜เชฃเซ€เชตเชพเชฐ เชฎเซเชถเซเช•เซ‡เชฒเซ€ เชชเชกเชคเซ€ เชนเชคเซ€.

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

เช†เชŸเชฒเซ€ เชœ เชเชกเชฎเชฟเชจ เชœเชฐเซ‚เชฐ เช›เซ‡.

เช…เชฎเซ‡ เชตเชพเช‚เชšเชตเชพ เช…เชจเซ‡ เชฒเช–เชตเชพเชจเซ€ เชตเชฟเชจเช‚เชคเซ€เช“เชจเซ€ เชชเซเชฐเชตเซƒเชคเซเชคเชฟเชจเชพ เช—เซเชฐเชพเชซ เชฌเชจเชพเชตเซ€เช เช›เซ€เช:

เช…เชฎเซ‡ เชชเซเชฐเซ‹เชฎเชฟเชฅเชฟเชฏเชธ, เช•เซเชฒเชฟเช•เชนเชพเช‰เชธ เช…เชจเซ‡ ELK เชชเชฐ เชฎเซ‹เชจเชฟเชŸเชฐเชฟเช‚เช— เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชฌเชจเชพเชตเซเชฏเซเช‚
เช…เชฎเซ‡ เชชเซเชฐเซ‹เชฎเชฟเชฅเชฟเชฏเชธ, เช•เซเชฒเชฟเช•เชนเชพเช‰เชธ เช…เชจเซ‡ ELK เชชเชฐ เชฎเซ‹เชจเชฟเชŸเชฐเชฟเช‚เช— เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชฌเชจเชพเชตเซเชฏเซเช‚

เชฌเชงเซเช‚ เชธเชฐเชณ เช…เชจเซ‡ เชธเซเชชเชทเซเชŸ เช›เซ‡, เชฆเชฐเซ‡เช• เชตเชฟเชจเช‚เชคเซ€เชจเซ‹ เชชเซ‹เชคเชพเชจเซ‹ เชฐเช‚เช— เช›เซ‡.

เชเช• เชธเชฎเชพเชจ เช†เช•เชฐเซเชทเช• เช‰เชฆเชพเชนเชฐเชฃ Nginx เชฒเซ‹เช— เช›เซ‡. เชคเซ‡ เช†เชถเซเชšเชฐเซเชฏเชœเชจเช• เชจเชฅเซ€ เช•เซ‡ เชฅเซ‹เชกเชพ เชฒเซ‹เช•เซ‹ เชคเซ‡เชจเซเช‚ เชตเชฟเชถเซเชฒเซ‡เชทเชฃ เช•เชฐเซ‡ เช›เซ‡ เช…เชฅเชตเชพ เชคเซ‡เชจเซ‹ เช‰เชฒเซเชฒเซ‡เช– เชœเชธเซเชŸ-เชนเซ‡เชตเซเชเชจเซ€ เชธเซ‚เชšเชฟเชฎเชพเช‚ เช•เชฐเซ‡ เช›เซ‡. เชชเซเชฐเชฎเชพเชฃเชญเซ‚เชค เชซเซ‹เชฐเซเชฎเซ‡เชŸ เช–เซ‚เชฌ เชฎเชพเชนเชฟเชคเซ€เชชเซเชฐเชฆ เชจเชฅเซ€ เช…เชจเซ‡ เชคเซ‡เชจเซ‡ เชตเชฟเชธเซเชคเซƒเชค เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡.

เช…เช‚เช—เชค เชฐเซ€เชคเซ‡, เชฎเซ‡เช‚ request_time, upstream_response_time, body_bytes_sent, request_length, request_id เช‰เชฎเซ‡เชฐเซเชฏเซเช‚. เช…เชฎเซ‡ เชชเซเชฐเชคเชฟเชธเชพเชฆ เชธเชฎเชฏ เช…เชจเซ‡ เชญเซ‚เชฒเซ‹เชจเซ€ เชธเช‚เช–เซเชฏเชพเชจเซเช‚ เช†เชฏเซ‹เชœเชจ เช•เชฐเซ€เช เช›เซ€เช:

เช…เชฎเซ‡ เชชเซเชฐเซ‹เชฎเชฟเชฅเชฟเชฏเชธ, เช•เซเชฒเชฟเช•เชนเชพเช‰เชธ เช…เชจเซ‡ ELK เชชเชฐ เชฎเซ‹เชจเชฟเชŸเชฐเชฟเช‚เช— เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชฌเชจเชพเชตเซเชฏเซเช‚
เช…เชฎเซ‡ เชชเซเชฐเซ‹เชฎเชฟเชฅเชฟเชฏเชธ, เช•เซเชฒเชฟเช•เชนเชพเช‰เชธ เช…เชจเซ‡ ELK เชชเชฐ เชฎเซ‹เชจเชฟเชŸเชฐเชฟเช‚เช— เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชฌเชจเชพเชตเซเชฏเซเช‚

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

เชชเชฐเช‚เชคเซ เชเช• เชตเชงเซ เชธเชฎเชธเซเชฏเชพ เชฐเชนเซ‡ เช›เซ‡ - เช˜เชŸเชจเชพเชจเชพ เช•เชพเชฐเชฃเซ‹เชจเซ‡ เชเชกเชชเซ€ เชฆเซ‚เชฐ เช•เชฐเชตเชพเชจเซ€ เช–เชพเชคเชฐเซ€ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡.

เช˜เชŸเชจเชพ เช เชฐเชพเชต

เชธเชฎเชธเซเชฏเชพเชจเซ‡ เช“เชณเช–เชตเชพเชฅเซ€ เชฒเชˆเชจเซ‡ เช‰เช•เซ‡เชฒ เชฒเชพเชตเชตเชพ เชธเซเชงเซ€เชจเซ€ เชธเชฎเช—เซเชฐ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเชจเซ‡ เชธเช‚เช–เซเชฏเชพเชฌเช‚เชง เชชเช—เชฒเชพเช“เชฎเชพเช‚ เชตเชฟเชญเชพเชœเชฟเชค เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡:

  • เชธเชฎเชธเซเชฏเชพเชจเซ€ เช“เชณเช–;
  • เชซเชฐเชœ เชธเช‚เชšเชพเชฒเช•เชจเซ‡ เชธเซ‚เชšเชจเชพ;
  • เช˜เชŸเชจเชพเชจเซ‹ เชชเซเชฐเชคเชฟเชญเชพเชต;
  • เช•เชพเชฐเชฃเซ‹ เชฆเซ‚เชฐ.

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

เชšเชพเชฒเซ‹ เช•เชฒเซเชชเชจเชพ เช•เชฐเซ€เช เช•เซ‡ เชซเชฐเชœ เชชเชฐเชจเชพ เช…เชงเชฟเช•เชพเชฐเซ€เชจเซ‹ เชซเซ‹เชจ เชฐเชฃเช•เซเชฏเซ‹. เชคเซ‡ เชถเซเช‚ เช•เชฐเชถเซ‡? เชชเซเชฐเชถเซเชจเซ‹เชจเชพ เชœเชตเชพเชฌเซ‹ เชฎเชพเชŸเซ‡ เชœเซเช“ - เชถเซเช‚ เชคเซ‚เชŸเซ€ เช—เชฏเซเช‚, เช•เซเชฏเชพเช‚ เชคเซ‚เชŸเซ€ เช—เชฏเซเช‚, เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชชเซเชฐเชคเชฟเช•เซเชฐเชฟเชฏเชพ เช†เชชเชตเซ€? เช…เชฎเซ‡ เช† เชชเซเชฐเชถเซเชจเซ‹เชจเชพ เชœเชตเชพเชฌ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช†เชชเซ€เช เช›เซ€เช เชคเซ‡ เช…เชนเซ€เช‚ เช›เซ‡:

เช…เชฎเซ‡ เชชเซเชฐเซ‹เชฎเชฟเชฅเชฟเชฏเชธ, เช•เซเชฒเชฟเช•เชนเชพเช‰เชธ เช…เชจเซ‡ ELK เชชเชฐ เชฎเซ‹เชจเชฟเชŸเชฐเชฟเช‚เช— เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชฌเชจเชพเชตเซเชฏเซเช‚

เช…เชฎเซ‡ เชธเซ‚เชšเชจเชพเชจเชพ เชฒเช–เชพเชฃเชฎเชพเช‚ เช† เชฌเชงเซ€ เชฎเชพเชนเชฟเชคเซ€เชจเซ‡ เชธเชฐเชณ เชฐเซ€เชคเซ‡ เชธเชฎเชพเชตเซ€เช เช›เซ€เช, เชคเซ‡เชจเซ‡ เชตเชฟเช•เชฟ เชชเซƒเชทเซเช เชจเซ€ เชฒเชฟเช‚เช• เช†เชชเซ€เช เช›เซ€เช เชœเซ‡ เชตเชฐเซเชฃเชตเซ‡ เช›เซ‡ เช•เซ‡ เช† เชธเชฎเชธเซเชฏเชพเชจเซ‹ เชœเชตเชพเชฌ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช†เชชเชตเซ‹, เชคเซ‡เชจเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชนเชฒ เช•เชฐเชตเซ‹ เช…เชจเซ‡ เชคเซ‡เชจเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช†เช—เชณ เชตเชงเชพเชฐเชตเซ‹.

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

เชชเซ‹เชˆเชจเซเชŸ เชเช• เชฆเช‚เชชเชคเชฟ.

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

เชฌเซ€เชœเซเช‚, เช—เช‚เชญเซ€เชฐเชคเชพเชจเชพ เชธเซเชคเชฐเซ‹เชจเซ‹ เชฏเซ‹เช—เซเชฏ เชฐเซ€เชคเซ‡ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‹. เชฆเชฐเซ‡เช• เชญเชพเชทเชพเชจเซเช‚ เชชเซ‹เชคเชพเชจเซเช‚ เชงเซ‹เชฐเชฃ เชนเซ‹เชฏ เช›เซ‡. เชตเซเชฏเช•เซเชคเชฟเช—เชค เชฐเซ€เชคเซ‡, เชนเซเช‚ เชšเชพเชฐ เชธเซเชคเชฐเซ‹เชจเซ‡ เช…เชฒเช— เชชเชพเชกเซเช‚ เช›เซเช‚:

  1. เช•เซ‹เชˆ เชญเซ‚เชฒ เชจเชฅเซ€;
  2. เช—เซเชฐเชพเชนเช• เชฌเชพเชœเซ เชญเซ‚เชฒ;
  3. เชญเซ‚เชฒ เช†เชชเชฃเชพ เชชเช•เซเชทเซ‡ เช›เซ‡, เช†เชชเชฃเซ‡ เชชเซˆเชธเชพ เช—เซเชฎเชพเชตเชคเชพ เชจเชฅเซ€, เช†เชชเชฃเซ‡ เชœเซ‹เช–เชฎ เชธเชนเชจ เช•เชฐเชคเชพ เชจเชฅเซ€;
  4. เชญเซ‚เชฒ เช†เชชเชฃเชพ เชชเช•เซเชทเซ‡ เช›เซ‡, เช†เชชเชฃเซ‡ เชชเซˆเชธเชพ เช—เซเชฎเชพเชตเซ€เช เช›เซ€เช.

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

เชœเซ‹ เชคเชฎเชพเชฐเซ‹ เช†เช–เซ‹ เชตเซเชฏเชตเชธเชพเชฏ เชฌเซเชฐเชพเช‰เชเชฐเชฎเชพเช‚ เชเช• เชฌเชŸเชจ เช›เซ‡, เชคเซ‹ เชคเชฎเชพเชฐเซ‡ เชฎเซ‹เชจเชฟเชŸเชฐ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡ เช•เซ‡ เชคเซ‡ เช•เซเชฒเชฟเช• เช•เชฐเซ‡ เช›เซ‡ เช…เชจเซ‡ เชฏเซ‹เช—เซเชฏ เชฐเซ€เชคเซ‡ เช•เชพเชฐเซเชฏ เช•เชฐเซ‡ เช›เซ‡ เช•เซ‡ เช•เซ‡เชฎ. เชฌเชพเช•เซ€เชจเชพ เชฌเชงเชพเชฎเชพเช‚ เชตเชพเช‚เชงเซ‹ เชจเชฅเซ€.

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

เช‘เชชเชฐเซ‡เชŸเชฟเช‚เช— เชธเชฟเชธเซเชŸเชฎ เชฎเซ‡เชŸเซเชฐเชฟเช•เซเชธ เช…เชฒเชฌเชคเซเชค เชฎเชนเชคเซเชตเชชเซ‚เชฐเซเชฃ เช›เซ‡, เชชเชฐเช‚เชคเซ เชตเซเชฏเชตเชธเชพเชฏเชจเซ‡ เชคเซ‡เชฎเชพเช‚ เชฐเชธ เชจเชฅเซ€, เช…เชฎเชจเซ‡ เชคเซ‡เชจเชพ เชฎเชพเชŸเซ‡ เชšเซ‚เช•เชตเชฃเซ€ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเชคเซ€ เชจเชฅเซ€.

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

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹