ΠΡΠ΅ΠΌ ΠΏΡΠΈΠ²Π΅Ρ, ΠΌΠ΅Π½Ρ Π·ΠΎΠ²ΡΡ ΠΠ»Π΅ΠΊΡΠ°Π½Π΄Ρ, Ρ ΡΠ°Π±ΠΎΡΠ°Ρ Π² Π¦ΠΠΠ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠΎΠΌ ΠΈ Π·Π°Π½ΠΈΠΌΠ°ΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΌ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠ΅ΠΉ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ½ΡΡ
ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ². Π ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ
ΠΊ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΏΡΠΎΡΠ»ΡΡ
ΡΡΠ°ΡΠ΅ΠΉ Π½Π°Ρ ΠΏΠΎΠΏΡΠΎΡΠΈΠ»ΠΈ ΡΠ°ΡΡΠΊΠ°Π·Π°ΡΡ, ΠΎΡΠΊΡΠ΄Π° ΠΌΡ Π±Π΅ΡΠ΅ΠΌ 4 Π’Π Π»ΠΎΠ³ΠΎΠ² Π² Π΄Π΅Π½Ρ ΠΈ ΡΡΠΎ Ρ Π½ΠΈΠΌΠΈ Π΄Π΅Π»Π°Π΅ΠΌ. ΠΠ°, Π»ΠΎΠ³ΠΎΠ² Ρ Π½Π°Ρ ΠΌΠ½ΠΎΠ³ΠΎ, ΠΈ Π΄Π»Ρ ΠΈΡ
ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΎΠ·Π΄Π°Π½ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ½ΡΠΉ ΠΊΠ»Π°ΡΡΠ΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π°ΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎ ΡΠ΅ΡΠ°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Ρ ΡΠ°ΡΡΠΊΠ°ΠΆΡ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΠΌΡ Π·Π° Π³ΠΎΠ΄ Π°Π΄Π°ΠΏΡΠΈΡΠΎΠ²Π°Π»ΠΈ Π΅Π³ΠΎ ΠΏΠΎΠ΄ ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΡΠ°ΡΡΡΡΠΈΠΌ ΠΏΠΎΡΠΎΠΊΠΎΠΌ Π΄Π°Π½Π½ΡΡ
.
Π‘ ΡΠ΅Π³ΠΎ ΠΌΡ Π½Π°ΡΠΈΠ½Π°Π»ΠΈ
ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π»Π΅Ρ Π½Π°Π³ΡΡΠ·ΠΊΠ° Π½Π° cian.ru ΡΠΎΡΠ»Π° ΠΎΡΠ΅Π½Ρ Π±ΡΡΡΡΠΎ, ΠΈ ΠΊ ΡΡΠ΅ΡΡΠ΅ΠΌΡ ΠΊΠ²Π°ΡΡΠ°Π»Ρ 2018 Π³ΠΎΠ΄Π° ΠΏΠΎΡΠ΅ΡΠ°Π΅ΠΌΠΎΡΡΡ ΡΠ΅ΡΡΡΡΠ° Π΄ΠΎΡΡΠΈΠ³Π»Π° 11.2 ΠΌΠ»Π½ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΡ
ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Π² ΠΌΠ΅ΡΡΡ. Π ΡΠΎ Π²ΡΠ΅ΠΌΡ Π² ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΌΠΎΠΌΠ΅Π½ΡΡ ΠΌΡ ΡΠ΅ΡΡΠ»ΠΈ Π΄ΠΎ 40% Π»ΠΎΠ³ΠΎΠ², ΠΈΠ·-Π·Π° ΡΠ΅Π³ΠΎ Π½Π΅ ΠΌΠΎΠ³Π»ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎ ΡΠ°Π·Π±ΠΈΡΠ°ΡΡΡΡ Ρ ΠΈΠ½ΡΠΈΠ΄Π΅Π½ΡΠ°ΠΌΠΈ ΠΈ ΡΡΠ°ΡΠΈΠ»ΠΈ ΠΎΡΠ΅Π½Ρ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΈ ΡΠΈΠ» Π½Π° ΠΈΡ
ΡΠ΅ΡΠ΅Π½ΠΈΠ΅. ΠΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΎ Π½Π΅ ΠΌΠΎΠ³Π»ΠΈ Π½Π°ΠΉΡΠΈ ΠΏΡΠΈΡΠΈΠ½Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΠΈ ΠΎΠ½Π° ΠΏΠΎΠ²ΡΠΎΡΡΠ»Π°ΡΡ ΡΠΏΡΡΡΡ ΠΊΠ°ΠΊΠΎΠ΅-ΡΠΎ Π²ΡΠ΅ΠΌΡ. ΠΡΠΎ Π±ΡΠ» Π°Π΄, Ρ ΠΊΠΎΡΠΎΡΡΠΌ Π½Π°Π΄ΠΎ Π±ΡΠ»ΠΎ ΡΡΠΎ-ΡΠΎ Π΄Π΅Π»Π°ΡΡ.
ΠΠ° ΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π»ΠΎΠ³ΠΎΠ² ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΠΊΠ»Π°ΡΡΠ΅Ρ ΠΈΠ· 10 Π΄Π°ΡΠ°-Π½ΠΎΠ΄ Ρ ElasticSearch Π²Π΅ΡΡΠΈΠΈ 5.5.2 Ρ ΡΠΈΠΏΠΎΠ²ΡΠΌΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ². ΠΠ³ΠΎ Π²Π½Π΅Π΄ΡΠΈΠ»ΠΈ Π±ΠΎΠ»ΡΡΠ΅ Π³ΠΎΠ΄Π° Π½Π°Π·Π°Π΄ ΠΊΠ°ΠΊ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΠ΅ ΠΈ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅: ΡΠΎΠ³Π΄Π° ΠΏΠΎΡΠΎΠΊ Π»ΠΎΠ³ΠΎΠ² Π±ΡΠ» Π½Π΅ ΡΠ°ΠΊΠΎΠΉ Π±ΠΎΠ»ΡΡΠΎΠΉ, ΡΠΌΡΡΠ»Π° ΠΏΡΠΈΠ΄ΡΠΌΡΠ²Π°ΡΡ Π½Π΅ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π½Π΅ Π±ΡΠ»ΠΎ.Β
ΠΠ±ΡΠ°Π±ΠΎΡΠΊΡ Π²Ρ ΠΎΠ΄ΡΡΠΈΡ Π»ΠΎΠ³ΠΎΠ² ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π» Logstash Π½Π° ΡΠ°Π·Π½ΡΡ ΠΏΠΎΡΡΠ°Ρ Π½Π° ΠΏΡΡΠΈ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡΠ°Ρ ElasticSearch. ΠΠ΄ΠΈΠ½ ΠΈΠ½Π΄Π΅ΠΊΡ, Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠ°Π·ΠΌΠ΅ΡΠ°, ΡΠΎΡΡΠΎΡΠ» ΠΈΠ· ΠΏΡΡΠΈ ΡΠ°ΡΠ΄ΠΎΠ². ΠΡΠ»Π° ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΡΠ°ΡΠΎΠ²Π°Ρ ΠΈ Π΄Π½Π΅Π²Π½Π°Ρ ΡΠΎΡΠ°ΡΠΈΡ, Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Ρ Π² ΠΊΠ»Π°ΡΡΠ΅ΡΠ΅ ΠΏΠΎΡΠ²Π»ΡΠ»ΠΎΡΡ ΠΏΠΎΡΡΠ΄ΠΊΠ° 100 Π½ΠΎΠ²ΡΡ ΡΠ°ΡΠ΄ΠΎΠ². ΠΠΎΠΊΠ° Π»ΠΎΠ³ΠΎΠ² Π±ΡΠ»ΠΎ Π½Π΅ ΠΎΡΠ΅Π½Ρ ΠΌΠ½ΠΎΠ³ΠΎ, ΠΊΠ»Π°ΡΡΠ΅Ρ ΡΠΏΡΠ°Π²Π»ΡΠ»ΡΡ ΠΈ Π½Π° Π΅Π³ΠΎ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ Π½ΠΈΠΊΡΠΎ Π½Π΅ Π·Π°ΠΎΡΡΡΡΠ» Π²Π½ΠΈΠΌΠ°Π½ΠΈΡ.Β
ΠΡΠΎΠ±Π»Π΅ΠΌΡ Π±ΡΡΡΡΠΎΠ³ΠΎ ΡΠΎΡΡΠ°
ΠΠ±ΡΠ΅ΠΌ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π»ΠΎΠ³ΠΎΠ² ΡΠΎΡ ΠΎΡΠ΅Π½Ρ Π±ΡΡΡΡΠΎ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π΄ΡΡΠ³ Π½Π° Π΄ΡΡΠ³Π° Π½Π°Π»ΠΎΠΆΠΈΠ»ΠΈΡΡ Π΄Π²Π° ΠΏΡΠΎΡΠ΅ΡΡΠ°. Π‘ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Ρ ΡΠ΅ΡΠ²ΠΈΡΠ° ΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΎΡΡ Π²ΡΠ΅ Π±ΠΎΠ»ΡΡΠ΅. Π Ρ Π΄ΡΡΠ³ΠΎΠΉ, ΠΌΡ Π½Π°ΡΠ°Π»ΠΈ Π°ΠΊΡΠΈΠ²Π½ΠΎ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡΡ Π½Π° ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ½ΡΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ, ΡΠ°ΡΠΏΠΈΠ»ΠΈΠ²Π°Ρ Π½Π°ΡΠΈ ΡΡΠ°ΡΡΠ΅ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΡ Π½Π° C# ΠΈ Python. ΠΠ΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄Π΅ΡΡΡΠΊΠΎΠ² Π½ΠΎΠ²ΡΡ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ², Π·Π°ΠΌΠ΅Π½ΡΠ²ΡΠΈΡ ΡΠ°ΡΡΠΈ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ°, Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π»ΠΈ Π·Π°ΠΌΠ΅ΡΠ½ΠΎ Π±ΠΎΠ»ΡΡΠ΅ Π»ΠΎΠ³ΠΎΠ² Π΄Π»Ρ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ΅ΡΠ°.Β
ΠΠΌΠ΅Π½Π½ΠΎ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΏΡΠΈΠ²Π΅Π»ΠΎ Π½Π°Ρ ΠΊ ΡΠΎΠΌΡ, ΡΡΠΎ ΠΊΠ»Π°ΡΡΠ΅Ρ ΡΡΠ°Π» ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌ. ΠΠΎΠ³Π΄Π° Π»ΠΎΠ³ΠΈ Π½Π°ΡΠ°Π»ΠΈ ΠΏΠΎΡΡΡΠΏΠ°ΡΡ ΡΠΎ ΡΠΊΠΎΡΠΎΡΡΡΡ 20 ΡΡΡ. ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ Π² ΡΠ΅ΠΊΡΠ½Π΄Ρ, ΡΠ°ΡΡΠ°Ρ Π±Π΅ΡΠΏΠΎΠ»Π΅Π·Π½Π°Ρ ΡΠΎΡΠ°ΡΠΈΡ ΡΠ²Π΅Π»ΠΈΡΠΈΠ»Π° ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ°ΡΠ΄ΠΎΠ² Π΄ΠΎ 6 ΡΡΡΡΡ, Π° Π½Π° ΠΎΠ΄Π½Ρ Π½ΠΎΠ΄Ρ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΠ»ΠΎΡΡ Π±ΠΎΠ»Π΅Π΅ 600 ΡΠ°ΡΠ΄ΠΎΠ².Β
ΠΡΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΠ»ΠΎ ΠΊ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌ Ρ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ, Π° ΠΏΡΠΈ ΠΏΠ°Π΄Π΅Π½ΠΈΠΈ Π½ΠΎΠ΄Ρ Π½Π°ΡΠΈΠ½Π°Π»ΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ ΠΏΠ΅ΡΠ΅Π΅Π·Π΄ Π²ΡΠ΅Ρ ΡΠ°ΡΠ΄ΠΎΠ², ΡΠΌΠ½ΠΎΠΆΠ°ΡΡΠΈΠΉ ΡΡΠ°ΡΠΈΠΊ ΠΈ Π½Π°Π³ΡΡΠΆΠ°ΡΡΠΈΠΉ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ Π½ΠΎΠ΄Ρ, ΡΡΠΎ Π΄Π΅Π»Π°Π»ΠΎ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΡ Π΄Π°Π½Π½ΡΡ Π² ΠΊΠ»Π°ΡΡΠ΅Ρ. Π Π² ΡΡΠΎΡ ΠΏΠ΅ΡΠΈΠΎΠ΄ ΠΌΡ ΠΎΡΡΠ°Π²Π°Π»ΠΈΡΡ Π±Π΅Π· Π»ΠΎΠ³ΠΎΠ². Π ΠΏΡΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ΅ Ρ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ ΠΌΡ ΡΠ΅ΡΡΠ»ΠΈ 1/10 ΠΊΠ»Π°ΡΡΠ΅ΡΠ° Π² ΠΏΡΠΈΠ½ΡΠΈΠΏΠ΅. ΠΠΎΠ±Π°Π²Π»ΡΠ»ΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² ΠΌΠ°Π»Π΅Π½ΡΠΊΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°.
ΠΠ΅Π· Π»ΠΎΠ³ΠΎΠ² ΠΌΡ Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π»ΠΈ ΠΏΡΠΈΡΠΈΠ½ ΠΈΠ½ΡΠΈΠ΄Π΅Π½ΡΠ° ΠΈ ΠΌΠΎΠ³Π»ΠΈ ΡΠ°Π½ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎΠ·Π΄Π½ΠΎ Π½Π°ΡΡΡΠΏΠΈΡΡ Π½Π° ΡΠ΅ ΠΆΠ΅ Π³ΡΠ°Π±Π»ΠΈ ΡΠ½ΠΎΠ²Π°, Π° Π² ΠΈΠ΄Π΅ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π½Π°ΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΡΠΎ Π±ΡΠ»ΠΎ Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π²ΡΠ΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡ ΡΠ°Π±ΠΎΡΡ Ρ Π½Π°Ρ Π·Π°ΡΠΎΡΠ΅Π½Ρ ΠΊΠ°ΠΊ ΡΠ°Π· Π½Π° ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ΅ β Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΏΠΎΠ²ΡΠΎΡΡΡΡ ΠΎΠ΄Π½ΠΈ ΠΈ ΡΠ΅ ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½Π°ΠΌ Π±ΡΠ» Π½ΡΠΆΠ΅Π½ ΠΏΠΎΠ»Π½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΌ Π»ΠΎΠ³ΠΎΠ² ΠΈ Π΄ΠΎΡΡΠ°Π²ΠΊΠ° ΠΈΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π΄Π΅ΠΆΡΡΠ½ΡΡ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠΎΠ² ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ»Π° Π°Π»Π΅ΡΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΡ ΠΌΠ΅ΡΡΠΈΠΊ, Π½ΠΎ ΠΈ ΠΎΡ Π»ΠΎΠ³ΠΎΠ². ΠΠ»Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ ΠΌΠ°ΡΡΡΠ°Π±ΠΎΠ² ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ βΒ Π½Π° ΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΎΠ±ΡΠΈΠΉ ΠΎΠ±ΡΠ΅ΠΌ Π»ΠΎΠ³ΠΎΠ² ΡΠΎΡΡΠ°Π²Π»ΡΠ» ΠΏΠΎΡΡΠ΄ΠΊΠ° 2 Π’Π± Π² ΡΡΡΠΊΠΈ.Β
ΠΡ ΠΏΠΎΡΡΠ°Π²ΠΈΠ»ΠΈ Π·Π°Π΄Π°ΡΡ β ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΈΡΠΊΠ»ΡΡΠΈΡΡ ΠΏΠΎΡΠ΅ΡΡ Π»ΠΎΠ³ΠΎΠ² ΠΈ ΡΠΎΠΊΡΠ°ΡΠΈΡΡ Π²ΡΠ΅ΠΌΡ ΠΈΡ Π΄ΠΎΡΡΠ°Π²ΠΊΠΈ Π² ΠΊΠ»Π°ΡΡΠ΅Ρ ELK ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ Π΄ΠΎ 15 ΠΌΠΈΠ½ΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠΎΡΡ-ΠΌΠ°ΠΆΠΎΡΠΎΠ² (Π½Π° ΡΡΡ ΡΠΈΡΡΡ Π² Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ ΠΌΡ ΠΎΠΏΠΈΡΠ°Π»ΠΈΡΡ, ΠΊΠ°ΠΊ Π½Π° Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΉ KPI).
ΠΠΎΠ²ΡΠΉ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΡΠΎΡΠ°ΡΠΈΠΈ ΠΈ hot-warm Π½ΠΎΠ΄Ρ
ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠ΅ΡΠ° ΠΌΡ Π½Π°ΡΠ°Π»ΠΈ Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π²Π΅ΡΡΠΈΠΈ ElasticSearch Ρ 5.5.2 Π½Π° 6.4.3. Π£ Π½Π°Ρ Π² ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠΉ ΡΠ°Π· Π»Π΅Π³ ΠΊΠ»Π°ΡΡΠ΅Ρ 5 Π²Π΅ΡΡΠΈΠΈ, ΠΈ ΠΌΡ ΡΠ΅ΡΠΈΠ»ΠΈ Π΅Π³ΠΎ ΠΏΠΎΠ³Π°ΡΠΈΡΡ ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ β Π»ΠΎΠ³ΠΎΠ²-ΡΠΎ Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ Π½Π΅Ρ. Π’Π°ΠΊ ΡΡΠΎ ΡΡΠΎΡ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄ ΠΌΡ ΡΠΎΠ²Π΅ΡΡΠΈΠ»ΠΈ Π²ΡΠ΅Π³ΠΎ Π·Π° ΠΏΠ°ΡΡ ΡΠ°ΡΠΎΠ².
Π‘Π°ΠΌΡΠΌ ΠΌΠ°ΡΡΡΠ°Π±Π½ΡΠΌ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π½Π° ΡΡΠΎΠΌ ΡΡΠ°ΠΏΠ΅ ΡΡΠ°Π»ΠΎ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΡΠ΅Ρ Π½ΠΎΠ΄Π°Ρ Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡΠΎΠΌ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΠΎΠ³ΠΎ Π±ΡΡΠ΅ΡΠ° Apache Kafka. ΠΡΠΎΠΊΠ΅Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΈΠ·Π±Π°Π²ΠΈΠ» Π½Π°Ρ ΠΎΡ ΠΏΠΎΡΠ΅ΡΠΈ Π»ΠΎΠ³ΠΎΠ² Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ ElasticSearch. ΠΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΌΡ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Π² ΠΊΠ»Π°ΡΡΠ΅Ρ 2 Π½ΠΎΠ΄Ρ ΠΈ ΠΏΠ΅ΡΠ΅ΡΠ»ΠΈ Π½Π° hot-warm Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ Ρ ΡΡΠ΅ΠΌΡ Β«Π³ΠΎΡΡΡΠΈΠΌΠΈΒ» Π½ΠΎΠ΄Π°ΠΌΠΈ, ΡΠ°ΡΡΡΠ°Π²Π»Π΅Π½Π½ΡΠΌΠΈ Π² ΡΠ°Π·Π½ΡΡ ΡΡΠΎΠΉΠΊΠ°Ρ Π² Π΄Π°ΡΠ°-ΡΠ΅Π½ΡΡΠ΅. ΠΠ° Π½ΠΈΡ ΠΌΡ ΠΏΠΎ ΠΌΠ°ΡΠΊΠ΅ ΠΏΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²ΠΈΠ»ΠΈ Π»ΠΎΠ³ΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅Π»ΡΠ·Ρ ΡΠ΅ΡΡΡΡ Π½ΠΈ Π² ΠΊΠΎΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ β nginx, Π° ΡΠ°ΠΊΠΆΠ΅ Π»ΠΎΠ³ΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠΠ° ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ Π½ΠΎΠ΄Ρ ΡΡ ΠΎΠ΄ΠΈΠ»ΠΈ ΠΌΠΈΠ½ΠΎΡΠ½ΡΠ΅ Π»ΠΎΠ³ΠΈ βΒ debug, warning ΠΈ Ρ. ΠΏ., Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ΅ΡΠ΅Π· 24 ΡΠ°ΡΠ° ΠΏΠ΅ΡΠ΅Π΅Π·ΠΆΠ°Π»ΠΈ Β«Π²Π°ΠΆΠ½ΡΠ΅Β» Π»ΠΎΠ³ΠΈ Ρ Β«Π³ΠΎΡΡΡΠΈΡ Β» Π½ΠΎΠ΄.
Π§ΡΠΎΠ±Ρ Π½Π΅ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°ΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² ΠΌΠ°Π»ΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°, ΠΌΡ ΠΏΠ΅ΡΠ΅ΡΠ»ΠΈ Ρ ΡΠΎΡΠ°ΡΠΈΠΈ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π½Π° ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ rollover. ΠΠ° ΡΠΎΡΡΠΌΠ°Ρ Π±ΡΠ»ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΡΠΎΡΠ°ΡΠΈΡ ΠΏΠΎ ΡΠ°Π·ΠΌΠ΅ΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΠ° ΠΎΡΠ΅Π½Ρ Π½Π΅Π½Π°Π΄Π΅ΠΆΠ½Π°, ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΡ ΡΠ΅ΡΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΡΠ°ΡΠΈΡ ΠΏΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ² Π² ΠΈΠ½Π΄Π΅ΠΊΡΠ΅. ΠΡ ΠΏΡΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π»ΠΈ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΈ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π»ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ², ΠΏΠΎΡΠ»Π΅ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π΄ΠΎΠ»ΠΆΠ½Π° ΡΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΡΠΎΡΠ°ΡΠΈΡ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΌΡ Π΄ΠΎΡΡΠΈΠ³Π»ΠΈ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΡΠ°ΡΠ΄Π° β Π½Π΅ Π±ΠΎΠ»Π΅Π΅ 50 ΠΠ±.Β
ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΠΊΠ»Π°ΡΡΠ΅ΡΠ°
ΠΠ΄Π½Π°ΠΊΠΎ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΎΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΌΡ Π½Π΅ ΠΈΠ·Π±Π°Π²ΠΈΠ»ΠΈΡΡ. Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ ΠΏΠΎΡΠ²Π»ΡΠ»ΠΈΡΡ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΡ: ΠΎΠ½ΠΈ Π½Π΅ Π΄ΠΎΡΡΠΈΠ³Π°Π»ΠΈ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΌΠ°, Π½Π΅ ΡΠΎΡΠΈΡΠΎΠ²Π°Π»ΠΈΡΡ ΠΈ ΡΠ΄Π°Π»ΡΠ»ΠΈΡΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ ΠΎΡΠΈΡΡΠΊΠΎΠΉ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² ΡΡΠ°ΡΡΠ΅ ΡΡΠ΅Ρ
Π΄Π½Π΅ΠΉ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΌΡ ΡΠ±ΡΠ°Π»ΠΈ ΡΠΎΡΠ°ΡΠΈΡ ΠΏΠΎ Π΄Π°ΡΠ΅. ΠΡΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΠ»ΠΎ ΠΊ ΠΏΠΎΡΠ΅ΡΠ΅ Π΄Π°Π½Π½ΡΡ
ΠΈΠ·-Π·Π° ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΈΠ· ΠΊΠ»Π°ΡΡΠ΅ΡΠ° ΠΈΡΡΠ΅Π·Π°Π» ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ, Π° ΠΏΠΎΠΏΡΡΠΊΠ° Π·Π°ΠΏΠΈΡΠΈ Π² Π½Π΅ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ Π»ΠΎΠΌΠ°Π»Π° Π»ΠΎΠ³ΠΈΠΊΡ curatorβΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ. Alias Π΄Π»Ρ Π·Π°ΠΏΠΈΡΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²ΡΠ²Π°Π»ΡΡ Π² ΠΈΠ½Π΄Π΅ΠΊΡ ΠΈ Π»ΠΎΠΌΠ°Π» Π»ΠΎΠ³ΠΈΠΊΡ rolloverβΠ°, Π²ΡΠ·ΡΠ²Π°Ρ Π±Π΅ΡΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΠΉ ΡΠΎΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ
ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² Π΄ΠΎ 600 ΠΠ±.Β
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ ΠΊΠΎΠ½ΡΠΈΠ³Π° ΡΠΎΡΠ°ΡΠΈΠΈ:
Ρurator-elk-rollover.yaml
---
actions:
Β Β 1:
Β Β Β Β action: rollover
Β Β Β Β options:
Β Β Β Β Β Β name: "nginx_write"
Β Β Β Β Β Β conditions:
Β Β Β Β Β Β Β Β max_docs: 100000000
Β Β 2:
Β Β Β Β action: rollover
Β Β Β Β options:
Β Β Β Β Β Β name: "python_error_write"
Β Β Β Β Β Β conditions:
Β Β Β Β Β Β Β Β max_docs: 10000000
ΠΡΠΈ ΠΎΡΡΡΡΡΡΠ²ΠΈΠΈ rollover alias Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π»Π° ΠΎΡΠΈΠ±ΠΊΠ°:
ERROR Β Β alias "nginx_write" not found.
ERROR Β Β Failed to complete action: rollover.Β <type 'exceptions.ValueError'>: Unable to perform index rollover with alias "nginx_write".
Π Π΅ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΌΡ ΠΎΡΡΠ°Π²ΠΈΠ»ΠΈ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΈΡΠ΅ΡΠ°ΡΠΈΡ ΠΈ Π·Π°Π½ΡΠ»ΠΈΡΡ Π΄ΡΡΠ³ΠΈΠΌ Π²ΠΎΠΏΡΠΎΡΠΎΠΌ: ΠΏΠ΅ΡΠ΅ΡΠ»ΠΈ Π½Π° pull Π»ΠΎΠ³ΠΈΠΊΡ ΡΠ°Π±ΠΎΡΡ Logstash, Π·Π°Π½ΠΈΠΌΠ°ΡΡΠ΅Π³ΠΎΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ Π²Ρ ΠΎΠ΄ΡΡΠΈΡ Π»ΠΎΠ³ΠΎΠ² (ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ΠΌ Π»ΠΈΡΠ½Π΅ΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΈ ΠΎΠ±ΠΎΠ³Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ). ΠΡ ΠΏΠΎΠΌΠ΅ΡΡΠΈΠ»ΠΈ Π΅Π³ΠΎ Π² docker, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ ΡΠ΅ΡΠ΅Π· docker-compose, ΡΠ°ΠΌ ΠΆΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΠ»ΠΈ logstash-exporter, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΡΠ΄Π°Π΅Ρ ΠΌΠ΅ΡΡΠΈΠΊΠΈ Π² Prometheus Π΄Π»Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΠΏΠΎΡΠΎΠΊΠ° Π»ΠΎΠ³ΠΎΠ². Π’Π°ΠΊ ΠΌΡ Π΄Π°Π»ΠΈ ΡΠ΅Π±Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠ»Π°Π²Π½ΠΎ ΠΌΠ΅Π½ΡΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΈΠ½ΡΡΠ°Π½ΡΠΎΠ² logstash, ΠΎΡΠ²Π΅ΡΠ°ΡΡΠΈΡ Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π²ΠΈΠ΄Π° Π»ΠΎΠ³ΠΎΠ².
ΠΠΎΠΊΠ° ΠΌΡ ΡΠΎΠ²Π΅ΡΡΠ΅Π½ΡΡΠ²ΠΎΠ²Π°Π»ΠΈ ΠΊΠ»Π°ΡΡΠ΅Ρ, ΠΏΠΎΡΠ΅ΡΠ°Π΅ΠΌΠΎΡΡΡ cian.ru Π²ΡΡΠΎΡΠ»Π° Π΄ΠΎ 12,8 ΠΌΠ»Π½ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Π² ΠΌΠ΅ΡΡΡ. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ, ΡΡΠΎ Π½Π°ΡΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π½Π΅ ΡΡΠΏΠ΅Π²Π°Π»ΠΈ Π·Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΠΌΠΈ Π½Π° ΠΏΡΠΎΠ΄Π°ΠΊΡΠ΅Π½Π΅, ΠΈ ΠΌΡ ΡΡΠΎΠ»ΠΊΠ½ΡΠ»ΠΈΡΡ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ Β«ΡΠ΅ΠΏΠ»ΡΠ΅Β» Π½ΠΎΠ΄Ρ Π½Π΅ ΡΠΏΡΠ°Π²Π»ΡΠ»ΠΈΡΡ Ρ Π½Π°Π³ΡΡΠ·ΠΊΠΎΠΉ ΠΈ ΡΠΎΡΠΌΠΎΠ·ΠΈΠ»ΠΈ Π²ΡΡ Π΄ΠΎΡΡΠ°Π²ΠΊΡ Π»ΠΎΠ³ΠΎΠ². Β«ΠΠΎΡΡΡΠΈΠ΅Β» Π΄Π°Π½Π½ΡΠ΅ ΠΌΡ ΠΏΠΎΠ»ΡΡΠ°Π»ΠΈ Π±Π΅Π· ΡΠ±ΠΎΠ΅Π², Π½ΠΎ Π² Π΄ΠΎΡΡΠ°Π²ΠΊΡ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΠ»ΠΎΡΡ Π²ΠΌΠ΅ΡΠΈΠ²Π°ΡΡΡΡ ΠΈ Π΄Π΅Π»Π°ΡΡ ΡΡΡΠ½ΠΎΠΉ rollover, ΡΡΠΎΠ±Ρ ΡΠ°Π²Π½ΠΎΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΡ.Β
ΠΡΠΈ ΡΡΠΎΠΌ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π½Π°ΡΡΡΠΎΠ΅ΠΊ ΠΈΠ½ΡΡΠ°Π½ΡΠΎΠ² logstash Π² ΠΊΠ»Π°ΡΡΠ΅ΡΠ΅ ΠΎΡΠ»ΠΎΠΆΠ½ΡΠ»ΠΎΡΡ ΡΠ΅ΠΌ, ΡΡΠΎ ΡΡΠΎ Π±ΡΠ» Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ docker-compose, ΠΈ Π²ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ»ΠΈΡΡ ΡΡΠΊΠ°ΠΌΠΈ (Π΄Π»Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π½ΠΎΠ²ΡΡ ΠΊΠΎΠ½ΡΠΎΠ² Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π±ΡΠ»ΠΎ ΡΡΠΊΠ°ΠΌΠΈ ΠΏΡΠΎΠΉΡΠΈ ΠΏΠΎ Π²ΡΠ΅ΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ°ΠΌ ΠΈ Π²Π΅Π·Π΄Π΅ ΡΠ΄Π΅Π»Π°ΡΡ docker-compose up -d).
ΠΠ΅ΡΠ΅ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π»ΠΎΠ³ΠΎΠ²
Π ΡΠ΅Π½ΡΡΠ±ΡΠ΅ ΡΡΠΎΠ³ΠΎ Π³ΠΎΠ΄Π° ΠΌΡ Π²ΡΠ΅ Π΅ΡΠ΅ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π»ΠΈ ΡΠ°ΡΠΏΠΈΠ»ΠΈΠ²Π°ΡΡ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ, Π½Π°Π³ΡΡΠ·ΠΊΠ° Π½Π° ΠΊΠ»Π°ΡΡΠ΅Ρ Π²ΠΎΠ·ΡΠ°ΡΡΠ°Π»Π°, Π° ΠΏΠΎΡΠΎΠΊ Π»ΠΎΠ³ΠΎΠ² ΠΏΡΠΈΠ±Π»ΠΈΠΆΠ°Π»ΡΡ ΠΊ 30 ΡΡΡΡΡΠ°ΠΌ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ Π² ΡΠ΅ΠΊΡΠ½Π΄Ρ.Β
Π‘Π»Π΅Π΄ΡΡΡΡΡ ΠΈΡΠ΅ΡΠ°ΡΠΈΡ ΠΌΡ Π½Π°ΡΠ°Π»ΠΈ Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΆΠ΅Π»Π΅Π·Π°. Π‘ ΠΏΡΡΠΈ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡΠΎΠ² ΠΌΡ ΠΏΠ΅ΡΠ΅ΡΠ»ΠΈ Π½Π° ΡΡΠΈ, Π·Π°ΠΌΠ΅Π½ΠΈΠ»ΠΈ Π΄Π°ΡΠ°-Π½ΠΎΠ΄Ρ ΠΈ Π²ΡΠΈΠ³ΡΠ°Π»ΠΈ ΠΏΠΎ Π΄Π΅Π½ΡΠ³Π°ΠΌ ΠΈ ΠΏΠΎ ΠΎΠ±ΡΠ΅ΠΌΡ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°. ΠΠ»Ρ Π½ΠΎΠ΄ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π΄Π²Π΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ:Β
- ΠΠ»Ρ Β«Π³ΠΎΡΡΡΠΈΡ Β» Π½ΠΎΠ΄: E3-1270 v6 / 960Gb SSD / 32 Gb x 3 x 2 (3 Π΄Π»Ρ Hot1 ΠΈ 3 Π΄Π»Ρ Hot2).
- ΠΠ»Ρ Β«ΡΠ΅ΠΏΠ»ΡΡ Β» Π½ΠΎΠ΄: E3-1230 v6 / 4Tb SSD / 32 Gb x 4.
ΠΠ° ΡΡΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ ΠΌΡ Π²ΡΠ½Π΅ΡΠ»ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡ Ρ access-Π»ΠΎΠ³Π°ΠΌΠΈ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ ΡΡΠΎΠ»ΡΠΊΠΎ ΠΆΠ΅ ΠΌΠ΅ΡΡΠ°, ΡΠΊΠΎΠ»ΡΠΊΠΎ Π»ΠΎΠ³ΠΈ ΡΡΠΎΠ½ΡΠΎΠ²ΡΡ nginx, Π²ΠΎ Π²ΡΠΎΡΡΡ Π³ΡΡΠΏΠΏΡ ΠΈΠ· ΡΡΠ΅Ρ Β«Π³ΠΎΡΡΡΠΈΡ Β» Π½ΠΎΠ΄. ΠΠ°Π½Π½ΡΠ΅ Π½Π° Β«Π³ΠΎΡΡΡΠΈΡ Β» Π½ΠΎΠ΄Π°Ρ ΠΌΡ ΡΠ΅ΠΏΠ΅ΡΡ Ρ ΡΠ°Π½ΠΈΠΌ 20 ΡΠ°ΡΠΎΠ², Π° Π·Π°ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌ Π½Π° Β«ΡΠ΅ΠΏΠ»ΡΠ΅Β» ΠΊ ΠΎΡΡΠ°Π»ΡΠ½ΡΠΌ Π»ΠΎΠ³Π°ΠΌ.Β
ΠΡΠΎΠ±Π»Π΅ΠΌΡ ΠΈΡΡΠ΅Π·Π½ΠΎΠ²Π΅Π½ΠΈΡ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΡ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² ΠΌΡ ΡΠ΅ΡΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅Π½Π°ΡΡΡΠΎΠΉΠΊΠΎΠΉ ΠΈΡ ΡΠΎΡΠ°ΡΠΈΠΈ. Π’Π΅ΠΏΠ΅ΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΡ ΡΠΎΡΠΈΡΡΡΡΡΡ Π² Π»ΡΠ±ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΊΠ°ΠΆΠ΄ΡΠ΅ 23 ΡΠ°ΡΠ°, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΡΠ°ΠΌ ΠΌΠ°Π»ΠΎ Π΄Π°Π½Π½ΡΡ . ΠΡΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ²Π΅Π»ΠΈΡΠΈΠ»ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ°ΡΠ΄ΠΎΠ² (ΠΈΡ ΡΡΠ°Π»ΠΎ ΠΏΠΎΡΡΠ΄ΠΊΠ° 800), Π½ΠΎ Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΊΠ»Π°ΡΡΠ΅ΡΠ° ΡΡΠΎ ΡΠ΅ΡΠΏΠΈΠΌΠΎ.Β
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π² ΠΊΠ»Π°ΡΡΠ΅ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ ΡΠ΅ΡΡΡ Β«Π³ΠΎΡΡΡΠΈΡ Β» ΠΈ Π²ΡΠ΅Π³ΠΎ ΡΠ΅ΡΡΡΠ΅ Β«ΡΠ΅ΠΏΠ»ΡΡ Β» Π½ΠΎΠ΄Ρ. ΠΡΠΎ Π²ΡΠ·ΡΠ²Π°Π΅Ρ Π½Π΅Π±ΠΎΠ»ΡΡΡΡ Π·Π°Π΄Π΅ΡΠΆΠΊΡ Π½Π° Π·Π°ΠΏΡΠΎΡΠ°Ρ ΠΏΠΎ Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»Π°ΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, Π½ΠΎ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠΈΡΠ»Π° Π½ΠΎΠ΄ Π² Π±ΡΠ΄ΡΡΠ΅ΠΌ ΡΠ΅ΡΠΈΡ ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ.
Π ΡΡΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ ΠΈΡΠΏΡΠ°Π²ΠΈΠ»ΠΈ ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΎΡΡΡΡΡΡΠ²ΠΈΡ ΠΏΠΎΠ»ΡΠ°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΌΡ ΡΠ°Π·Π²Π΅ΡΠ½ΡΠ»ΠΈ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ½ΡΠΉ Nomad ΠΊΠ»Π°ΡΡΠ΅Ρ β Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠΉ ΡΠΎΠΌΡ, ΡΡΠΎ ΡΠΆΠ΅ ΡΠ°Π·Π²Π΅ΡΠ½ΡΡ Ρ Π½Π°Ρ Π½Π° ΠΏΡΠΎΠ΄Π°ΠΊΡΠ΅Π½. ΠΠΎΠΊΠ° ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Logstash Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π½Π°Π³ΡΡΠ·ΠΊΠΈ, Π½ΠΎ ΠΌΡ ΠΏΡΠΈΠ΄Π΅ΠΌ ΠΈ ΠΊ ΡΡΠΎΠΌΡ.
ΠΠ»Π°Π½Ρ Π½Π° Π±ΡΠ΄ΡΡΠ΅Π΅
Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Π°Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΎΡΠ»ΠΈΡΠ½ΠΎ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΡΡΡ, ΠΈ ΡΠ΅ΠΉΡΠ°Ρ ΠΌΡ Ρ ΡΠ°Π½ΠΈΠΌ 13,3 Π’Π± Π΄Π°Π½Π½ΡΡ β Π²ΡΠ΅ Π»ΠΎΠ³ΠΈ Π·Π° 4 ΡΡΡΠΎΠΊ, ΡΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π»Ρ ΡΠΊΡΡΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠ°Π·Π±ΠΎΡΠ° Π°Π»Π΅ΡΡΠΎΠ². Π§Π°ΡΡΡ Π»ΠΎΠ³ΠΎΠ² ΠΌΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅ΠΌ Π² ΠΌΠ΅ΡΡΠΈΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΊΠ»Π°Π΄ΡΠ²Π°Π΅ΠΌ Π² Graphite. Π§ΡΠΎΠ±Ρ ΠΎΠ±Π»Π΅Π³ΡΠΈΡΡ ΡΠ°Π±ΠΎΡΡ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠΎΠ², Ρ Π½Π°Ρ Π΅ΡΡΡ ΠΌΠ΅ΡΡΠΈΠΊΠΈ Π΄Π»Ρ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ΅ΡΠ° ΠΈ ΡΠΊΡΠΈΠΏΡΡ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΠΎΡΠΈΠ½ΠΊΠΈ ΡΠΈΠΏΠΈΡΠ½ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ. ΠΠΎΡΠ»Π΅ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° Π΄Π°ΡΠ°-Π½ΠΎΠ΄, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π·Π°ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°Π½ΠΎ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π³ΠΎΠ΄, ΠΌΡ ΠΏΠ΅ΡΠ΅ΠΉΠ΄Π΅ΠΌ Π½Π° Ρ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ Ρ 4 Π΄ΠΎ 7 Π΄Π½Π΅ΠΉ. ΠΡΠΎΠ³ΠΎ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π΄Π»Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΌΡ Π²ΡΠ΅Π³Π΄Π° ΡΡΠ°ΡΠ°Π΅ΠΌΡΡ ΡΠ°ΡΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ ΠΈΠ½ΡΠΈΠ΄Π΅Π½ΡΡ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠΎΡΠ΅Π΅, Π° Π΄Π»Ρ Π΄ΠΎΠ»Π³ΠΎΡΡΠΎΡΠ½ΡΡ ΡΠ°ΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠΉ Π΅ΡΡΡ Π΄Π°Π½Π½ΡΠ΅ ΡΠ΅Π»Π΅ΠΌΠ΅ΡΡΠΈΠΈ.Β
Π ΠΎΠΊΡΡΠ±ΡΠ΅ 2019 Π³ΠΎΠ΄Π° ΠΏΠΎΡΠ΅ΡΠ°Π΅ΠΌΠΎΡΡΡ cian.ru Π²ΡΡΠΎΡΠ»Π° ΡΠΆΠ΅ Π΄ΠΎ 15,3 ΠΌΠ»Π½ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Π² ΠΌΠ΅ΡΡΡ. ΠΡΠΎ ΡΡΠ°Π»ΠΎ ΡΠ΅ΡΡΠ΅Π·Π½ΠΎΠΉ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΠΎ Π΄ΠΎΡΡΠ°Π²ΠΊΠ΅ Π»ΠΎΠ³ΠΎΠ².Β
Π‘Π΅ΠΉΡΠ°Ρ ΠΌΡ Π³ΠΎΡΠΎΠ²ΠΈΠΌΡΡ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ ElasticSearch Π΄ΠΎ Π²Π΅ΡΡΠΈΠΈ 7. ΠΡΠ°Π²Π΄Π°, Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡ mapping ΠΌΠ½ΠΎΠ³ΠΈΡ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² Π² ElasticSearch, Ρ. ΠΊ. ΠΎΠ½ΠΈ ΠΏΠ΅ΡΠ΅Π΅Ρ Π°Π»ΠΈ Ρ Π²Π΅ΡΡΠΈΠΈ 5.5 ΠΈ Π±ΡΠ»ΠΈ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Ρ ΠΊΠ°ΠΊ deprecated Π² 6 Π²Π΅ΡΡΠΈΠΈ (Π² 7 Π²Π΅ΡΡΠΈΠΈ ΠΈΡ ΠΏΡΠΎΡΡΠΎ Π½Π΅Ρ). Π ΡΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡΠ΄Ρ ΡΠΎΡΡ-ΠΌΠ°ΠΆΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π° Π²ΡΠ΅ΠΌΡ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π²ΠΎΠΏΡΠΎΡΠ° ΠΎΡΡΠ°Π²ΠΈΡ Π½Π°Ρ Π±Π΅Π· Π»ΠΎΠ³ΠΎΠ². ΠΠ· 7 Π²Π΅ΡΡΠΈΠΈ Π±ΠΎΠ»ΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΆΠ΄Π΅ΠΌ Kibana Ρ ΡΠ»ΡΡΡΠ΅Π½Π½ΡΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ ΠΈ Π½ΠΎΠ²ΡΠΌΠΈ ΡΠΈΠ»ΡΡΡΠ°ΠΌΠΈ.Β
ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠ΅Π»ΠΈ ΠΌΡ Π΄ΠΎΡΡΠΈΠ³Π»ΠΈ: ΠΏΠ΅ΡΠ΅ΡΡΠ°Π»ΠΈ ΡΠ΅ΡΡΡΡ Π»ΠΎΠ³ΠΈ ΠΈ ΡΠΎΠΊΡΠ°ΡΠΈΠ»ΠΈ Π²ΡΠ΅ΠΌΡ ΠΏΡΠΎΡΡΠΎΡ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ΅ΡΠ° Ρ 2-3 ΠΏΠ°Π΄Π΅Π½ΠΈΠΉ Π² Π½Π΅Π΄Π΅Π»Ρ Π΄ΠΎ ΠΏΠ°ΡΡ ΡΠ°ΡΠΎΠ² ΡΠ΅ΡΠ²ΠΈΡΠ½ΡΡ
ΡΠ°Π±ΠΎΡ Π² ΠΌΠ΅ΡΡΡ. ΠΡΡ ΡΡΠ° ΡΠ°Π±ΠΎΡΠ° Π½Π° ΠΏΡΠΎΠ΄Π°ΠΊΡΠ΅Π½Π΅ ΠΏΠΎΡΡΠΈ Π½Π΅Π·Π°ΠΌΠ΅ΡΠ½Π°. ΠΠ΄Π½Π°ΠΊΠΎ ΡΠ΅ΠΏΠ΅ΡΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΡΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ Ρ Π½Π°ΡΠΈΠΌ ΡΠ΅ΡΠ²ΠΈΡΠΎΠΌ, ΠΌΠΎΠΆΠ΅ΠΌ Π±ΡΡΡΡΠΎ Π΄Π΅Π»Π°ΡΡ ΡΡΠΎ Π² ΡΠΏΠΎΠΊΠΎΠΉΠ½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΈ Π½Π΅ ΠΏΠ΅ΡΠ΅ΠΆΠΈΠ²Π°ΡΡ, ΡΡΠΎ Π»ΠΎΠ³ΠΈ ΠΏΠΎΡΠ΅ΡΡΡΡΡΡ. Π ΠΎΠ±ΡΠ΅ΠΌ, ΠΌΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½Ρ, ΡΡΠ°ΡΡΠ»ΠΈΠ²Ρ ΠΈ Π³ΠΎΡΠΎΠ²ΠΈΠΌΡΡ ΠΊ Π½ΠΎΠ²ΡΠΌ ΠΏΠΎΠ΄Π²ΠΈΠ³Π°ΠΌ, ΠΎ ΠΊΠΎΡΠΎΡΡΡ
ΡΠ°ΡΡΠΊΠ°ΠΆΠ΅ΠΌ ΠΏΠΎΠ·ΠΆΠ΅.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com