ΠΠ°Π·Π²Π°ΠΌ ΡΠ΅ ΠΠ½ΡΠΎΠ½ ΠΠ°Π΄Π΅ΡΠΈΠ½. Π Π°Π±ΠΎΡΡ Π² Π¦Π΅Π½ΡΡΡΠ° Π·Π° Π²ΠΈΡΠΎΠΊΠΈ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΈ ΡΠ΅ Π·Π°Π½ΠΈΠΌΠ°Π²Π°ΠΌ ΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠ½Π° Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΈΡ. ΠΡΠ΅Π΄ΠΈ ΠΌΠ΅ΡΠ΅Ρ ΠΏΡΠΈΠΊΠ»ΡΡΠΈ Π½Π°ΡΠ°ΡΠ° ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΡ, Π½Π° ΠΊΠΎΡΡΠΎ ΡΠΏΠΎΠ΄Π΅Π»ΠΈΡ ΠΌΠ΅ Π½Π°ΡΡΡΠΏΠ°Π½ΠΈΡ ΠΎΠΏΠΈΡ Ρ ΠΠ’ ΠΎΠ±ΡΠ½ΠΎΡΡΡΠ° Π½Π° Π½Π°ΡΠΈΡ Π³ΡΠ°Π΄. ΠΠΎΠ²ΠΎΡΠΈΡ Π·Π° ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ Π½Π° ΡΠ΅Π± ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠ°ΡΠ΅ΡΠΈΠ°Π»ΡΡ Π΅ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π·Π° ΠΌΠ»Π°Π΄ΡΠΈ ΠΈΠ»ΠΈ ΡΡΠ΅Π΄Π½ΠΈ Π½ΠΈΠ²Π°, ΠΊΠΎΠΈΡΠΎ Π½Π΅ ΡΠ° ΠΈΠ·Π³ΡΠ°Π΄ΠΈΠ»ΠΈ ΡΠΎΠ·ΠΈ ΠΏΡΠΎΡΠ΅Ρ ΠΎΡ Π½ΡΠ»Π°ΡΠ°.
ΠΡΠ°ΠΉΡΠ³ΡΠ»Π½ΠΈΡΡ ΠΊΠ°ΠΌΡΠΊ Π² ΠΎΡΠ½ΠΎΠ²Π°ΡΠ° Π½Π° Π²ΡΡΠΊΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ Π΅ ΡΠ΅ΡΠ°Π²Π°Π½Π΅ΡΠΎ Π½Π° Π±ΠΈΠ·Π½Π΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ. ΠΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ΡΡ Π·Π°ΡΠ°Π΄ΠΈ ΡΠ°ΠΌΠΈΡ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ Π½Π΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ²Π° Π½ΠΈΠΊΠΎΠ³ΠΎ. ΠΠ°ΠΊΠ²ΠΎ ΠΈΡΠΊΠ° Π±ΠΈΠ·Π½Π΅ΡΡΡ? Π’Π°ΠΊΠ° ΡΠ΅ Π²ΡΠΈΡΠΊΠΎ ΡΠ°Π±ΠΎΡΠΈ Π±ΡΡΠ·ΠΎ ΠΈ Π±Π΅Π· Π³ΡΠ΅ΡΠΊΠΈ. ΠΠΈΠ·Π½Π΅ΡΡΡ ΠΈΡΠΊΠ° Π΄Π° Π±ΡΠ΄Π΅ ΠΏΡΠΎΠ°ΠΊΡΠΈΠ²Π΅Π½, ΡΠ°ΠΊΠ° ΡΠ΅ Π½ΠΈΠ΅ ΡΠ°ΠΌΠΈ Π΄Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ°ΠΌΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈΡΠ΅ Π² ΡΡΠ»ΡΠ³Π°ΡΠ° ΠΈ Π΄Π° Π³ΠΈ ΠΎΡΡΡΡΠ°Π½ΠΈΠΌ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉ-Π±ΡΡΠ·ΠΎ. Π’ΠΎΠ²Π° Π²ΡΡΡΠ½ΠΎΡΡ ΡΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ΡΠ°Π²Π°Ρ ΠΏΡΠ΅Π· ΡΡΠ»Π°ΡΠ° ΠΌΠΈΠ½Π°Π»Π°ΡΠ° Π³ΠΎΠ΄ΠΈΠ½Π° ΠΏΠΎ ΠΏΡΠΎΠ΅ΠΊΡ Π½Π° Π΅Π΄ΠΈΠ½ Π½Π°Ρ ΠΊΠ»ΠΈΠ΅Π½Ρ.
Π ΠΏΡΠΎΠ΅ΠΊΡΠ΅
ΠΡΠΎΠ΅ΠΊΡΡΡ Π΅ Π΅Π΄Π½Π° ΠΎΡ Π½Π°ΠΉ-Π³ΠΎΠ»Π΅ΠΌΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ Π·Π° Π»ΠΎΡΠ»Π½ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ Π² ΡΡΡΠ°Π½Π°ΡΠ°. ΠΠΈΠ΅ ΠΏΠΎΠΌΠ°Π³Π°ΠΌΠ΅ Π½Π° ΡΡΡΠ³ΠΎΠ²ΡΠΊΠΈΡΠ΅ Π²Π΅ΡΠΈΠ³ΠΈ Π΄Π° ΡΠ²Π΅Π»ΠΈΡΠ°Ρ ΡΠ΅ΡΡΠΎΡΠ°ΡΠ° Π½Π° ΠΏΡΠΎΠ΄Π°ΠΆΠ±ΠΈΡΠ΅ ΡΡΠ΅Π· ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΌΠ°ΡΠΊΠ΅ΡΠΈΠ½Π³ΠΎΠ²ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ ΠΊΠ°ΡΠΎ Π±ΠΎΠ½ΡΡ ΠΊΠ°ΡΡΠΈ. ΠΠ±ΡΠΎ ΠΏΡΠΎΠ΅ΠΊΡΡΡ Π²ΠΊΠ»ΡΡΠ²Π° 14 ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΠΈΡΠΎ ΡΠ°Π±ΠΎΡΡΡ Π½Π° Π΄Π΅ΡΠ΅Ρ ΡΡΡΠ²ΡΡΠ°.
ΠΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠ° Π½Π° ΠΈΠ½ΡΠ΅ΡΠ²ΡΡΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡΠ°ΡΠ½ΠΎ Π·Π°Π±Π΅Π»ΡΠ·Π°Ρ , ΡΠ΅ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΈΡΠ΅ Π½Π΅ Π²ΠΈΠ½Π°Π³ΠΈ ΠΏΠΎΠ΄Ρ ΠΎΠΆΠ΄Π°Ρ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ ΠΊΡΠΌ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° Π½Π° ΡΠ΅Π± ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡΠ°: ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡ ΡΡΡ Π²ΡΠ΅ ΠΎΡΠ΅ ΡΠ΅ ΡΠΎΠΊΡΡΠΈΡΠ°Ρ Π²ΡΡΡ Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈΡΠ΅ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° ΠΈ ΠΎΡ Π²ΡΠ΅ΠΌΠ΅ Π½Π° Π²ΡΠ΅ΠΌΠ΅ Π½Π°Π±Π»ΡΠ΄Π°Π²Π°Ρ ΡΡΠ»ΡΠ³ΠΈΡΠ΅.
Π ΠΌΠΎΡ ΡΠ»ΡΡΠ°ΠΉ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΏΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π° Π±Π΅ΡΠ΅ Π±Π°Π·ΠΈΡΠ°Π½Π° Π½Π° Icinga. Π’ΠΎΠ²Π° Π½Π΅ ΡΠ΅ΡΠΈ Π³ΠΎΡΠ½ΠΈΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΠΏΠΎ Π½ΠΈΠΊΠ°ΠΊΡΠ² Π½Π°ΡΠΈΠ½. Π§Π΅ΡΡΠΎ ΡΠ°ΠΌΠΈΡΡ ΠΊΠ»ΠΈΠ΅Π½Ρ Π½ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠΈΡΠ° Π·Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈΡΠ΅ ΠΈ ΠΏΠΎ-ΡΠ΅ΡΡΠΎ ΠΏΡΠΎΡΡΠΎ Π½Π΅ ΡΠ°Π·ΠΏΠΎΠ»Π°Π³Π°ΠΌΠ΅ Ρ Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ Π΄Π°Π½Π½ΠΈ, Π·Π° Π΄Π° ΡΡΠΈΠ³Π½Π΅ΠΌ Π΄ΠΎ Π΄ΡΠ½ΠΎΡΠΎ Π½Π° ΠΏΡΠΈΡΠΈΠ½Π°ΡΠ°.
ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π° ΠΈΠΌΠ°ΡΠ΅ ΡΡΠ½ΠΎ ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π·Π° Π±Π΅Π·ΡΠΌΠΈΡΠ»ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΠΎ-Π½Π°ΡΠ°ΡΡΡΠ½ΠΎΡΠΎ ΠΌΡ ΡΠ°Π·Π²ΠΈΡΠΈΠ΅. ΠΠΈΡΠ»Ρ, ΡΠ΅ ΡΠ΅Π·ΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ° Π·Π°ΠΏΠΎΠ·Π½Π°ΡΠΈ Ρ Icinga, ΡΠ΅ ΠΌΠ΅ ΡΠ°Π·Π±Π΅ΡΠ°Ρ. ΠΠ°ΡΠΎΠ²Π° ΡΠ΅ΡΠΈΡ ΠΌΠ΅ Π½Π°ΠΏΡΠ»Π½ΠΎ Π΄Π° ΠΏΡΠ΅ΡΠ°Π±ΠΎΡΠΈΠΌ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ΅Π± ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡΠ° Π·Π° ΠΏΡΠΎΠ΅ΠΊΡΠ°.
ΠΡΠΎΠΌΠ΅ΡΠ΅ΠΉ
ΠΠ·Π±ΡΠ°Ρ ΠΌΠ΅ Prometheus Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° ΡΡΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΠΈ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Ρ:
- ΠΠ³ΡΠΎΠΌΠ΅Π½ Π±ΡΠΎΠΉ Π½Π°Π»ΠΈΡΠ½ΠΈ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ. Π Π½Π°ΡΠΈΡ ΡΠ»ΡΡΠ°ΠΉ ΡΠ΅ ΡΠ° 60 Ρ ΠΈΠ»ΡΠ΄ΠΈ. Π Π°Π·Π±ΠΈΡΠ° ΡΠ΅, Π·Π°ΡΠ»ΡΠΆΠ°Π²Π° Π΄Π° ΡΠ΅ ΠΎΡΠ±Π΅Π»Π΅ΠΆΠΈ, ΡΠ΅ Π½ΠΈΠ΅ Π½Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΠΏΠΎ-Π³ΠΎΠ»ΡΠΌΠ°ΡΠ° ΡΠ°ΡΡ ΠΎΡ ΡΡΡ (Π²Π΅ΡΠΎΡΡΠ½ΠΎ ΠΎΠΊΠΎΠ»ΠΎ 95%). ΠΡ Π΄ΡΡΠ³Π° ΡΡΡΠ°Π½Π°, Π²ΡΠΈΡΠΊΠΈ ΡΠ΅ ΡΠ° ΡΡΠ°Π²Π½ΠΈΡΠ΅Π»Π½ΠΎ Π΅Π²ΡΠΈΠ½ΠΈ. ΠΠ° Π½Π°Ρ ΡΠΎΠ²Π° Π΅ Π΄ΡΡΠ³Π°ΡΠ° ΠΊΡΠ°ΠΉΠ½ΠΎΡΡ Π² ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Ρ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π°ΡΠ° ΠΏΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π° Icinga. Π Π½Π΅Π³ΠΎ Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ΡΠΎ Π½Π° ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ Π±Π΅ΡΠ΅ ΠΎΡΠΎΠ±Π΅Π½Π° Π±ΠΎΠ»ΠΊΠ°: ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°ΡΠΈΡΠ΅ Π±ΡΡ Π° ΡΠΊΡΠΏΠΈ (ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ΡΠ΅ ΠΈΠ·Ρ ΠΎΠ΄Π½ΠΈΡ ΠΊΠΎΠ΄ Π½Π° Π²ΡΠ΅ΠΊΠΈ ΠΏΠ»ΡΠ³ΠΈΠ½). ΠΡΠ΅ΠΊΠΈ ΠΏΠ»ΡΠ³ΠΈΠ½ Π±Π΅ΡΠ΅ ΡΠΊΡΠΈΠΏΡ Π² Bash ΠΈΠ»ΠΈ Python, ΡΠΈΠ΅ΡΠΎ ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π΅ ΡΠΊΡΠΏΠΎ ΠΎΡ Π³Π»Π΅Π΄Π½Π° ΡΠΎΡΠΊΠ° Π½Π° ΠΈΠ·ΡΠ°Π·Ρ ΠΎΠ΄Π²Π°Π½ΠΈΡΠ΅ ΡΠ΅ΡΡΡΡΠΈ.
- Π’Π°Π·ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΊΠΎΠ½ΡΡΠΌΠΈΡΠ° ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»Π½ΠΎ ΠΌΠ°Π»ΠΊΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ΅ΡΡΡΡΠΈ. 600 MB RAM, 15% ΠΎΡ Π΅Π΄Π½ΠΎ ΡΠ΄ΡΠΎ ββΠΈ Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π΄ΡΠ·ΠΈΠ½ΠΈ IOPS ΡΠ° Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΈ Π·Π° Π²ΡΠΈΡΠΊΠΈ Π½Π°ΡΠΈ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ. Π Π°Π·Π±ΠΈΡΠ° ΡΠ΅, ΡΡΡΠ±Π²Π° Π΄Π° ΡΡΠ°ΡΡΠΈΡΠ°ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ Π·Π° ΠΈΠ·Π½ΠΎΡ Π½Π° ΠΌΠ΅ΡΡΠΈΠΊΠΈ, Π½ΠΎ Π²ΡΠΈΡΠΊΠΈ ΡΠ΅ ΡΠ° Π½Π°ΠΏΠΈΡΠ°Π½ΠΈ Π½Π° Go ΠΈ ΡΡΡΠΎ Π½Π΅ ΡΠ° ΠΌΠ½ΠΎΠ³ΠΎ Π³Π»Π°Π΄Π½ΠΈ Π·Π° Π΅Π½Π΅ΡΠ³ΠΈΡ. ΠΠ΅ ΠΌΠΈΡΠ»Ρ, ΡΠ΅ Π² ΡΡΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΈΡΠ΅ ΡΠ΅Π°Π»Π½ΠΎΡΡΠΈ ΡΠΎΠ²Π° Π΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌ.
- ΠΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΌΠΈΠ³ΡΠΈΡΠ°Π½Π΅ ΠΊΡΠΌ Kubernetes. ΠΠΌΠ°ΠΉΠΊΠΈ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ ΠΏΠ»Π°Π½ΠΎΠ²Π΅ΡΠ΅ Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠ°, ΠΈΠ·Π±ΠΎΡΡΡ Π΅ ΠΎΡΠ΅Π²ΠΈΠ΄Π΅Π½.
ELK
ΠΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π° Π½Π΅ ΡΡΠ±ΠΈΡΠ°Ρ ΠΌΠ΅ ΠΈ Π½Π΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π°Ρ ΠΌΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅. ΠΠ΅Π΄ΠΎΡΡΠ°ΡΡΡΠΈΡΠ΅ ΡΠ° ΡΡΠ½ΠΈ Π½Π° Π²ΡΠΈΡΠΊΠΈ. ΠΠ·Π±ΡΠ°Ρ ΠΌΠ΅ ELK, Π·Π°ΡΠΎΡΠΎ Π²Π΅ΡΠ΅ ΠΈΠΌΠ°Ρ ΠΌΠ΅ ΠΎΠΏΠΈΡ Ρ ΡΠ°Π·ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°. Π’Π°ΠΌ ΡΡΡ ΡΠ°Π½ΡΠ²Π°ΠΌΠ΅ ΡΠ°ΠΌΠΎ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΡΠ½ΠΎΠ²Π½ΠΈΡΠ΅ ΠΊΡΠΈΡΠ΅ΡΠΈΠΈ Π·Π° ΠΈΠ·Π±ΠΎΡ Π±ΡΡ Π° ΠΏΡΠ»Π½ΠΎΡΠ΅ΠΊΡΡΠΎΠ²ΠΎ ΡΡΡΡΠ΅Π½Π΅ ΠΈ Π½Π΅Π³ΠΎΠ²Π°ΡΠ° ΡΠΊΠΎΡΠΎΡΡ.
Π‘Π»ΠΈΠΊΡ Π°ΡΡ
ΠΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΎ ΠΈΠ·Π±ΠΎΡΡΡ ΠΏΠ°Π΄Π½Π° Π²ΡΡΡ Ρ InfluxDB. ΠΡΡΠ·Π½Π°Ρ ΠΌΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡΠ° Π΄Π° ΡΡΠ±ΠΈΡΠ°ΠΌΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π½Π° Nginx, ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΈ ΠΎΡ pg_stat_statements ΠΈ Π΄Π° ΡΡΡ ΡΠ°Π½ΡΠ²Π°ΠΌΠ΅ ΠΈΡΡΠΎΡΠΈΡΠ΅ΡΠΊΠΈ Π΄Π°Π½Π½ΠΈ Π½Π° Prometheus. Influx Π½Π΅ Π½ΠΈ Ρ Π°ΡΠ΅ΡΠ°, Π·Π°ΡΠΎΡΠΎ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ½ΠΎ Π·Π°ΠΏΠΎΡΠ½Π° Π΄Π° ΠΊΠΎΠ½ΡΡΠΌΠΈΡΠ° Π³ΠΎΠ»ΡΠΌΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠ°ΠΌΠ΅Ρ ΠΈ Π΄Π° ΡΠ΅ ΡΡΠΈΠ²Π°. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π° ΠΈΡΠΊΠ°Ρ Π΄Π° Π³ΡΡΠΏΠΈΡΠ°ΠΌ Π·Π°ΡΠ²ΠΊΠΈ ΠΏΠΎ remote_addr, Π½ΠΎ Π³ΡΡΠΏΠΈΡΠ°Π½Π΅ΡΠΎ Π² ΡΠ°Π·ΠΈ Π‘Π£ΠΠ Π΅ ΡΠ°ΠΌΠΎ ΠΏΠΎ ΡΠ°Π³ΠΎΠ²Π΅. Π’Π°Π³ΠΎΠ²Π΅ΡΠ΅ ΡΠ° ΡΠΊΡΠΏΠΈ (ΠΏΠ°ΠΌΠ΅Ρ), Π±ΡΠΎΡΡ ΠΈΠΌ Π΅ ΡΡΠ»ΠΎΠ²Π½ΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½.
ΠΠ°ΠΏΠΎΡΠ½Π°Ρ ΠΌΠ΅ ΡΡΡΡΠ΅Π½Π΅ΡΠΎ ΠΎΡΠ½ΠΎΠ²ΠΎ. ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ° Π±Π΅ΡΠ΅ Π°Π½Π°Π»ΠΈΡΠΈΡΠ½Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½Π° ΠΊΠΎΠ½ΡΡΠΌΠ°ΡΠΈΡ Π½Π° ΡΠ΅ΡΡΡΡΠΈ, Π·Π° ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°Π½Π΅ Ρ ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ Π½Π° Π΄ΠΈΡΠΊ.
Clickhouse ΠΎΡΠ³ΠΎΠ²Π°ΡΡ Π½Π° Π²ΡΠΈΡΠΊΠΈ ΡΠ΅Π·ΠΈ ΠΊΡΠΈΡΠ΅ΡΠΈΠΈ ΠΈ Π½ΠΈΠΊΠΎΠ³Π° Π½Π΅ ΡΠΌΠ΅ ΡΡΠΆΠ°Π»ΡΠ²Π°Π»ΠΈ Π·Π° ΠΈΠ·Π±ΠΎΡΠ° ΡΠΈ. ΠΠΈΠ΅ Π½Π΅ Π·Π°ΠΏΠΈΡΠ²Π°ΠΌΠ΅ Π½ΠΈΠΊΠ°ΠΊΠ²ΠΈ ΠΈΠ·Π²ΡΠ½ΡΠ΅Π΄Π½ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° Π΄Π°Π½Π½ΠΈ Π² Π½Π΅Π³ΠΎ (Π±ΡΠΎΡΡ Π½Π° Π²ΠΌΡΠΊΠ²Π°Π½ΠΈΡΡΠ° Π΅ ΡΠ°ΠΌΠΎ ΠΎΠΊΠΎΠ»ΠΎ ΠΏΠ΅Ρ Ρ ΠΈΠ»ΡΠ΄ΠΈ Π½Π° ΠΌΠΈΠ½ΡΡΠ°).
NewRelic
NewRelic ΠΈΡΡΠΎΡΠΈΡΠ΅ΡΠΊΠΈ Π΅ Ρ Π½Π°Ρ, Π·Π°ΡΠΎΡΠΎ ΡΠΎΠ²Π° Π΅ ΠΈΠ·Π±ΠΎΡΡΡ Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠ°. ΠΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Π³ΠΎ ΠΊΠ°ΡΠΎ APM.
Zabbix
ΠΠΈΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Zabbix ΠΈΠ·ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ Π·Π° Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ΅ΡΠ½Π°ΡΠ° ΠΊΡΡΠΈΡ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ API.
ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° ΠΏΠΎΠ΄Ρ ΠΎΠ΄ Π·Π° ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³
ΠΡΠΊΠ°Ρ ΠΌΠ΅ Π΄Π° Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠ°ΠΌΠ΅ Π·Π°Π΄Π°ΡΠ°ΡΠ° ΠΈ ΠΏΠΎ ΡΠΎΠ·ΠΈ Π½Π°ΡΠΈΠ½ Π΄Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠΈΠ·ΠΈΡΠ°ΠΌΠ΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π° ΠΊΡΠΌ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π°.
ΠΠ° Π΄Π° Π½Π°ΠΏΡΠ°Π²Ρ ΡΠΎΠ²Π°, ΡΠ°Π·Π΄Π΅Π»ΠΈΡ Π½Π°ΡΠ°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Π½Π° ΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ Π½ΠΈΠ²Π°:
- Ρ Π°ΡΠ΄ΡΠ΅Ρ ΠΈ VMS;
- ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°;
- ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ ΡΡΠ»ΡΠ³ΠΈ, ΡΠΎΡΡΡΠ΅ΡΠ΅Π½ ΡΡΠ΅ΠΊ;
- ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅;
- Π±ΠΈΠ·Π½Π΅Ρ Π»ΠΎΠ³ΠΈΠΊΠ°.
ΠΠ°ΡΠΎ ΡΠΎΠ·ΠΈ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ Π΅ ΡΠ΄ΠΎΠ±Π΅Π½:
- Π·Π½Π°Π΅ΠΌ ΠΊΠΎΠΉ Π΅ ΠΎΡΠ³ΠΎΠ²ΠΎΡΠ΅Π½ Π·Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° Π²ΡΡΠΊΠΎ Π½ΠΈΠ²ΠΎ ΠΈ Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° ΡΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΈΠ·ΠΏΡΠ°ΡΠ°ΠΌΠ΅ ΡΠΈΠ³Π½Π°Π»ΠΈ;
- ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΡΡΡΡΠΊΡΡΡΠ°ΡΠ°, ΠΊΠΎΠ³Π°ΡΠΎ ΠΏΠΎΡΠΈΡΠΊΠ°ΠΌΠ΅ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ - Π±ΠΈ Π±ΠΈΠ»ΠΎ ΡΡΡΠ°Π½Π½ΠΎ Π΄Π° ΠΈΠ·ΠΏΡΠ°ΡΠΈΠΌ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ Π·Π° Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡ Π½Π° Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ, ΠΊΠΎΠ³Π°ΡΠΎ Π²ΠΈΡΡΡΠ°Π»Π½Π°ΡΠ° ΠΌΠ°ΡΠΈΠ½Π° ΠΊΠ°ΡΠΎ ΡΡΠ»ΠΎ Π΅ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½Π°.
Π’ΡΠΉ ΠΊΠ°ΡΠΎ Π½Π°ΡΠ°ΡΠ° Π·Π°Π΄Π°ΡΠ° Π΅ Π΄Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ°ΠΌΠ΅ Π½Π°ΡΡΡΠ΅Π½ΠΈΡ Π² ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°, ΡΡΡΠ±Π²Π° Π½Π° Π²ΡΡΠΊΠΎ Π½ΠΈΠ²ΠΎ Π΄Π° ΠΏΠΎΠ΄ΡΠ΅ΡΡΠ°Π΅ΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ Π½Π°Π±ΠΎΡ ΠΎΡ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ, Π½Π° ΠΊΠΎΠΈΡΠΎ ΡΠΈ ΡΡΡΡΠ²Π° Π΄Π° ΠΎΠ±ΡΡΠ½Π΅ΠΌ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΠΊΠΎΠ³Π°ΡΠΎ ΠΏΠΈΡΠ΅ΠΌ ΠΏΡΠ°Π²ΠΈΠ»Π° Π·Π° ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅. Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° Π½Π΅ΠΊΠ° ΠΏΡΠ΅ΠΌΠΈΠ½Π΅ΠΌ ΠΏΡΠ΅Π· Π½ΠΈΠ²Π°ΡΠ° βVMSβ, βΠΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°β ΠΈ βΠ‘ΠΈΡΡΠ΅ΠΌΠ½ΠΈ ΡΡΠ»ΡΠ³ΠΈ, ΡΠΎΡΡΡΠ΅ΡΠ΅Π½ ΡΡΠ΅ΠΊβ.
ΠΠΈΡΡΡΠ°Π»Π½ΠΈ ΠΌΠ°ΡΠΈΠ½ΠΈ
Π₯ΠΎΡΡΠΈΠ½Π³ΡΡ Π½ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ ΠΏΡΠΎΡΠ΅ΡΠΎΡ, Π΄ΠΈΡΠΊ, ΠΏΠ°ΠΌΠ΅Ρ ΠΈ ΠΌΡΠ΅ΠΆΠ°. Π Ρ ΠΏΡΡΠ²ΠΈΡΠ΅ Π΄Π²Π΅ ΠΈΠΌΠ°Ρ ΠΌΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ. Π ΡΠ°ΠΊΠ°, ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈΡΠ΅:
CPU stolen time - ΠΊΠΎΠ³Π°ΡΠΎ ΠΊΡΠΏΡΠ²Π°ΡΠ΅ Π²ΠΈΡΡΡΠ°Π»Π½Π° ΠΌΠ°ΡΠΈΠ½Π° Π½Π° Amazon (t2.micro, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ), ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΡΠ΅, ΡΠ΅ Π½Π΅ Π²ΠΈ Π΅ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ ΡΡΠ»ΠΎ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ½ΠΎ ΡΠ΄ΡΠΎ, Π° ΡΠ°ΠΌΠΎ ΠΊΠ²ΠΎΡΠ° ΠΎΡ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ ΠΌΡ. Π ΠΊΠ°ΡΠΎ Π³ΠΎ ΠΈΠ·ΡΠΎΡΠΈΡ ΡΠ΅ ΡΠΈ Π³ΠΎ Π²Π·Π΅ΠΌΠ°Ρ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ°.
Π’ΠΎΠ·ΠΈ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π» Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°ΡΠ΅ ΡΠ°ΠΊΠΈΠ²Π° ΠΌΠΎΠΌΠ΅Π½ΡΠΈ ΠΈ Π΄Π° Π²Π·Π΅ΠΌΠ°ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π»ΠΈ Π΅ Π΄Π° Π²Π·Π΅ΠΌΠ΅ΡΠ΅ ΠΏΠΎ-Π²ΠΈΡΠΎΠΊΠ° ΡΠ°ΡΠΈΡΠ° ΠΈΠ»ΠΈ Π΄Π° ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° ΡΠΎΠ½ΠΎΠ²ΠΈ Π·Π°Π΄Π°ΡΠΈ ΠΈ API Π·Π°ΡΠ²ΠΊΠΈ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΡΡΠ²ΡΡΠΈ?
IOPS + CPU iowait time - ΠΏΠΎ Π½ΡΠΊΠ°ΠΊΠ²Π° ΠΏΡΠΈΡΠΈΠ½Π° ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π»Π°ΡΠ½ΠΈ Ρ ΠΎΡΡΠΈΠ½Π³ΠΈ Π³ΡΠ΅ΡΠ°Ρ, ΠΊΠ°ΡΠΎ Π½Π΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΡ Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ IOPS. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π° Π³ΡΠ°ΡΠΈΠΊ Ρ Π½ΠΈΡΡΠΊ IOPS Π½Π΅ Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ Π·Π° ΡΡΡ . Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎ ΡΠΈ ΡΡΡΡΠ²Π° Π΄Π° ΡΡΠ±ΠΈΡΠ°ΡΠ΅ CPU iowait. Π‘ ΡΠ°Π·ΠΈ Π΄Π²ΠΎΠΉΠΊΠ° Π³ΡΠ°ΡΠΈΠΊΠΈ - Ρ Π½ΠΈΡΠΊΠΈ IOPS ΠΈ Π²ΠΈΡΠΎΠΊΠΎ I/O ΡΠ°ΠΊΠ°Π½Π΅ - Π²Π΅ΡΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π³ΠΎΠ²ΠΎΡΠΈΡΠ΅ Ρ Ρ ΠΎΡΡΠΈΠ½Π³Π° ΠΈ Π΄Π° ΡΠ°Π·ΡΠ΅ΡΠΈΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°.
ΠΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°
ΠΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°:
- ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π½Π°Π»ΠΈΡΠ½Π° ΠΏΠ°ΠΌΠ΅Ρ Π² %;
- Π΄Π΅ΠΉΠ½ΠΎΡΡ ΠΏΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΡΠ°ΠΏ: vmstat swapin, swapout;
- Π±ΡΠΎΠΉ Π½Π°Π»ΠΈΡΠ½ΠΈ inodes ΠΈ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎ ΠΌΡΡΡΠΎ Π²ΡΠ² ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Π² %
- ΡΡΠ΅Π΄Π½ΠΎ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅;
- Π±ΡΠΎΠΉ Π²ΡΡΠ·ΠΊΠΈ Π² ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ tw;
- conntrack ΠΏΡΠ»Π½ΠΎΡΠ° Π½Π° ΠΌΠ°ΡΠ°ΡΠ°;
- ΠΠ°ΡΠ΅ΡΡΠ²ΠΎΡΠΎ Π½Π° ΠΌΡΠ΅ΠΆΠ°ΡΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π½Π°Π±Π»ΡΠ΄Π°Π²Π° Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΏΠΎΠΌΠΎΡΠ½Π°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ° ss, ΠΏΠ°ΠΊΠ΅ΡΠ° iproute2 - Π²Π·Π΅ΠΌΠ΅ΡΠ΅ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡ Π·Π° RTT Π²ΡΡΠ·ΠΊΠΈ ΠΎΡ Π½Π΅ΠΉΠ½ΠΈΡ ΠΈΠ·Ρ ΠΎΠ΄ ΠΈ Π³ΠΎ Π³ΡΡΠΏΠΈΡΠ°ΠΉΡΠ΅ ΠΏΠΎ ΡΠ΅Π»Π΅Π²ΠΈ ΠΏΠΎΡΡ.
Π‘ΡΡΠΎ ΡΠ°ΠΊΠ° Π½Π° Π½ΠΈΠ²ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ° ΠΈΠΌΠ°ΠΌΠ΅ ΡΠ°ΠΊΠΎΠ²Π° ΠΎΠ±ΡΠ°Π·ΡΠ²Π°Π½ΠΈΠ΅ ΠΊΠ°ΡΠΎ ΠΏΡΠΎΡΠ΅ΡΠΈ. ΠΠ°ΠΆΠ½ΠΎ Π΅ Π² ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π΄Π° ΡΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ° Π½Π°Π±ΠΎΡ ΠΎΡ ΠΏΡΠΎΡΠ΅ΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΈΠ³ΡΠ°ΡΡ Π²Π°ΠΆΠ½Π° ΡΠΎΠ»Ρ Π² Π½Π΅ΠΉΠ½ΠΎΡΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠ°Π½Π΅. ΠΠΊΠΎ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠΌΠ°ΡΠ΅ Π½ΡΠΊΠΎΠ»ΠΊΠΎ pgpool-Π°, ΡΠΎΠ³Π°Π²Π° ΡΡΡΠ±Π²Π° Π΄Π° ΡΡΠ±Π΅ΡΠ΅ΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° Π²ΡΠ΅ΠΊΠΈ ΠΎΡ ΡΡΡ .
ΠΠ°Π±ΠΎΡΡΡ ΠΎΡ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ Π΅ ΠΊΠ°ΠΊΡΠΎ ΡΠ»Π΅Π΄Π²Π°:
- ΠΠ ΠΠ¦ΠΠ‘ΠΠ ;
- ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π΅ ΠΏΡΠ΅Π΄ΠΈΠΌΠ½ΠΎ ΡΠ΅Π·ΠΈΠ΄Π΅Π½ΡΠ½Π°;
- IO - Π·Π° ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°Π½Π΅ Π² IOPS;
- FileFd - ΠΎΡΠ²Π°ΡΡΠ½Π΅ ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ°Π²Π°Π½Π΅;
- Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΈ Π³ΡΠ΅ΡΠΊΠΈ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ° - ΠΏΠΎ ΡΠΎΠ·ΠΈ Π½Π°ΡΠΈΠ½ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΡΠ΅ ΠΊΠΎΠΉ ΠΏΡΠΎΡΠ΅Ρ ΡΠ΅ ΡΠ°Π·ΠΌΠ΅Π½Ρ.
ΠΠΈΠ΅ Π²Π½Π΅Π΄ΡΡΠ²Π°ΠΌΠ΅ ΡΡΠ»ΠΎΡΠΎ Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ Π² Docker ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Advisor Π·Π° ΡΡΠ±ΠΈΡΠ°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ Π·Π° ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ. ΠΠ° Π΄ΡΡΠ³ΠΈ ΠΌΠ°ΡΠΈΠ½ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ process-exporter.
Π‘ΠΈΡΡΠ΅ΠΌΠ½ΠΈ ΡΡΠ»ΡΠ³ΠΈ, ΡΠΎΡΡΡΠ΅ΡΠ΅Π½ ΡΡΠ΅ΠΊ
ΠΡΡΠΊΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ° ΡΠ²ΠΎΠΈΡΠ΅ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠΈ ΠΈ Π΅ ΡΡΡΠ΄Π½ΠΎ Π΄Π° ΡΠ΅ ΠΎΡΠ΄Π΅Π»ΠΈ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ΅Π½ Π½Π°Π±ΠΎΡ ΠΎΡ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ.
Π£Π½ΠΈΠ²Π΅ΡΡΠ°Π»Π½ΠΈΡΡ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ Π΅:
- ΡΠΊΠΎΡΠΎΡΡ Π½Π° Π·Π°ΡΠ²ΠΊΠ°;
- Π±ΡΠΎΠΉ Π³ΡΠ΅ΡΠΊΠΈ;
- Π»Π°ΡΠ΅Π½ΡΠ½ΠΎΡΡ;
- Π½Π°ΡΠΈΡΠ°Π½Π΅.
ΠΠ°ΡΠΈΡΠ΅ Π½Π°ΠΉ-ΡΡΠΊΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠΈ Π·Π° ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ Π½Π° ΡΠΎΠ²Π° Π½ΠΈΠ²ΠΎ ΡΠ° Nginx ΠΈ PostgreSQL.
ΠΠ°ΠΉ-Π½Π°ΡΠΎΠ²Π°ΡΠ΅Π½Π°ΡΠ° ΡΡΠ»ΡΠ³Π° Π² Π½Π°ΡΠ°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Π΅ Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ. Π ΠΌΠΈΠ½Π°Π»ΠΎΡΠΎ ΡΠ΅ΡΡΠΎ ΠΈΠΌΠ°Ρ ΠΌΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ ΠΊΠ°ΠΊΠ²ΠΎ ΠΏΡΠ°Π²ΠΈ Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ.
ΠΠΈΠ΄ΡΡ ΠΌΠ΅ Π²ΠΈΡΠΎΠΊΠΎ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ Π½Π° Π΄ΠΈΡΠΊΠΎΠ²Π΅ΡΠ΅, Π½ΠΎ Π±Π°Π²Π½ΠΈΡΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π²ΡΡΡΠ½ΠΎΡΡ Π½Π΅ ΠΏΠΎΠΊΠ°Π·Π°Ρ Π° Π½ΠΈΡΠΎ. Π Π΅ΡΠΈΡ ΠΌΠ΅ ΡΠΎΠ·ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° pg_stat_statements, ΠΈΠ·Π³Π»Π΅Π΄, ΠΊΠΎΠΉΡΠΎ ΡΡΠ±ΠΈΡΠ° ΡΡΠ°ΡΠΈΡΡΠΈΡΠ΅ΡΠΊΠΈ Π΄Π°Π½Π½ΠΈ Π·Π° Π·Π°ΡΠ²ΠΊΠΈΡΠ΅.
Π’ΠΎΠ²Π° Π΅ Π²ΡΠΈΡΠΊΠΎ, ΠΎΡ ΠΊΠΎΠ΅ΡΠΎ ΡΠ΅ Π½ΡΠΆΠ΄Π°Π΅ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΡΡ.
ΠΠ·Π³ΡΠ°ΠΆΠ΄Π°ΠΌΠ΅ Π³ΡΠ°ΡΠΈΠΊΠΈ Π½Π° Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΡΠ° Π½Π° Π·Π°ΡΠ²ΠΊΠΈΡΠ΅ Π·Π° ΡΠ΅ΡΠ΅Π½Π΅ ΠΈ ΠΏΠΈΡΠ°Π½Π΅:
ΠΡΠΈΡΠΊΠΎ Π΅ ΠΏΡΠΎΡΡΠΎ ΠΈ ΡΡΠ½ΠΎ, Π²ΡΡΠΊΠ° Π·Π°ΡΠ²ΠΊΠ° ΠΈΠΌΠ° ΡΠ²ΠΎΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½ ΡΠ²ΡΡ.
Π‘ΡΡΠΎ ΡΠΎΠ»ΠΊΠΎΠ²Π° ΡΡΡΠΊ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ° ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π½Π° Nginx. ΠΠ΅ Π΅ ΠΈΠ·Π½Π΅Π½Π°Π΄Π²Π°ΡΠΎ, ΡΠ΅ ΠΌΠ°Π»ΠΊΠΎ Ρ ΠΎΡΠ° Π³ΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ°Ρ ΠΈΠ»ΠΈ ΡΠΏΠΎΠΌΠ΅Π½Π°Π²Π°Ρ Π² ΡΠΏΠΈΡΡΠΊΠ° Π½Π° Π·Π°Π΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½ΠΈΡΠ΅ Π½Π΅ΡΠ°. Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½ΠΈΡΡ ΡΠΎΡΠΌΠ°Ρ Π½Π΅ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ²Π΅Π½ ΠΈ ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π΅ ΡΠ°Π·ΡΠΈΡΠ΅Π½.
ΠΠΈΡΠ½ΠΎ Π°Π· Π΄ΠΎΠ±Π°Π²ΠΈΡ request_time, upstream_response_time, body_bytes_sent, request_length, request_id ΠΡΠ°ΡΠΈΡΠΈΡΠ°ΠΌΠ΅ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° ΠΎΡΠ³ΠΎΠ²ΠΎΡ ΠΈ Π±ΡΠΎΡ Π½Π° Π³ΡΠ΅ΡΠΊΠΈΡΠ΅:
ΠΠ·Π³ΡΠ°ΠΆΠ΄Π°ΠΌΠ΅ Π³ΡΠ°ΡΠΈΠΊΠΈ Π½Π° Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° ΡΠ΅Π°ΠΊΡΠΈΡ ΠΈ Π±ΡΠΎΡ Π½Π° Π³ΡΠ΅ΡΠΊΠΈΡΠ΅. ΠΠΎΠΌΠ½Ρ? ΠΠΎΠ²ΠΎΡΠΈΡ Π»ΠΈ Π·Π° Π±ΠΈΠ·Π½Π΅Ρ ΡΠ΅Π»ΠΈ? ΠΡΡΠ·ΠΎ ΠΈ Π±Π΅Π· Π³ΡΠ΅ΡΠΊΠΈ? ΠΠ΅ΡΠ΅ ΠΏΠΎΠΊΡΠΈΡ ΠΌΠ΅ ΡΠ΅Π·ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Ρ Π΄Π²Π΅ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΈ. Π Π²Π΅ΡΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠ΅ ΠΎΠ±Π°Π΄ΠΈΡΠ΅ Π½Π° Π΄Π΅ΠΆΡΡΠ½ΠΈΡΠ΅ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΈ, ΠΊΠ°ΡΠΎ Π³ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅.
ΠΠΎ ΠΎΡΡΠ°Π²Π° ΠΎΡΠ΅ Π΅Π΄ΠΈΠ½ ΠΏΡΠΎΠ±Π»Π΅ΠΌ - Π΄Π° ΡΠ΅ ΠΎΡΠΈΠ³ΡΡΠΈ Π±ΡΡΠ·ΠΎ ΠΎΡΡΡΡΠ°Π½ΡΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠΈΡΠΈΠ½ΠΈΡΠ΅ Π·Π° ΠΈΠ½ΡΠΈΠ΄Π΅Π½ΡΠ°.
Π Π°Π·ΡΠ΅ΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΈΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈ
Π¦Π΅Π»ΠΈΡΡ ΠΏΡΠΎΡΠ΅Ρ ΠΎΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ°Π½Π΅ΡΠΎ Π΄ΠΎ ΡΠ΅ΡΠ°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ Π½Π° Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΡΡΡΠΏΠΊΠΈ:
- ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°;
- ΡΠ²Π΅Π΄ΠΎΠΌΡΠ²Π°Π½Π΅ Π½Π° Π΄Π΅ΠΆΡΡΠ½ΠΈΡ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ;
- ΠΎΡΠ³ΠΎΠ²ΠΎΡ Π½Π° ΠΈΠ½ΡΠΈΠ΄Π΅Π½Ρ;
- ΠΎΡΡΡΡΠ°Π½ΡΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠΈΡΠΈΠ½ΠΈΡΠ΅.
ΠΠ°ΠΆΠ½ΠΎ Π΅ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΠΌ ΡΠΎΠ²Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉ-Π±ΡΡΠ·ΠΎ. Π Π°ΠΊΠΎ Π½Π° Π΅ΡΠ°ΠΏΠΈΡΠ΅ Π½Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΈ ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ Π½Π° ΠΈΠ·Π²Π΅ΡΡΠΈΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΡΠΏΠ΅ΡΠ΅Π»ΠΈΠΌ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅ - Π΄Π²Π΅ ΠΌΠΈΠ½ΡΡΠΈ ΡΠ΅ Π±ΡΠ΄Π°Ρ ΠΈΠ·ΡΠ°Π·Ρ ΠΎΠ΄Π²Π°Π½ΠΈ Π·Π° ΡΡΡ Π²ΡΠ² Π²ΡΠ΅ΠΊΠΈ ΡΠ»ΡΡΠ°ΠΉ, ΡΠΎΠ³Π°Π²Π° ΡΠ»Π΅Π΄Π²Π°ΡΠΈΡΠ΅ ΡΠ° ΠΏΡΠΎΡΡΠΎ Π½Π΅ΡΠ°Π·ΠΎΡΠ°Π½ΠΎ ΠΏΠΎΠ»Π΅ Π·Π° ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΡ.
ΠΠ° ΡΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠΌ ΡΠ°ΠΌΠΎ, ΡΠ΅ ΡΠ΅Π»Π΅ΡΠΎΠ½ΡΡ Π½Π° Π΄Π΅ΠΆΡΡΠ½ΠΈΡ Π·Π²ΡΠ½Π½Π°. ΠΊΠ°ΠΊΠ²ΠΎ ΡΠ΅ Π½Π°ΠΏΡΠ°Π²ΠΈ ΡΠΎΠΉ ΠΠΎΡΡΡΡΠ΅ΡΠ΅ ΠΎΡΠ³ΠΎΠ²ΠΎΡΠΈ Π½Π° Π²ΡΠΏΡΠΎΡΠΈ β ΠΊΠ°ΠΊΠ²ΠΎ ΡΠ΅ Π΅ ΡΡΡΠΏΠΈΠ»ΠΎ, ΠΊΡΠ΄Π΅ ΡΠ΅ Π΅ ΡΡΡΠΏΠΈΠ»ΠΎ, ΠΊΠ°ΠΊ Π΄Π° ΡΠ΅Π°Π³ΠΈΡΠ°ΡΠ΅? ΠΡΠΎ ΠΊΠ°ΠΊ ΠΎΡΠ³ΠΎΠ²Π°ΡΡΠΌΠ΅ Π½Π° ΡΠ΅Π·ΠΈ Π²ΡΠΏΡΠΎΡΠΈ:
ΠΠΈΠ΅ ΠΏΡΠΎΡΡΠΎ Π²ΠΊΠ»ΡΡΠ²Π°ΠΌΠ΅ ΡΡΠ»Π°ΡΠ° ΡΠ°Π·ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π² ΡΠ΅ΠΊΡΡΠ° Π½Π° ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅ΡΠΎ, Π΄Π°Π²Π°ΠΌΠ΅ ΠΌΡ Π²ΡΡΠ·ΠΊΠ° ΠΊΡΠΌ wiki ΡΡΡΠ°Π½ΠΈΡΠ°, ΠΊΠΎΡΡΠΎ ΠΎΠΏΠΈΡΠ²Π° ΠΊΠ°ΠΊ Π΄Π° ΡΠ΅ ΠΎΡΠ³ΠΎΠ²ΠΎΡΠΈ Π½Π° ΡΠΎΠ·ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌ, ΠΊΠ°ΠΊ Π΄Π° ΡΠ΅ ΡΠ°Π·ΡΠ΅ΡΠΈ ΠΈ Π΄Π° Π³ΠΎ Π΅ΡΠΊΠ°Π»ΠΈΡΠ°.
ΠΡΠ΅ ΠΎΡΠ΅ Π½Π΅ ΡΡΠΌ ΠΊΠ°Π·Π°Π» Π½ΠΈΡΠΎ Π·Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ½ΠΈΡ ΡΠ»ΠΎΠΉ ΠΈ Π±ΠΈΠ·Π½Π΅Ρ Π»ΠΎΠ³ΠΈΠΊΠ°ΡΠ°. ΠΠ° ΡΡΠΆΠ°Π»Π΅Π½ΠΈΠ΅ Π½Π°ΡΠΈΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π²ΡΠ΅ ΠΎΡΠ΅ Π½Π΅ ΠΏΡΠΈΠ»Π°Π³Π°Ρ ΡΡΠ±ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ. ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½ΠΈΡΡ ΠΈΠ·ΡΠΎΡΠ½ΠΈΠΊ Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΡ ΡΠ΅Π·ΠΈ Π½ΠΈΠ²Π° ΡΠ° ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅.
ΠΡΠΊΠΎΠ»ΠΊΠΎ ΡΠΎΡΠΊΠΈ.
ΠΡΡΠ²ΠΎ, Π½Π°ΠΏΠΈΡΠ΅ΡΠ΅ ΡΡΡΡΠΊΡΡΡΠΈΡΠ°Π½ΠΈ ΠΆΡΡΠ½Π°Π»ΠΈ. ΠΠ΅ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° Π²ΠΊΠ»ΡΡΠ²Π°ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ Π² ΡΠ΅ΠΊΡΡΠ° Π½Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΡΠΎ. Π’ΠΎΠ²Π° Π³ΠΈ ΠΏΡΠ°Π²ΠΈ ΡΡΡΠ΄Π½ΠΈ Π·Π° Π³ΡΡΠΏΠΈΡΠ°Π½Π΅ ΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅. Logstash ΠΎΡΠ½Π΅ΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅, Π·Π° Π΄Π° Π½ΠΎΡΠΌΠ°Π»ΠΈΠ·ΠΈΡΠ° Π²ΡΠΈΡΠΊΠΎ ΡΠΎΠ²Π°.
ΠΡΠΎΡΠΎ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ Π½ΠΈΠ²Π°ΡΠ° Π½Π° ΡΠ΅ΠΆΠ΅ΡΡ. ΠΡΠ΅ΠΊΠΈ Π΅Π·ΠΈΠΊ ΠΈΠΌΠ° ΡΠ²ΠΎΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½ ΡΡΠ°Π½Π΄Π°ΡΡ. ΠΠΈΡΠ½ΠΎ Π°Π· ΡΠ°Π·Π»ΠΈΡΠ°Π²Π°ΠΌ ΡΠ΅ΡΠΈΡΠΈ Π½ΠΈΠ²Π°:
- Π½ΡΠΌΠ° Π³ΡΠ΅ΡΠΊΠ°;
- Π³ΡΠ΅ΡΠΊΠ° ΠΎΡ ΡΡΡΠ°Π½Π° Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠ°;
- Π³ΡΠ΅ΡΠΊΠ°ΡΠ° Π΅ Π½Π° Π½Π°ΡΠ° ΡΡΡΠ°Π½Π°, Π½ΠΈΠ΅ Π½Π΅ Π³ΡΠ±ΠΈΠΌ ΠΏΠ°ΡΠΈ, Π½ΠΈΠ΅ Π½Π΅ Π½ΠΎΡΠΈΠΌ ΡΠΈΡΠΊΠΎΠ²Π΅;
- ΠΡΠ΅ΡΠΊΠ°ΡΠ° Π΅ Π½Π° Π½Π°ΡΠ° ΡΡΡΠ°Π½Π°, Π³ΡΠ±ΠΈΠΌ ΠΏΠ°ΡΠΈ.
ΠΠ΅ΠΊΠ° Π΄Π° ΠΎΠ±ΠΎΠ±ΡΡ. Π’ΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΠΎΠΏΠΈΡΠ°ΡΠ΅ Π΄Π° ΠΈΠ·Π³ΡΠ°Π΄ΠΈΡΠ΅ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° Π±ΠΈΠ·Π½Π΅Ρ Π»ΠΎΠ³ΠΈΠΊΠ°ΡΠ°. ΠΠΏΠΈΡΠ°ΠΉΡΠ΅ ΡΠ΅ Π΄Π° Π½Π°Π±Π»ΡΠ΄Π°Π²Π°ΡΠ΅ ΡΠ°ΠΌΠΎΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π΄Π° ΡΠ°Π±ΠΎΡΠΈΡΠ΅ Ρ ΡΠ°ΠΊΠΈΠ²Π° ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ ΠΊΠ°ΡΠΎ Π±ΡΠΎΠΉ ΠΏΡΠΎΠ΄Π°ΠΆΠ±ΠΈ, Π±ΡΠΎΠΉ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ Π½Π° Π½ΠΎΠ²ΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ, Π±ΡΠΎΠΉ Π°ΠΊΡΠΈΠ²Π½ΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ Π² ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΠΈ Ρ.Π½.
ΠΠΊΠΎ ΡΠ΅Π»ΠΈΡΡ Π²ΠΈ Π±ΠΈΠ·Π½Π΅Ρ Π΅ Π΅Π΄ΠΈΠ½ Π±ΡΡΠΎΠ½ Π² Π±ΡΠ°ΡΠ·ΡΡΠ°, ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ»Π΅Π΄ΠΈΡΠ΅ Π΄Π°Π»ΠΈ ΡΡΠ°ΠΊΠ° ΠΈ ΡΠ°Π±ΠΎΡΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ. ΠΡΠΈΡΠΊΠΎ ΠΎΡΡΠ°Π½Π°Π»ΠΎ Π½ΡΠΌΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
ΠΠΊΠΎ Π½ΡΠΌΠ°ΡΠ΅ ΡΠΎΠ²Π°, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΎΠΏΠΈΡΠ°ΡΠ΅ Π΄Π° Π³ΠΎ Π½Π°Π²Π°ΠΊΡΠ°ΡΠ΅ Π² ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π½Π° Nginx ΠΈ Ρ.Π½., ΠΊΠ°ΠΊΡΠΎ Π½Π°ΠΏΡΠ°Π²ΠΈΡ ΠΌΠ΅ Π½ΠΈΠ΅. Π’ΡΡΠ±Π²Π° Π΄Π° ΡΡΠ΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉ-Π±Π»ΠΈΠ·ΠΎ Π΄ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ.
ΠΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈΡΠ΅ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠ°Π·Π±ΠΈΡΠ° ΡΠ΅ ΡΠ° Π²Π°ΠΆΠ½ΠΈ, Π½ΠΎ Π±ΠΈΠ·Π½Π΅ΡΡΡ Π½Π΅ ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ²Π° ΠΎΡ ΡΡΡ , Π½Π΅ Π½ΠΈ ΡΠ΅ ΠΏΠ»Π°ΡΠ° Π·Π° ΡΡΡ .
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: www.habr.com