ααααΆααα½αα’αααααΆααα’ααααααΆ αααα»αααααα Alexander αααα»αααααΎααΆααα
CIAN ααΆαα·ααααα α αΎααααα»αα
αΌααα½ααααα»αααΆαααααααααααααααααα αα·αααααααααααααα·ααααααααααΎαααΆαα αααααΆαα
ααΆααααααααα αα
αααα»αααα·αααααα
ααααα’ααααααα»ααα½α ααΎαααααΌαααΆααααα½αα±ααααααΆαααααααααααααΎαααα½αααΆα 4 TB αααααααα ααα»αααα»ααα½ααααα αα·αα’αααΈαααααΎαααααΎααΆαα½ααα½αααα ααΆα ααΎαααΆααααααα ααα»ααΆα
αααΎα α αΎαα
αααααα αααααΆαα
ααΆααααααααααΆα
ααααα‘ααααααΌαααΆααααααΎαα‘αΎα ααΎααααΈααααΎαααΆααα½αααΆ αααα’αα»ααααΆαα±ααααΎααααααααΆααααα αΆααΆααααΆαααΆαααα ααα αα
αααα»αα’αααααααα αααα»αααΉααα·ααΆαα’αααΈαααααααααΎαααααααααα½αααΆαααα»ααααααααα½αααααΆα ααΎααααΈααααΎααΆαααΆαα½αααα αΌααααα·ααααααααααα·αααααΆααααΆαα
ααΎααΎαα αΆααααααΎααα α―ααΆ?
αααα»αααααααααα»ααααΆαααααΆαα
α»ααααααααα ααΆααααα»ααα
ααΎ cian.ru ααΆαααΎαα‘αΎααααΆαααΆαααα αα α αΎααα
ααααΈααΆαααΈ 2018 ααααααΆα 11.2 α
ααΆα
αααααααΆαααΆαααΆααααα’αααααααΎααααΆαα 40 ααΆαααΆαααααα»ααα½αααα αα
αααααα αα
ααααΆααααααΆαα ααΎαααΆαααΆααααααα αΌαααα XNUMX% αααααααα ααα» ααααααααΆααΌαα ααα»αααααΎααα·αα’αΆα
αααααααΆαα§ααααααα·α ααα»ααΆαααΆαααα αα α αΎαααΆαα
αααΆααααααααΆ αα·ααα·α
αα
αα·αααααααΉααααααααΆα
αααΎαααΎααααΈαααααααΆαααΆα ααΆααΏααααΎααααα·αα’αΆα
ααααΎαααΌαα ααα»αααααα αΆααα α αΎαααΆααΉαααΎαα‘αΎααα·ααααααΆααααΈαααααααα ααΆααΆααΆαααα α αΎαααΆαα’αααΈαα½ααααααααΌαααααΎα’αααΈααΆα
αα αααααα ααΎαααΆαααααΎα αααααααααααΆαααα·αααααα 10 ααΆαα½α ElasticSearch αααα 5.5.2 ααΆαα½αααΉαααΆααααααααααααααααααααααΆαααΎααααΈαααααΆαα»ααααααα ααα»α ααΆααααΌαααΆαααααΆαααΆαααΈααΆααα½αααααΆααα»αααΆααΆαααααααααΆαααααααα·αααα·αααΆααααααααααααα αααααΆααααααα αΌααααααααα ααα»αα·αααΆαααα ααααα ααΆααααΆαα ααα»α ααΆαα½ααααα»αααΆαααααΆαα½αααΆααααααααααα·ααααααΆαααααααΆααααααα
ααααΎαααΆααααααααα ααα»α αΌαααααΌαααΆααααααααα Logstash αα ααΎα ααααααααααααΆαα ααΎα’ααααααααααααα½α ElasticSearch α ααα½αααααΆαα αα·αα·αααααα½α ααααα·ααα·αααΈααα α αα½αααΆαααααΆα shards α ααΆαααααα·ααααααΆαααααα αα·ααααα αΆαααααααααΌαααΆααααα αα‘αΎα ααΆαααααα αααααααααΈαααα αα 100 ααΆααααα αΆααααα½ααα αααα»αα ααααααααααΆααααααα ααααααααααα·αααΆααααααα ααα»α αααΎα α αααααααΆααααααααΆαααΆαααα’ α αΎαααααΆαααααΆααααΆααααα α·ααααα»αααΆααα ααααααΆααααααααααααΆα‘αΎαα
αααα αΆαααααααααααΎααααΆαααΆαααα αα
ααα·ααΆααααααααα ααα»αααααΆααααααΎαααΆαααΎαα‘αΎααααΆαααΆαααα αα αααααΆαααααΎαααΆαααΈαααΆααααααΆααΆαα½αααααΆα αααααΆααα·αααα α ααα½αα’αααααααΎααααΆααααααΆααΆαααΎαα‘αΎαα αααααΆααα·αααα ααΎαααΆαα αΆααααααΎαααααΌααααΆαααααααα ααααΆααααααααααΈααααΌααααΆαααα αααααΎαααΆα monoliths α αΆαααααααααΎααα αααα»α C# αα·α Python α ααααΆααΈααααΌααααΈααΆα αααΎαααααααα½αααααααα monolith ααΆααααααΎααααααα ααα»ααααααααααααααΆααα αααααα αααααΆαα ααΆααααααααα
ααΆααααΌαααΆαααααΎααΆαααααααΆααααααΆαααΎααα αααα ααα»α αααα ααααααα·αα’αΆα αααααααααααΆαα αα αααααααααααα ααα»α αΆααααααΎαααααααααα»αα’ααααΆ 20 ααΆααααΆααααα»ααα½ααα·ααΆααΈ ααΆαααααα·αα₯αααααααααααΉαααΆααααΆααααααΎαα ααα½α shards ααα 6 ααΆαα α αΎαααΆαα αααΎαααΆα 600 shards αααα»ααα½α node α
αααααΆαα±ααααΆααααα αΆααΆαα½αααΆααααα αα RAM α αΎααα ααααααααααΆαααα½αααΆαα αααααααΆααα’ααα αΆααααααΎαααααΆααααΈαααα»ααααααααΆαααααΆ αα»αααΉαα ααΆα ααα αα·αααΆααααα»αααααΆαααααααααα αααααααΎα±ααααΆααααΎααααα·αα’αΆα ααααααα·αααααααα α αααααααΆαα α αΎααααα»αα’αα‘α»αααααααααΎαααααΌαααΆααα»αα αααααααααΆααααααα ααα»α α αΎαααααα·αααΎααΆααααα αΆααΆαα½ααααΆαααΈααα ααΎαααΆααααα 1/10 ααα αααααααΆααΌαααααΆαα αααααααααααΌα ααα½αα ααα½αααααΆαααααααααΆααααα»αααααΆαα
ααΎααααΆααααααα ααα» ααΎααα·ααααααΈααΌαα ααα»ααα§αααααα ααα»ααααα α αΎααα·αααΌααα·αααΆααα’αΆα ααΆαααΎαααΎαα»αααΈαααααααααααα α αΎααα αααα»αααααααα·ααααΆαααααα»αααααααΎα αααααΊαα·αα’αΆα ααα½αααααΆααα αααααΆαααααααΆαααΆαααΆαααααααΎαααΆααα’ααααααΌαααΆααα ααΆα‘αΎαααΎααααΈααααΎαααα»αααΈααα - αα»αααααΎαααααααα αααα αΆααΌα ααααΆα ααΎααααΈααααΎααΌα αααα ααΎαααααΌαααΆαααα·ααΆααααααααααααααα ααα» αα·αααΆαα ααα αΆαααααααΆααααΎααααααα»ααααααααΆααΆααααααα αααααΆααααα»ααα·αααααααααααααααΆαααααα·α αα ααΆααααα½ααα·αα·αααααΆαααΌαααααΉααα·αααααΉαααααΈααααααααα»αααααααααα»ααααααααααΈαααααα ααα»αααααα ααΎααααΈαααααΈααΆαααααααΆααααααα αΆ αα ααααααααα·ααΆαααα»ααααααααα ααα»ααΊαααα αα 2 TB αααα»ααα½αααααα
ααΎαααΆααααααααααα ααΎααααΈαα»αααααΆααααΆαααΆααααααααααα ααα»ααΆαααααα»α αα·αααΆααααααααααααααΆααααΆαα ααα αΆααααααα½ααααα ααΆααα ααααα ELK αααα’αα·ααααΆ 15 ααΆααΈαααα»αα’αα‘α»αααααα αΆα’ααα αΆααα (αααααααααΎαααΉαααα’ααααΎαα½ααααααααΆ KPI αααααααα»α) α
ααααααΆαααααα·αααααΈ αα·αααααΆαααααα -αααα
ααΎαααΆαα
αΆααααααΎαααΆααααααααα
ααααααααααααΎαα
αα
α»ααααααααΆααααα ElasticSearch ααΈ 5.5.2 αα
6.4.3 α ααΆααααΈαααααααα
ααααααααα 5 ααααααΎαααΆαααααΆαα α αΎαααΎαααΆααααααα
α
α·ααααα·αααΆ α αΎαααααΎαα
αα
α»ααααααααΆαααΆααΆαααααα»α - αα
αααα·αααΆααααααα ααα»α ααΌα
αααα ααΎαβααΆαβααααΎβααΆαβααααΆααβααααΌαβαααβαααα»αβαααβααβααΈαβααΈβααααβααα»αααααα
ααΆαααααΆααααααΌααααααααααΆααααααα»ααα ααααΆααααΆααααααΊααΆαα’αα»αααααααααα·ααΈ Apache Kafka ααΎααααΆααααΈαααααΆαα’ααααααααααααα½αααΆααα·ααααααα’αΆααααααααα·ααααααα αααα½ααααααΆαααΆαααΆααα½αααααααααααΎαααΈααΆαααΆααααααααααα ααα»α’αα‘α»ααααααΆααααα αΆααΆαα½α ElasticSearch α αααα»ααααααΆαα½αααααΆααα ααΎαααΆαααααααααααΆαα 2 αα αααα»αα ααααα α αΎαααααΌααα ααααΆαααααααααααα - αααα ααΆαα½αααΉαααααΆαα "αααα " α ααα½α 24 αααααΆαααΈααΆαααα αααα»ααααΆαααααααααααααΆαα αααα»αααααααααααα·ααααααα ααΎαααΆαααααΌααα·ααααααα ααα»αα αα½ααααααααααΎαααΆααααααα·ααα½αααΆααααααααα»αααΆααααααααΆααααα - nginx ααααΌα ααΆαααααα ααα»ααα α»ααααααα·ααΈα αααααα ααα»ααΌα ααΆα ααααΌαααΆααααααΌααα ααααΆααααααα ααα - ααααΆααααα α»α ααΆααααααΆαααα α αΎααααααΆααααΈ XNUMX αααα αααααα ααα» "ααααΆααα" ααΈααααΆαα "αααα " ααααΌαααΆααααααα
ααΎααααΈαα·ααααααΎαα ααα½ααααααααααααΌα α ααΎαααΆαααααΌαααΈααΆαααααα·ααααααααΆαα ααααααΆααα·ααα»αα ααΆαααααααΆαααΆα αααΎααα ααΎαααα·ααΆαααααΆαααααα·αααΆαααα ααα·αα·ααααααΊαα·ααα½αα±αααα»αα α·αααααΆαα‘αΎα ααΌα ααααα αΎαααΎαααΆααααααα α α·αααααααΎααΆαααααα·αααΆαα ααα½αα―αααΆααα αααα»ααα·αα·ααααα ααΎαααΆααα·ααΆααα·αα·ααααααΈαα½αα αα·ααααααααΆα ααα½αα―αααΆαααααααααΆααααΈααΆαααααα·ααα½αααααααΎαααΆαα ααΌα ααααααΎαααΆαααΆααααααα α shard ααα’αααα»α - αα·αααΎαααΈ 50 GB α
ααΆααααααΎαααααα·αααααΆαα ααααα
αααβααΆβαααΆαβααΆ ααΎαβαα·αβααΆαβαα»αβααααΆααβαααα αΆβααΆααβαααα»αβαααβααα ααΆα’αα»αα αα·αα·ααααααΌα
ααα
ααααα
α‘αΎαα ααΆαα·αααΆααααααααα·αααα‘αααααααΆααααααΆαα αα·αααααΌαααΆαααααα·α α αΎαααααΌαααΆααα»ααααααΆααααα’αΆαααΆααααααα·αα·ααααα
αΆααααΆαααΈαααα α
αΆααααΆααααΈααΎαααα
ααααΆαααααα·αααΆαααΆαααα·α
ααααα αααααΆαα±ααααΆααααααα·αααααααααααΆαααααΆααα·ααααααΆαα·αα·ααααααΈα
αααααααΆαααΆααααΆαααααα»α α αΎαααΆαααα»ααααααααααα
αα·αα·ααααααααα·αααΆαααααΆααααΆαααααααααααα·ααααΆααααα’αααααααααααααααααΎαααααΎαααααΆααααΆααααααααααα ααααααααααααααΆααααααΆααααΆααααααααααΌαααΆαααααααααα
ααΆαα·αα·αααα αα·αααααααααααα·ααααΆαα·ααα»α ααααααααΆαα±ααααΆαααΆαααΎαα‘αΎαααααα·αα’αΆα
αααααααααααΆαααααααααααααα½αα
ααα½ααα αΌαααα 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
ααααα·αααΎβααααΆαβαααααβαααααααααΆαβαα·αβαα»α αααβααΆαβαααα αΆβααΎαα‘αΎαα
ERROR alias "nginx_write" not found.
ERROR Failed to complete action: rollover. <type 'exceptions.ValueError'>: Unable to perform index rollover with alias "nginx_write".
ααΎαααΆαα αΆαα ααααΈαααααααααΆαα αααααααα αΆααααααααΆααααΆαααααΎααααααααααααΆαα α αΎαααΆαααΎααααααα αΆαα½ααααα ααΎαααΆαααααΌααα ααααΎαααααα·ααααΆααΆααα Logstash αααααααΎαααΆααααααα ααα»α αΌα (ααα ααααΌαααααααΆαααααα·αα αΆαααΆα α αα·αααΆααααααΉα)α ααΎαααΆαααΆααααΆαα αααα»α docker αααααΎαααΎαααααΎαααΆαααΆαααα docker-compose α αΎαααΎαααααΆαααΆαα logstash-exporter αα ααΈαααααααα αααααααΎαααααααα Prometheus αααααΆααααΆααααα½ααα·αα·αααααααα·ααααα·ααΆααα log streamα αα·ααΈααα ααΎαααΆααααααα±αααααα½αααΎαααΌαα±ααΆαααΎααααΈααααΆααααααΌααααΆααααΌαααΌαα ααα½ααα logstash instances αααααα½ααα»αααααΌααααα»αααΆαααααΎαααΆααααααααααααααα ααα»ααΈαα½ααα
αααααααααααΎααααα»ααααααα’α ααααα α ααΆα ααααααα cian.ru ααΆαααΎαα‘αΎαααα 12,8 ααΆαααΆαα α’αααααααΎααααΆαααααα½αααααααα»ααα½αααα ααΆαααααα ααΆααΆαααααααααΆαααΆααΆααααααααααααααΎαααΊαα ααΈαααααααΆαααααΆααααααΌαααα·αααααααααα·α α αΎαααΎαααααααα»αααΉαααΆααα·ααααααΆααααΆαα "ααααααα " αα·αα’αΆα ααααααααΉαααααα»αααΆα αα·ααααααααααΏαααααΆαααΉααααααΌααααααα ααα»ααΆααααΌαα ααΎαααΆαααα½ααα·αααααα "αααα " ααααα·αααΆαααΆααααΆααα ααα»ααααααΎαααααΌαααααααΎα’αααααΆαααααααα»αααΆαα ααα αΆααα ααα αα·αααααΎααΆααα·ααα»αααααα ααΎααααΈα ααα αΆααα·αα·ααααα±ααααααΎααααΆα
αααα»ααααααΆαα½αααααΆααα ααΆαααααΎααΆαααααααΆα αα·αααΆαααααΆααααααΌαααΆαααααααα logstash instances αα αααα»α cluster ααΆαααΆααααα»αααααΆααααααΆααα·ααααααΆααΆααΊααΆ docker-compose αααα»αααααα α αΎααααααααΆαααΆααα’ααααααΌαααΆαα’αα»ααααααααα (ααΎααααΈααααααα α»ααααα ααααααΈ ααΆα αΆαααΆα ααααα»αααΆαααααααΆααααΆααα’αααααααα servers αα·αααααΎ docker-compose up -d αααααααΈαααααα)α
ααΆαα ααα αΆαα‘αΎααα·ααααααααα ααα»
αα αααα»ααααααααΆααααααΆαααα ααΎααα αααααα»αααΆααααααα monolith ααααα»ααα ααΎα ααααααααα»αααΎαα‘αΎα α αΎαααα αΌααααααααα ααα»αααα»ααα·ααα·α 30 ααΆααααΆααααα»ααα½ααα·ααΆααΈα
ααΎαβααΆαβα
αΆααβααααΎαβααΆαβααααΎβα‘αΎαβαα·αβαααααΆααβααΆαα½αβααΉαβααΆαβα’αΆαααααβαααααβααΉαα ααΎαααΆαααααΌαααΈα’ααααααααααααα½αααααΆαααΆαααα
ααΆααΈ αααα½αααααΆαααα·αααααα α αΎαααΆααααααααα»αααααααααααααααΆαα αα·αααα ααααα»αα αααααΆαα nodes ααΎαααααΎααΆαααααααα
ααΆααααααααααΈαα
- αααααΆααααααΆαα "αααα "α E3-1270 v6 / 960Gb SSD / 32 Gb x 3 x 2 (3 αααααΆαα Hot1 αα·α 3 αααααΆαα Hot2) α
- αααααΆααααααΆαα "ααααααα "α E3-1230 v6 / 4Tb SSD / 32 Gb x 4 α
αα αααα»αααΆαααααΎα‘αΎααα·αααα ααΎαααΆαααααΆααααααΌααα·αα·ααααααΆαα½αααΉααααααα ααα»α αΌαααααΎαααΆααα microservices αααααΆαααα αααΌα ααααΆαα ααΉα nginx logs αα½ααα»ααα ααΆαααααα»αααΈααΈααα nodes "hot" ααΈα α₯α‘αΌααααααΎααααααΆαα»ααα·αααααααα ααΎααααΆαα "αααα " αααααα 20 αααα α αΎααααααΆααααααααααα½αααΆαα ααααΆαα "ααααααα " αα αααααααααα ααααααααααα ααα»α
ααΎαααΆααααααααΆααααα αΆαααα·αα·ααααααΌα ααααααΆαααααααααααα ααΆααααααααααΆαααααα·αααααααΆα α₯α‘αΌαααααααααααααααααΌαααΆαααααα·ααααααΆαα 23 αααααααα»αααααΈααΆααααα αααααΈααΆααΆααα·αααααααα·α αα½α αα ααΈααααααααα αααααΆααααααΎαα ααα½α shards ααααα·α (ααΆααααα αα 800 αααα»αα αααααα½ααα) ααα»ααααααΆαααααααααααΆαα’αα»ααααα αααααααΆααΊα’αΆα α’ααα±αααΆαα
ααΆαααααα ααΆαααααΆαα "αααα " α ααα½αααααΆααα½α α αΎαααΆαααααααΆαα "αααα " α ααα½ααα½αααα»ααααααα αααα»αα αααααα ααΆαααααΆαα±ααααΆαααΆααααααΆααααααααα·α ααΎααααΎαααα»αα ααααααααααααΌα ααα»ααααααΆααααααΎαα ααα½αααααΆααααΆαααα’ααΆααααΉααααααααΆααααα αΆαααα
ααΆαααααΎααΆαααααααΆααααααααΆααααααααΆααααα αΆααααΆαααααααΆαααΆαααααΎααΆαααααααΆαααΆαααααααΆαααααααααααααα·αααααα ααΎααααΈααααΎααΌα αααα ααΎαααΆαααΆαααααααΆαα αααααΆαα ααΆαααααααα Nomad cluster ααααααααααα ααΉαα’αααΈαααααΎαααΆαααΆαααααααΆααα½α α αΎααα αααα»αααα·αααααα αααααΆααααααααααα·ααΆα Logstash αα·αααααΆααααααΌααααααααααααααααα·α’αΆαααααααΎααααα»ααααααααα»ααααααΎαααΉααααααα
αααααΆααααααΆααα’ααΆαα
ααΆαααααααΆαααΆαααααααα ααΆαααααααααααααΆαα’αα»ααααααΆαααααΎα±ααααα’α₯αααα αα α αΎαα₯α‘αΌααααααΎααααααΆαα»ααα·αααααα 13,3 TB - αααααα ααα»ααΆααα’αααααααΆαααααααα 4 αααα αααα αΆαααΆα ααααααΆααααΆααα·ααΆααααααΆαα’αΆααααααααΆαααΌαααααΉαα ααΎαααααααααααααα ααα»αα½αα ααα½ααα ααΆαααααα αααααΎααααααααα ααααΆα ααα·αα ααΎααααΈααααΎα±ααααΆαααΆααααααα·αααααααΆααααααΆααααα½α ααΎαααΆααααααααααααΆααα αααααα αααααΆαα ααΆαααααααα αα·αααααααΈααααααΆααααΆααα½ααα»αααΆαααααααΆαααααααααααααα·αααααα αΆααΌαα α αααααΆααααΈαααααΎαα ααα½αααααΆαααα·αααααααααααααΌαααΆαααααααα»ααααααΆααααααΆαααααα ααΎαααΉαααααΌααα ααΆααααα»ααα·ααααααααΈ 4 αα 7 ααααα αααααΉααααααααααΆαααααααΆααααΆαααΆαααααα·ααααα·ααΆα αααααΆαααΎααααααααααΆααΆααααΎαα’αααααα§ααααααα·α ααα»α±ααααΆαααΆααααΆααααα’αΆα ααααΎαα ααΆα α αΎααααααΆααααΆααααΎαα’ααααααααααααααααΆααα·ααααααααα‘αααααααα
αα αααα»ααΆ ααααΆα 2019 α ααΆα ααααα ααΆαα cian.ru ααΆαααΎαα‘αΎαααα 15,3 ααΆαααΆαα α’αααααααΎααααΆαααααα½αααααααα»ααα½αααα αααααΆαααααΆαααΆααΆαααΆαααααααααααααααααααααααααααΆαααααΆαααααααααααααΆααααΆαα ααα αΆααααααα ααα»α
α₯α‘αΌαααα ααΎααααα»ααααα αααααΎαα αα α»ααααααααΆα ElasticSearch αα αααα 7α αααααΆαααΆαααΆααααα αααααΆαααααα αΆααα ααΎαααΉαααααΌαααααΎαα αα α»ααααααααΆαααΆαααΌαααΆααααααααααααααΆα αααΎααα αααα»α ElasticSearch α αΆααααΆααααΈαα½αααααΆαααααΆααααααΌαααΈαααα 5.5 α αΎαααααΌαααΆααααααΆαααΆααααΌαααΆαααα·ααααα αααα»ααααα 6 (αα½αααΆααΆααααααΆαα·αααΆααα αααα»ααααααα α§). αααααΆααααααΆ αααα»αα’αα‘α»ααααααααΎαααΆαα’αΆααααα ααααΆααααΆααΆαα§ααααααα·α ααα»αα½ααααααα αααααΉαααααΎα±ααααΎαααααΆααααααα ααα» ααααααααααααα αΆααααΌαααΆααααααααΆαα ααααααααΈ 7 ααΎααααα»ααααααΉααααα αΆα Kibana ααΆαα½αααΉαα ααα»α αααααΆααααααααααΎαα‘αΎα αα·ααααααααααΈα
ααΎααααααα
ααΆαααΌαααααα
α
ααααααααααΎαα ααΎααααααΆααααααααααα ααα» αα·αααΆααααααααααααααΆααα
αΆαααα
αααααα αααααΆαα
ααΆααααααααααΈααΆαααΆαα 2-3 αααααα»ααα½ααααααΆα ααα
ααΆαααΆαααααΆαααΈαααΈαααααααα»ααα½αααα ααΆαααΆαααΆααα’ααααααα
αααα»αααα·αααααααΊααααΎαααααΎααα·αααΎαα αααααΆαααΆαααΆααααα α₯α‘αΌααααααΎαα’αΆα
αααααααΆαα
αααΆααααΌαα’αααΈααααααα»αααΎαα‘αΎαααΆαα½αααααΆααααααααααΎα ααΎαα’αΆα
ααααΎααΆααΆααααΆαααΆαααα αααααα»αααααααααΆαα α αΎααα»αααΆααααααΆαααααα ααα»ααΉαααααΌαααΆαααααα ααΆααΌαα
ααΎααααα
α·ααα ααΈαααΆα αα·ααααα
ααααααΆααααΆαααααααααααα
ααααΈ αααααΎαααΉααα·ααΆααα
ααααααααα
ααααα: www.habr.com