ΠΡΠΈΠ²Π΅Ρ, ΠΌΠ΅Π½Ρ Π·ΠΎΠ²ΡΡ ΠΠ²Π³Π΅Π½ΠΈΠΉ, Ρ ΡΠΈΠΌΠ»ΠΈΠ΄ B2B-Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π² Π‘ΠΈΡΠΈΠΌΠΎΠ±ΠΈΠ». ΠΠ΄Π½ΠΎΠΉ ΠΈΠ· Π·Π°Π΄Π°Ρ Π½Π°ΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΉ ΠΏΠΎ Π·Π°ΠΊΠ°Π·Ρ ΡΠ°ΠΊΡΠΈ ΠΎΡ ΠΏΠ°ΡΡΠ½Π΅ΡΠΎΠ², ΠΈ Π΄Π»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²ΠΈΡΠ° ΠΌΡ Π²ΡΠ΅Π³Π΄Π° Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ Π² Π½Π°ΡΠΈΡ
ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ°Ρ
. Π Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π½Π°Π΄ΠΎ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΡΠ»Π΅Π΄ΠΈΡΡ Π·Π° Π»ΠΎΠ³Π°ΠΌΠΈ.
Π Π‘ΠΈΡΠΈΠΌΠΎΠ±ΠΈΠ» Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π»ΠΎΠ³Π°ΠΌΠΈ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ELK-ΡΡΠ΅ΠΊ (ElasticSearch, Logstash, Kibana), ΠΈ ΠΎΠ±ΡΡΠΌ ΠΏΡΠΈΡ ΠΎΠ΄ΡΡΠΈΡ ΡΡΠ΄Π° Π΄Π°Π½Π½ΡΡ ΠΎΠ³ΡΠΎΠΌΠ΅Π½. ΠΠ°ΠΉΡΠΈ Π² ΡΡΠΎΠΉ ΠΌΠ°ΡΡΠ΅ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΡΠ²ΠΈΡΡΡΡ ΠΏΠΎΡΠ»Π΅ Π΄Π΅ΠΏΠ»ΠΎΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎ. Π Π΄Π»Ρ ΠΈΡ Π½Π°Π³Π»ΡΠ΄Π½ΠΎΠ³ΠΎ Π²ΡΡΠ²Π»Π΅Π½ΠΈΡ Π² Kibana Π΅ΡΡΡ ΡΠ°Π·Π΄Π΅Π» Dashboard.
ΠΠ° Π₯Π°Π±ΡΠ΅ Π΅ΡΡΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠ°ΡΠ΅ΠΉ Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΠΌΠΈ, ΠΊΠ°ΠΊ Π½Π°ΡΡΡΠΎΠΈΡΡ ELK-ΡΡΠ΅ΠΊ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ , Π½ΠΎ ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Dashboard Π°ΠΊΡΡΠ°Π»ΡΠ½ΡΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠ² Π½Π΅Ρ. ΠΠΎΡΡΠΎΠΌΡ Ρ Ρ ΠΎΡΡ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ, ΠΊΠ°ΠΊ Π² Kibana ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΏΡΠΈΡ ΠΎΠ΄ΡΡΠΈΡ Π»ΠΎΠ³ΠΎΠ².
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ°
Π§ΡΠΎΠ±Ρ Π±ΡΠ»ΠΎ Π½Π°Π³Π»ΡΠ΄Π½Π΅Π΅, Ρ ΡΠΎΠ·Π΄Π°Π» Docker-ΠΎΠ±ΡΠ°Π· Ρ ELK ΠΈ Filebeat. Π ΠΏΠΎΠΌΠ΅ΡΡΠΈΠ» Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ Π½Π΅Π±ΠΎΠ»ΡΡΡΡ
ΠΠ»ΠΎΠ½ΠΈΡΡΠ΅ΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠ΅ΠΉ docker-compose
ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌΠΈ ELK, ΠΈ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ Π΅Π³ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ docker-compose up
. ΠΠ°ΠΌΠ΅ΡΠ΅Π½Π½ΠΎ Π½Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡ ΠΊΠ»ΡΡ -d
, ΡΡΠΎΠ±Ρ Π²ΠΈΠ΄Π΅ΡΡ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠ°Π±ΠΎΡΡ ELK-ΡΡΠ΅ΠΊΠ°.
git clone https://github.com/et-soft/habr-elk
cd habr-elk
docker-compose up
ΠΡΠ»ΠΈ Π²ΡΡ Π½Π°ΡΡΡΠΎΠ΅Π½ΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ, ΡΠΎ Π² Π»ΠΎΠ³Π°Ρ ΠΌΡ ΡΠ²ΠΈΠ΄ΠΈΠΌ Π·Π°ΠΏΠΈΡΡ (Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½Π΅ ΡΡΠ°Π·Ρ, ΠΏΡΠΎΡΠ΅ΡΡ Π·Π°ΠΏΡΡΠΊΠ° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° ΡΠΎ Π²ΡΠ΅ΠΌ ΡΡΠ΅ΠΊΠΎΠΌ ΠΌΠΎΠΆΠ΅Ρ Π·Π°Π½ΠΈΠΌΠ°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠΈΠ½ΡΡ):
{"type":"log","@timestamp":"2020-09-20T05:55:14Z","tags":["info","http","server","Kibana"],"pid":6,"message":"http server running at http://0:5601"}
ΠΠΎ Π°Π΄ΡΠ΅ΡΡ localhost:5061
Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΡΠΊΡΡΡΡΡΡ Kibana.
ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ΅, ΡΡΠΎ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ, ΡΡΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Index Pattern Π΄Π»Ρ Kibana Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π½Π°Π΄ΠΎ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΠΌ curl-Π·Π°ΠΏΡΠΎΡ ΠΈΠ»ΠΈ ΡΠ΄Π΅Π»Π°Π΅ΠΌ ΡΡΠ΄ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ Π² Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅.
$ curl -XPOST -D- 'http://localhost:5601/api/saved_objects/index-pattern'
Β Β Β Β -H 'Content-Type: application/json'
Β Β Β Β -H 'kbn-xsrf: true'
Β Β Β Β -d '{"attributes":{"title":"logstash-*","timeFieldName":"@timestamp"}}'
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Index Pattern ΡΠ΅ΡΠ΅Π· Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ
ΠΠ»Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ Π² Π»Π΅Π²ΠΎΠΌ ΠΌΠ΅Π½Ρ ΡΠ°Π·Π΄Π΅Π» Discover, ΠΈ ΠΏΠΎΠΏΠ°Π΄Π°Π΅ΠΌ Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Index pattern.
ΠΠ°ΠΆΠ°Π² Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ Β«Create index patternΒ», ΠΏΠΎΠΏΠ°Π΄Π°Π΅ΠΌ Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈΠ½Π΄Π΅ΠΊΡΠ°. Π ΠΏΠΎΠ»Π΅ Β«Index pattern nameΒ» Π²Π²ΠΎΠ΄ΠΈΠΌ Β«logstash-*Β». ΠΡΠ»ΠΈ Π²ΡΡ Π½Π°ΡΡΡΠΎΠ΅Π½ΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ, Π½ΠΈΠΆΠ΅ Kibana ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ ΠΏΠΎΠΏΠ°Π²ΡΠΈΠ΅ ΠΏΠΎΠ΄ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΡ.
ΠΠ° ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅ Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΠΏΠΎΠ»Π΅ Ρ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΎΡΠΌΠ΅ΡΠΊΠΎΠΉ, Π² Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠΎ @timestamp
.
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΏΠΎΡΠ²ΠΈΡΡΡ ΡΡΡΠ°Π½ΠΈΡΠ° Π½Π°ΡΡΡΠΎΠ΅ΠΊ ΠΈΠ½Π΄Π΅ΠΊΡΠ°, Π½ΠΎ ΡΠ΅ΠΉΡΠ°Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ
Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ ΠΎΡ Π½Π°Ρ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ.
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ½ΠΎΠ²Π° ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π² ΡΠ°Π·Π΄Π΅Π» Discover, Π³Π΄Π΅ ΡΠ²ΠΈΠ΄ΠΈΠΌ Π·Π°ΠΏΠΈΡΠΈ Π»ΠΎΠ³ΠΎΠ².
Dashboard
Π Π»Π΅Π²ΠΎΠΌ ΠΌΠ΅Π½Ρ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Π½Π° ΡΠ°Π·Π΄Π΅Π» ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Dashboard ΠΈ ΠΏΠΎΠΏΠ°Π΄Π°Π΅ΠΌ Π½Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΡΡ ΡΡΡΠ°Π½ΠΈΡΡ.
ΠΠ°ΠΆΠΈΠΌΠ°Π΅ΠΌ Π½Π° Β«Create new dashboardΒ» ΠΈ ΠΏΠΎΠΏΠ°Π΄Π°Π΅ΠΌ Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π² Dashboard.
ΠΠ°ΠΆΠΈΠΌΠ°Π΅ΠΌ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ Β«Create newΒ», ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΡ Π²ΡΠ±ΡΠ°ΡΡ Π²ΠΈΠ΄ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ
. Π Kibana ΠΈΡ
Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ, Π½ΠΎ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Β«Vertical BarΒ» ΠΈ ΡΠ°Π±Π»ΠΈΡΠ½ΠΎΠ³ΠΎ Β«Data TableΒ». ΠΡΡΠ°Π»ΡΠ½ΡΠ΅ Π²ΠΈΠ΄Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡΡΡ ΠΏΠΎΡ
ΠΎΠΆΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ.Β
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΈΠΌΠ΅ΡΡ ΠΌΠ΅ΡΠΊΠΈ B ΠΈ E β ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΡΠΎΡΠΌΠ°Ρ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠΉ ΠΈΠ»ΠΈ Π² ΡΡΠ°Π΄ΠΈΠΈ Π±Π΅ΡΠ°-ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ. Π‘ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ ΡΠΎΡΠΌΠ°Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΌΠ΅Π½ΡΡΡΡΡ ΠΈΠ»ΠΈ ΡΠΎΠ²ΡΠ΅ΠΌ ΠΈΡΡΠ΅Π·Π½ΡΡΡ ΠΈΠ· Kibana.
Vertical Bar
ΠΠ»Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ° Β«Vertical BarΒ» ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π³ΠΈΡΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠΎΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΡΡΠΏΠ΅ΡΠ½ΡΡ ΠΈ Π½Π΅ΡΡΠΏΠ΅ΡΠ½ΡΡ ΡΡΠ°ΡΡΡΠΎΠ² ΠΎΡΠ²Π΅ΡΠ° Π½Π°ΡΠ΅Π³ΠΎ ΡΠ΅ΡΠ²ΠΈΡΠ°. ΠΠΎ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΠΈ Π½Π°ΡΡΡΠΎΠ΅ΠΊ ΠΏΠΎΠ»ΡΡΠΈΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π³ΡΠ°ΡΠΈΠΊ:
Π ΡΡΠΏΠ΅ΡΠ½ΡΠΌ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΎΡΠ½ΠΎΡΠΈΡΡ Π²ΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ ΡΠΎ ΡΡΠ°ΡΡΡΠΎΠΌ ΠΎΡΠ²Π΅ΡΠ° < 400, Π° ΠΊ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ½ΡΠΌ β >= 400.
ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π³ΡΠ°ΡΠΈΠΊΠ° Β«Vertical BarΒ» Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠ±ΡΠ°ΡΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊ Π΄Π°Π½Π½ΡΡ . ΠΡΠ±ΠΈΡΠ°Π΅ΠΌ Index Pattern, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΡΠ°Π½Π΅Π΅.
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΠΏΠΎΡΠ»Π΅ Π²ΡΠ±ΠΎΡΠ° ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ° Π΄Π°Π½Π½ΡΡ
ΠΏΠΎΡΠ²ΠΈΡΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠΏΠ»ΠΎΡΠ½ΠΎΠΉ Π³ΡΠ°ΡΠΈΠΊ. ΠΠ°ΡΡΡΠΎΠΈΠΌ Π΅Π³ΠΎ.
Π Π±Π»ΠΎΠΊΠ΅ Β«BucketsΒ» Π½Π°ΠΆΠΌΠ΅ΠΌ ΠΊΠ½ΠΎΠΏΠΊΡ Β«AddΒ», Π²ΡΠ±Π΅ΡΠ΅ΠΌ Β«X-asisΒ» ΠΈ Π½Π°ΡΡΡΠΎΠΈΠΌ ΠΎΡΡ Π₯. ΠΡΠ»ΠΎΠΆΠΈΠΌ ΠΏΠΎ Π½Π΅ΠΉ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΎΡΠΌΠ΅ΡΠΊΠΈ ΠΏΠΎΡΡΡΠΏΠ»Π΅Π½ΠΈΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ Π² Π»ΠΎΠ³. Π ΠΏΠΎΠ»Π΅ Β«AggregationΒ» Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ Β«Date HistogramΒ», Π° Π² Β«FieldΒ» Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ Β«@timestampΒ», ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΠΈΠΉ Π½Π° Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ΅ ΠΏΠΎΠ»Π΅. Β«Minimum intervalΒ» ΠΎΡΡΠ°Π²ΠΈΠΌ Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ Β«AutoΒ», ΠΈ ΠΎΠ½ Π±ΡΠ΄Π΅Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎΠ΄ΡΡΡΠ°ΠΈΠ²Π°ΡΡΡΡ ΠΏΠΎΠ΄ Π½Π°ΡΠ΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅.Β
ΠΠ°ΠΆΠ°Π² Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ Β«UpdateΒ», ΠΌΡ ΡΠ²ΠΈΠ΄ΠΈΠΌ Π³ΡΠ°ΡΠΈΠΊ Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΊΠ°ΠΆΠ΄ΡΠ΅ 30 ΡΠ΅ΠΊΡΠ½Π΄.
Π’Π΅ΠΏΠ΅ΡΡ Π½Π°ΡΡΡΠΎΠΈΠΌ ΡΡΠΎΠ»Π±ΡΡ ΠΏΠΎ ΠΎΡΠΈ Y. Π‘Π΅ΠΉΡΠ°Ρ Ρ Π½Π°Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ ΠΎΠ±ΡΠ΅Π΅ ΡΠΈΡΠ»ΠΎ Π·Π°ΠΏΡΠΎΡΠΎΠ² Π² Π²ΡΠ±ΡΠ°Π½Π½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π» Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
ΠΠ·ΠΌΠ΅Π½ΠΈΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Β«AggregationΒ» Π½Π° Β«Sum BucketΒ», ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π½Π°ΠΌ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΏΠΎ ΡΡΠΏΠ΅ΡΠ½ΡΠΌ ΠΈ Π½Π΅ΡΡΠΏΠ΅ΡΠ½ΡΠΌ Π·Π°ΠΏΡΠΎΡΠ°ΠΌ. Π Π±Π»ΠΎΠΊΠ΅ Bucket -> Aggregation Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ Π°Π³ΡΠ΅Π³Π°ΡΠΈΡ ΠΏΠΎ Β«FiltersΒ» ΠΈ Π·Π°Π΄Π°ΡΠΌ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΡ ΠΏΠΎ Β«statusCode >= 400Β». Π Π² ΠΏΠΎΠ»Π΅ Β«Custom labelΒ» ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ Π½Π°ΡΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π΄Π»Ρ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ½ΡΡΠ½ΠΎΠ³ΠΎ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π² Π»Π΅Π³Π΅Π½Π΄Π΅ Π½Π° Π³ΡΠ°ΡΠΈΠΊΠ΅ ΠΈ Π² ΠΎΠ±ΡΠ΅ΠΌ ΡΠΏΠΈΡΠΊΠ΅.
ΠΠ°ΠΆΠ°Π² ΠΊΠ½ΠΎΠΏΠΊΡ Β«UpdateΒ» ΠΏΠΎΠ΄ Π±Π»ΠΎΠΊΠΎΠΌ Π½Π°ΡΡΡΠΎΠ΅ΠΊ, ΠΏΠΎΠ»ΡΡΠΈΠΌ Π³ΡΠ°ΡΠΈΠΊ Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ½ΡΠΌΠΈ Π·Π°ΠΏΡΠΎΡΠ°ΠΌΠΈ.
ΠΡΠ»ΠΈ Π½Π°ΠΆΠ°ΡΡ Π½Π° ΠΊΡΡΠ³ ΠΎΠΊΠΎΠ»ΠΎ Π»Π΅Π³Π΅Π½Π΄Ρ, ΡΠΎ ΠΏΠΎΡΠ²ΠΈΡΡΡ ΠΎΠΊΠ½ΠΎ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ΅Π½ΡΡΡ ΡΠ²Π΅Ρ ΡΡΠΎΠ»Π±ΡΠΎΠ².
Π’Π΅ΠΏΠ΅ΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π½Π° Π³ΡΠ°ΡΠΈΠΊ Π΄Π°Π½Π½ΡΠ΅ ΠΎΠ± ΡΡΠΏΠ΅ΡΠ½ΡΡ
Π·Π°ΠΏΡΠΎΡΠ°Ρ
. Π ΡΠ°Π·Π΄Π΅Π»Π΅ Β«MetricsΒ» Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ ΠΊΠ½ΠΎΠΏΠΊΡ Β«AddΒ» ΠΈ Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ Β«Y-axisΒ».
Π ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠΉ ΠΌΠ΅ΡΡΠΈΠΊΠ΅ Π΄Π΅Π»Π°Π΅ΠΌ ΡΠ°ΠΊΠΈΠ΅ ΠΆΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ, ΠΊΠ°ΠΊ ΠΈ Π΄Π»Ρ ΠΎΡΠΈΠ±ΠΎΡΠ½ΡΡ
Π·Π°ΠΏΡΠΎΡΠΎΠ². Π’ΠΎΠ»ΡΠΊΠΎ Π² ΡΠΈΠ»ΡΡΡΠ΅ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ Β«statusCode < 400Β».
ΠΠ·ΠΌΠ΅Π½ΠΈΠ² ΡΠ²Π΅Ρ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΡΠΎΠ»Π±ΡΠ°, ΠΏΠΎΠ»ΡΡΠΈΠΌ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΠΎΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ½ΡΡ
ΠΈ ΡΡΠΏΠ΅ΡΠ½ΡΡ
Π·Π°ΠΏΡΠΎΡΠΎΠ².
ΠΠ°ΠΆΠ°Π² Π² Π²Π΅ΡΡ
Π½Π΅ΠΉ ΡΠ°ΡΡΠΈ ΡΠΊΡΠ°Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ Β«SaveΒ» ΠΈ ΡΠΊΠ°Π·Π°Π² Π½Π°Π·Π²Π°Π½ΠΈΠ΅, ΠΌΡ ΡΠ²ΠΈΠ΄ΠΈΠΌ Π½Π° Dashboard ΠΏΠ΅ΡΠ²ΡΠΉ Π³ΡΠ°ΡΠΈΠΊ.
Data Table
Π’Π΅ΠΏΠ΅ΡΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ°Π±Π»ΠΈΡΠ½ΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Β«Data TableΒ». Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΡΠ°Π±Π»ΠΈΡΡ ΡΠΎ ΡΠΏΠΈΡΠΊΠΎΠΌ Π²ΡΠ΅Ρ URL, ΠΊ ΠΊΠΎΡΠΎΡΡΠΌ Π±ΡΠ»ΠΈ Π·Π°ΠΏΡΠΎΡΡ, ΠΈ ΡΠΈΡΠ»ΠΎ ΡΡΠΈΡ Π·Π°ΠΏΡΠΎΡΠΎΠ². ΠΠ°ΠΊ ΠΈ Π² ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Ρ Vertical Bar, ΡΠ½Π°ΡΠ°Π»Π° Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ ΠΈΡΡΠΎΡΠ½ΠΈΠΊ Π΄Π°Π½Π½ΡΡ .
ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π½Π° ΡΠΊΡΠ°Π½Π΅ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡΡ ΡΠ°Π±Π»ΠΈΡΠ° Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΎΠΉ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΎΠ±ΡΠ΅Π΅ ΡΠΈΡΠ»ΠΎ Π·Π°ΠΏΡΠΎΡΠΎΠ² Π·Π° Π²ΡΠ±ΡΠ°Π½Π½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π» Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
ΠΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π±Π»ΠΎΠΊ Β«BucketsΒ». ΠΠ°ΠΆΠΈΠΌΠ°Π΅ΠΌ ΠΊΠ½ΠΎΠΏΠΊΡ Β«AddΒ» ΠΈ Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ Β«Split rowsΒ».
Π ΠΏΠΎΠ»Π΅ Β«AggregationΒ» Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ Β«TermsΒ». Π Π² ΠΏΠΎΡΠ²ΠΈΠ²ΡΠ΅ΠΌΡΡ ΠΏΠΎΠ»Π΅ Β«FieldΒ» Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ Β«url.keywordΒ».
Π£ΠΊΠ°Π·Π°Π² Π² ΠΏΠΎΠ»Π΅ Β«Custom labelΒ» Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Β«UrlΒ» ΠΈ Π½Π°ΠΆΠ°Π² Β«UpdateΒ», ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠΌ ΠΆΠ΅Π»Π°Π΅ΠΌΡΡ ΡΠ°Π±Π»ΠΈΡΡ Ρ ΡΠΈΡΠ»ΠΎΠΌ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΠΈΠ· URL Π·Π° Π²ΡΠ±ΡΠ°Π½Π½ΡΠΉ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΠΊ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
Π Π²Π΅ΡΡ
Π½Π΅ΠΉ ΡΠ°ΡΡΠΈ ΡΠΊΡΠ°Π½Π° ΡΠ½ΠΎΠ²Π° Π½Π°ΠΆΠΌΡΠΌ ΠΊΠ½ΠΎΠΏΠΊΡ Β«SaveΒ» ΠΈ ΡΠΊΠ°ΠΆΠ΅ΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΈΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Urls. ΠΠ΅ΡΠ½Π΅ΠΌΡΡ Π½Π°Π·Π°Π΄ Π½Π° Dashboard ΠΈ ΡΠ²ΠΈΠ΄ΠΈΠΌ ΠΎΠ±Π° ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ
ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ.
Π Π°Π±ΠΎΡΠ° Ρ Dashboard
Π‘ΠΎΠ·Π΄Π°Π²Π°Ρ Dashboard, Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΌΡ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π»ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π²ΠΈΠ΄Π°. ΠΠ΅Ρ ΡΠΌΡΡΠ»Π° ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π² ΠΎΠ±ΡΠ΅ΠΊΡΠ°Ρ Π΄Π°Π½Π½ΡΠ΅ Π΄Π»Ρ ΡΠΈΠ»ΡΡΡΠΎΠ², Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Β«Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π΄Π°ΡΒ», Β«ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΡ ΠΏΠΎ useragentΒ», Β«ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΡ ΠΏΠΎ ΡΡΡΠ°Π½Π΅ Π·Π°ΠΏΡΠΎΡΠ°Β» ΠΈ Ρ.Π΄. ΠΠΎΡΠ°Π·Π΄ΠΎ ΡΠ΄ΠΎΠ±Π½Π΅Π΅ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΆΠ΅Π»Π°Π΅ΠΌΡΠΉ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΠΊ ΠΈΠ»ΠΈ Π·Π°Π΄Π°Π²Π°ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΡ Π² ΠΏΠ°Π½Π΅Π»ΠΈ Π·Π°ΠΏΡΠΎΡΠΎΠ², ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π½Π°Π΄ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ.
ΠΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡΠ΅ Π½Π° ΡΡΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ ΡΠΈΠ»ΡΡΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡ ΠΊΠΎ Π²ΡΠ΅ΠΌΡ Dashboard, ΠΈ Π²ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΡΡΡΠΎΡΡΡΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ Π°ΠΊΡΡΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΎΡΡΠΈΠ»ΡΡΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Kibana β ΠΌΠΎΡΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π»ΡΠ±ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π² ΡΠ΄ΠΎΠ±Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅. Π― ΠΏΠΎΡΡΠ°ΡΠ°Π»ΡΡ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΡ Π΄Π²ΡΡ
ΠΎΡΠ½ΠΎΠ²Π½ΡΡ
Π²ΠΈΠ΄ΠΎΠ² ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ. ΠΠΎ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ Π²ΠΈΠ΄Ρ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡΡΡ ΠΏΠΎΡ
ΠΎΠΆΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ. Π ΠΎΠ±ΠΈΠ»ΠΈΠ΅ Π½Π°ΡΡΡΠΎΠ΅ΠΊ, ΠΊΠΎΡΠΎΡΡΠ΅ Ρ ΠΎΡΡΠ°Π²ΠΈΠ» Β«Π·Π° ΠΊΠ°Π΄ΡΠΎΠΌΒ», ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡ Π²Π°ΠΌ ΠΎΡΠ΅Π½Ρ Π³ΠΈΠ±ΠΊΠΎ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡ Π³ΡΠ°ΡΠΈΠΊΠΈ ΠΏΠΎΠ΄ ΡΠ²ΠΎΠΈ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΠΈ.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com