Π ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ
ΠΡΡΡΡΡ Π½Π΅ ΠΎΠ±Ρ
Π²Π°ΡΠ° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΡΡΠ΅ΠΊΠ° ELK, ΡΡΠΉ ΠΊΠ°ΡΠΎ ΠΈΠΌΠ° ΠΎΠ³ΡΠΎΠΌΠ΅Π½ Π±ΡΠΎΠΉ ΡΡΠ°ΡΠΈΠΈ ΠΏΠΎ ΡΠ°Π·ΠΈ ΡΠ΅ΠΌΠ°; ΡΠ΅ ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ.
ΠΠ΅ΠΊΠ° ΡΡΡΡΠ°Π²ΠΈΠΌ ΠΏΠ»Π°Π½ Π·Π° Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Π·Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° Π½Π° Logstash:
- ΠΡΠΎΠ²Π΅ΡΠΊΠ° Π΄Π°Π»ΠΈ elasticsearch ΡΠ΅ ΠΏΡΠΈΠ΅ΠΌΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ (ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΡΠ° ΠΈ ΠΎΡΠ²ΠΎΡΠ΅Π½ΠΎΡΡΡΠ° Π½Π° ΠΏΠΎΡΡΠ°).
- ΠΠ±ΠΌΠΈΡΠ»ΡΠΌΠ΅ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΈΠ·ΠΏΡΠ°ΡΠΈΠΌ ΡΡΠ±ΠΈΡΠΈΡ Π½Π° Logstash, Π΄Π° ΠΈΠ·Π±Π΅ΡΠ΅ΠΌ ΠΌΠ΅ΡΠΎΠ΄ ΠΈ Π΄Π° Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠΈΠΌ.
- ΠΠΈΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°ΠΌΠ΅ Input Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡ ΡΠ°ΠΉΠ» Π½Π° Logstash.
- ΠΠΈΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°ΠΌΠ΅ Output Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡ ΡΠ°ΠΉΠ» Π½Π° Logstash Π² ΡΠ΅ΠΆΠΈΠΌ Π½Π° ΠΎΡΡΡΡΠ°Π½ΡΠ²Π°Π½Π΅ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ, Π·Π° Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ ΠΊΠ°ΠΊ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΡΠΎ Π² ΠΆΡΡΠ½Π°Π»Π°.
- ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° Π½Π° ΡΠΈΠ»ΡΡΡΠ°.
- ΠΠ°ΡΡΡΠΎΠΉΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΈΡ ΠΈΠ·Ρ ΠΎΠ΄ Π² ElasticSearch.
- Logstash ΡΡΠ°ΡΡΠΈΡΠ°.
- ΠΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° Π΄Π½Π΅Π²Π½ΠΈΡΠΈΡΠ΅ Π² ΠΠΈΠ±Π°Π½Π°.
ΠΠ΅ΠΊΠ° ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ Π²ΡΡΠΊΠ° ΡΠΎΡΠΊΠ° ΠΏΠΎ-ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ:
ΠΡΠΎΠ²Π΅ΡΠΊΠ° Π΄Π°Π»ΠΈ elasticsearch ΡΠ΅ ΠΏΡΠΈΠ΅ΠΌΠ° ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅
ΠΠ° Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ ΡΠΎΠ²Π°, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° curl, Π·Π° Π΄Π° ΠΏΡΠΎΠ²Π΅ΡΠΈΡΠ΅ Π΄ΠΎΡΡΡΠΏΠ° Π΄ΠΎ Elasticsearch ΠΎΡ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°, Π½Π° ΠΊΠΎΡΡΠΎ Π΅ Π²Π½Π΅Π΄ΡΠ΅Π½ Logstash. ΠΠΊΠΎ ΠΈΠΌΠ°ΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½ΠΎ ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΠ²Π°Π½Π΅, ΡΠΎΠ³Π°Π²Π° Π½ΠΈΠ΅ ΡΡΡΠΎ ΠΏΡΠ΅Ρ Π²ΡΡΠ»ΡΠΌΠ΅ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ/ΠΏΠ°ΡΠΎΠ»Π°ΡΠ° ΡΡΠ΅Π· curl, ΠΊΠ°ΡΠΎ ΠΏΠΎΡΠΎΡΠΈΠΌ ΠΏΠΎΡΡ 9200, Π°ΠΊΠΎ Π½Π΅ ΡΡΠ΅ Π³ΠΎ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΠ»ΠΈ. ΠΠΊΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΠΎΡΠ³ΠΎΠ²ΠΎΡ, ΠΏΠΎΠ΄ΠΎΠ±Π΅Π½ Π½Π° ΡΠΎΠ·ΠΈ ΠΏΠΎ-Π΄ΠΎΠ»Ρ, Π·Π½Π°ΡΠΈ Π²ΡΠΈΡΠΊΠΎ Π΅ Π½Π°ΡΠ΅Π΄.
[elastic@elasticsearch ~]$ curl -u <<user_name>> : <<password>> -sS -XGET "<<ip_address_elasticsearch>>:9200"
{
"name" : "elastic-1",
"cluster_name" : "project",
"cluster_uuid" : "sQzjTTuCR8q4ZO6DrEis0A",
"version" : {
"number" : "7.4.1",
"build_flavor" : "default",
"build_type" : "rpm",
"build_hash" : "fc0eeb6e2c25915d63d871d344e3d0b45ea0ea1e",
"build_date" : "2019-10-22T17:16:35.176724Z",
"build_snapshot" : false,
"lucene_version" : "8.2.0",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
[elastic@elasticsearch ~]$
ΠΠΊΠΎ ΠΎΡΠ³ΠΎΠ²ΠΎΡΡΡ Π½Π΅ Π±ΡΠ΄Π΅ ΠΏΠΎΠ»ΡΡΠ΅Π½, ΡΠΎΠ³Π°Π²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠΌΠ° Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π²ΠΈΠ΄Π° Π³ΡΠ΅ΡΠΊΠΈ: ΠΏΡΠΎΡΠ΅ΡΡΡ Π½Π° elasticsearch Π½Π΅ ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°, ΠΏΠΎΡΠΎΡΠ΅Π½ Π΅ Π³ΡΠ΅ΡΠ΅Π½ ΠΏΠΎΡΡ ΠΈΠ»ΠΈ ΠΏΠΎΡΡΡΡ Π΅ Π±Π»ΠΎΠΊΠΈΡΠ°Π½ ΠΎΡ Π·Π°ΡΠΈΡΠ½Π° ΡΡΠ΅Π½Π° Π½Π° ΡΡΡΠ²ΡΡΠ°, ΠΊΡΠ΄Π΅ΡΠΎ Π΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½ elasticsearch.
ΠΠ΅ΠΊΠ° Π΄Π° ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·ΠΏΡΠ°ΡΠ°ΡΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΠΊΡΠΌ Logstash ΠΎΡ Π·Π°ΡΠΈΡΠ½Π° ΡΡΠ΅Π½Π° Π½Π° ΠΊΠΎΠ½ΡΡΠΎΠ»Π½Π° ΡΠΎΡΠΊΠ°
ΠΡ ΡΡΡΠ²ΡΡΠ° Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Check Point ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·ΠΏΡΠ°ΡΠ°ΡΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΠΊΡΠΌ Logstash ΡΡΠ΅Π· syslog Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΏΠΎΠΌΠΎΡΠ½Π°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ° log_exporter, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΡΠΎΡΠ΅ΡΠ΅ΡΠ΅ ΠΏΠΎΠ²Π΅ΡΠ΅ Π·Π° Π½Π΅Ρ ΡΡΠΊ
cp_log_export Π΄ΠΎΠ±Π°Π²Π΅ΡΠ΅ ΠΈΠΌΠ΅ check_point_syslog ΡΠ΅Π»Π΅Π²ΠΈ ΡΡΡΠ²ΡΡ < > ΡΠ΅Π»Π΅Π²ΠΈ ΠΏΠΎΡΡ 5555 ΠΏΡΠΎΡΠΎΠΊΠΎΠ» tcp ΡΠΎΡΠΌΠ°Ρ ΠΎΠ±Ρ ΡΠ΅ΠΆΠΈΠΌ Π½Π° ΡΠ΅ΡΠ΅Π½Π΅ ΠΏΠΎΠ»ΡΡΠ½ΠΈΡΠΈΡΠΈΡΠ°Π½
< > - Π°Π΄ΡΠ΅Ρ Π½Π° ΡΡΡΠ²ΡΡΠ°, Π½Π° ΠΊΠΎΠΉΡΠΎ ΡΠ°Π±ΠΎΡΠΈ Logstash, target-port 5555 - ΠΏΠΎΡΡ, ΠΊΡΠΌ ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΡΠ°ΡΠ°ΠΌΠ΅ Π»ΠΎΠ³ΠΎΠ²Π΅, ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ΡΠΎ Π½Π° Π»ΠΎΠ³ΠΎΠ²Π΅ ΠΏΡΠ΅Π· tcp ΠΌΠΎΠΆΠ΅ Π΄Π° Π½Π°ΡΠΎΠ²Π°ΡΠΈ ΡΡΡΠ²ΡΡΠ°, ΡΠ°ΠΊΠ° ΡΠ΅ Π² Π½ΡΠΊΠΎΠΈ ΡΠ»ΡΡΠ°ΠΈ Π΅ ΠΏΠΎ-ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ udp.
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° Π½Π° INPUT Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡ ΡΠ°ΠΉΠ» Π½Π° Logstash
ΠΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡΡ ΡΠ°ΠΉΠ» ΡΠ΅ Π½Π°ΠΌΠΈΡΠ° Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΡΠ° /etc/logstash/conf.d/. ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡΡ ΡΠ°ΠΉΠ» ΡΠ΅ ΡΡΡΡΠΎΠΈ ΠΎΡ 3 Π·Π½Π°ΡΠΈΠΌΠΈ ΡΠ°ΡΡΠΈ: INPUT, FILTER, OUTPUT. IN ΠΠ₯ΠΠ Π½ΠΈΠ΅ ΠΏΠΎΡΠΎΡΠ²Π°ΠΌΠ΅ ΠΎΡΠΊΡΠ΄Π΅ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° ΡΠ΅ Π²Π·Π΅ΠΌΠ° ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, Π² FILTER Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ°ΠΉΡΠ΅ Π΄Π½Π΅Π²Π½ΠΈΠΊΠ° - Π½Π°ΡΡΡΠΎΠΉΡΠ΅ ΠΊΠ°ΠΊ Π΄Π° ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΠΎΠ»Π΅ΡΠ° ΠΈ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ, Π² OUTPUT Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°ΠΌΠ΅ ΠΈΠ·Ρ
ΠΎΠ΄ΡΡΠΈΡ ΠΏΠΎΡΠΎΠΊ - ΠΊΡΠ΄Π΅ΡΠΎ ΡΠ΅ Π±ΡΠ΄Π°Ρ ΠΈΠ·ΠΏΡΠ°ΡΠ΅Π½ΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈΡΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅.
ΠΡΡΠ²ΠΎ, Π½Π΅ΠΊΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°ΠΌΠ΅ INPUT, ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΉΡΠ΅ Π½ΡΠΊΠΎΠΈ ΠΎΡ ΡΠΈΠΏΠΎΠ²Π΅ΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ - ΡΠ°ΠΉΠ», tcp ΠΈ exe.
TCP:
input {
tcp {
port => 5555
host => β10.10.1.205β
type => "checkpoint"
mode => "server"
}
}
ΡΠ΅ΠΆΠΈΠΌ => "ΡΡΡΠ²ΡΡ"
ΠΠΎΠΊΠ°Π·Π²Π°, ΡΠ΅ Logstash ΠΏΡΠΈΠ΅ΠΌΠ° Π²ΡΡΠ·ΠΊΠΈ.
ΠΏΠΎΡΡ => 5555
Ρ
ΠΎΡΡ => β10.10.1.205β
ΠΡΠΈΠ΅ΠΌΠ°ΠΌΠ΅ Π²ΡΡΠ·ΠΊΠΈ ΡΡΠ΅Π· IP Π°Π΄ΡΠ΅Ρ 10.10.1.205 (Logstash), ΠΏΠΎΡΡ 5555 - ΠΏΠΎΡΡΡΡ ΡΡΡΠ±Π²Π° Π΄Π° Π΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ ΠΎΡ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ°ΡΠ° Π½Π° Π·Π°ΡΠΈΡΠ½Π°ΡΠ° ΡΡΠ΅Π½Π°.
ΡΠΈΠΏ => "ΠΊΠΎΠ½ΡΡΠΎΠ»Π½Π° ΡΠΎΡΠΊΠ°"
ΠΠ°ΡΠΊΠΈΡΠ°ΠΌΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°, ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΄ΠΎΠ±Π½ΠΎ, Π°ΠΊΠΎ ΠΈΠΌΠ°ΡΠ΅ Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π²Ρ
ΠΎΠ΄ΡΡΠΈ Π²ΡΡΠ·ΠΊΠΈ. ΠΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠ΅ Π·Π° Π²ΡΡΠΊΠ° Π²ΡΡΠ·ΠΊΠ° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π½Π°ΠΏΠΈΡΠ΅ΡΠ΅ ΡΠ²ΠΎΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½ ΡΠΈΠ»ΡΡΡ, ΠΊΠ°ΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠ°ΡΠ° ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ if.
File:
input {
file {
path => "/var/log/openvas_report/*"
type => "openvas"
start_position => "beginning"
}
}
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π½Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠΈΡΠ΅:
ΠΏΡΡ => "/var/log/openvas_report/*"
ΠΠΎΡΠΎΡΠ²Π°ΠΌΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΡΠ°, Π² ΠΊΠΎΡΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΡΠ΅ΡΠ°Ρ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅.
ΡΠΈΠΏ => "openvas"
Π’ΠΈΠΏ ΡΡΠ±ΠΈΡΠΈΠ΅.
start_position => "Π½Π°ΡΠ°Π»ΠΎ"
ΠΡΠΈ ΠΏΡΠΎΠΌΡΠ½Π° Π½Π° ΡΠ°ΠΉΠ», ΡΠΎΠΉ ΡΠ΅ΡΠ΅ ΡΠ΅Π»ΠΈΡ ΡΠ°ΠΉΠ», Π°ΠΊΠΎ Π·Π°Π΄Π°Π΄Π΅ΡΠ΅ βΠΊΡΠ°ΠΉβ, ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° ΠΈΠ·ΡΠ°ΠΊΠ²Π° Π΄Π° ΡΠ΅ ΠΏΠΎΡΠ²ΡΡ Π½ΠΎΠ²ΠΈ Π·Π°ΠΏΠΈΡΠΈ Π² ΠΊΡΠ°Ρ Π½Π° ΡΠ°ΠΉΠ»Π°.
ΠΠ·ΠΏΡΠ»Π½ΠΈΡΠ΅Π»:
input {
exec {
command => "ls -alh"
interval => 30
}
}
ΠΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΡΠΎΠ·ΠΈ Π²Ρ ΠΎΠ΄, ΡΠ΅ ΡΡΠ°ΡΡΠΈΡΠ° (ΡΠ°ΠΌΠΎ!) ΠΊΠΎΠΌΠ°Π½Π΄Π° Π½Π° ΠΎΠ±Π²ΠΈΠ²ΠΊΠ°ΡΠ° ΠΈ Π½Π΅ΠΉΠ½ΠΈΡΡ ΠΈΠ·Ρ ΠΎΠ΄ ΡΠ΅ ΠΏΡΠ΅Π²ΡΡΡΠ° Π² ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π² ΠΆΡΡΠ½Π°Π».
ΠΊΠΎΠΌΠ°Π½Π΄Π° => "ls -alh"
ΠΠΎΠΌΠ°Π½Π΄Π°ΡΠ°, ΡΠΈΠΉΡΠΎ ΠΈΠ·Ρ
ΠΎΠ΄ Π½ΠΈ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ²Π°.
ΠΈΠ½ΡΠ΅ΡΠ²Π°Π» => 30
ΠΠ½ΡΠ΅ΡΠ²Π°Π» Π½Π° ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π² ΡΠ΅ΠΊΡΠ½Π΄ΠΈ.
ΠΠ° Π΄Π° ΠΏΠΎΠ»ΡΡΠ°Π²Π°ΠΌΠ΅ Π»ΠΎΠ³ΠΎΠ²Π΅ ΠΎΡ Π·Π°ΡΠΈΡΠ½Π°ΡΠ° ΡΡΠ΅Π½Π°, ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠ°ΠΌΠ΅ ΡΠΈΠ»ΡΡΡ tcp ΠΈΠ»ΠΈ UDP, Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ ΠΎΡ ΡΠΎΠ²Π° ΠΊΠ°ΠΊ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΡΠ΅ ΠΈΠ·ΠΏΡΠ°ΡΠ°Ρ Π΄ΠΎ Logstash.
ΠΠΈΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°ΠΌΠ΅ ΠΈΠ·Ρ ΠΎΠ΄Π° Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡ ΡΠ°ΠΉΠ» Π½Π° Logstash Π² ΡΠ΅ΠΆΠΈΠΌ Π½Π° ΠΎΡΡΡΡΠ°Π½ΡΠ²Π°Π½Π΅ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ, Π·Π° Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ ΠΊΠ°ΠΊ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΡΠΎ Π² ΠΆΡΡΠ½Π°Π»Π°
Π‘Π»Π΅Π΄ ΠΊΠ°ΡΠΎ ΡΠΌΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π»ΠΈ INPUT, ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ ΠΊΠ°ΠΊ ΡΠ΅ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΡΠΎ Π² ΠΆΡΡΠ½Π°Π»Π° ΠΈ ΠΊΠ°ΠΊΠ²ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΈ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π·Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠΈΠ»ΡΡΡΠ° Π·Π° ΠΆΡΡΠ½Π°Π» (ΠΏΠ°ΡΡΠ΅Ρ).
ΠΠ° Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΠΌ ΡΠΎΠ²Π°, ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΡΠΈΠ»ΡΡΡ, ΠΊΠΎΠΉΡΠΎ ΠΈΠ·Π²Π΅ΠΆΠ΄Π° ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠ° Π½Π° stdout, Π·Π° Π΄Π° Π²ΠΈΠ΄ΠΈΠΌ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π½ΠΎΡΠΎ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅; ΠΏΡΠ»Π½ΠΈΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π΅Π½ ΡΠ°ΠΉΠ» Π² ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΡΠ΅ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° ΡΠ°ΠΊΠ°:
input
{
tcp
{
port => 5555
type => "checkpoint"
mode => "server"
host => β10.10.1.205β
}
}
output
{
if [type] == "checkpoint"
{
stdout { codec=> json }
}
}
ΠΠ·ΠΏΡΠ»Π½Π΅ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ°, Π·Π° Π΄Π° ΠΏΡΠΎΠ²Π΅ΡΠΈΡΠ΅:
sudo /usr/share/logstash/bin//logstash -f /etc/logstash/conf.d/checkpoint.conf
ΠΠΈΠΆΠ΄Π°ΠΌΠ΅ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠ°, ΡΠ½ΠΈΠΌΠΊΠ°ΡΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΊΠ»ΠΈΠΊΠ½Π΅:
ΠΠΊΠΎ Π³ΠΎ ΠΊΠΎΠΏΠΈΡΠ°ΡΠ΅, ΡΠ΅ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° ΡΠ°ΠΊΠ°:
action="Accept" conn_direction="Internal" contextnum="1" ifdir="outbound" ifname="bond1.101" logid="0" loguid="{0x5dfb8c13,0x5,0xfe0a0a0a,0xc0000000}" origin="10.10.10.254" originsicname="CN=ts-spb-cpgw-01,O=cp-spb-mgmt-01.tssolution.local.kncafb" sequencenum="8" time="1576766483" version="5" context_num="1" dst="10.10.10.10" dst_machine_name="[email protected]" layer_name="TSS-Standard Security" layer_name="TSS-Standard Application" layer_uuid="dae7f01c-4c98-4c3a-a643-bfbb8fcf40f0" layer_uuid="dbee3718-cf2f-4de0-8681-529cb75be9a6" match_id="8" match_id="33554431" parent_rule="0" parent_rule="0" rule_action="Accept" rule_action="Accept" rule_name="Implicit Cleanup" rule_uid="6dc2396f-9644-4546-8f32-95d98a3344e6" product="VPN-1 & FireWall-1" proto="17" s_port="37317" service="53" service_id="domain-udp" src="10.10.1.180" ","type":"qqqqq","host":"10.10.10.250","@version":"1","port":50620}{"@timestamp":"2019-12-19T14:50:12.153Z","message":"time="1576766483" action="Accept" conn_direction="Internal" contextnum="1" ifdir="outbound" ifname="bond1.101" logid="0" loguid="{0x5dfb8c13,
Π Π°Π·Π³Π»Π΅ΠΆΠ΄Π°ΠΉΠΊΠΈ ΡΠ΅Π·ΠΈ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ, ΡΠ°Π·Π±ΠΈΡΠ°ΠΌΠ΅, ΡΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π°Ρ ΡΠ°ΠΊΠ°: ΠΏΠΎΠ»Π΅ = ΡΡΠΎΠΉΠ½ΠΎΡΡ ΠΈΠ»ΠΈ ΠΊΠ»ΡΡ = ΡΡΠΎΠΉΠ½ΠΎΡΡ, ΠΊΠΎΠ΅ΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π²Π°, ΡΠ΅ Π΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡ ΡΠΈΠ»ΡΡΡ, Π½Π°ΡΠ΅ΡΠ΅Π½ kv. ΠΠ° Π΄Π° ΠΈΠ·Π±Π΅ΡΠ΅ΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΈΡ ΡΠΈΠ»ΡΡΡ Π·Π° Π²ΡΠ΅ΠΊΠΈ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ΅Π½ ΡΠ»ΡΡΠ°ΠΉ Π΅ Π΄ΠΎΠ±ΡΠ΅ Π΄Π° ΡΠ΅ Π·Π°ΠΏΠΎΠ·Π½Π°Π΅ΡΠ΅ Ρ ΡΡΡ Π² ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠ°ΡΠ° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΈΠ»ΠΈ Π΄Π° ΠΏΠΎΠΏΠΈΡΠ°ΡΠ΅ ΠΏΡΠΈΡΡΠ΅Π».
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° Π½Π° ΡΠΈΠ»ΡΡΡΠ°
ΠΠ° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ Π΅ΡΠ°ΠΏ ΠΈΠ·Π±ΡΠ°Ρ ΠΌΠ΅ kv, ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° Π½Π° ΡΠΎΠ·ΠΈ ΡΠΈΠ»ΡΡΡ Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π΅Π½Π° ΠΏΠΎ-Π΄ΠΎΠ»Ρ:
filter {
if [type] == "checkpoint"{
kv {
value_split => "="
allow_duplicate_values => false
}
}
}
ΠΠ·Π±ΠΈΡΠ°ΠΌΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Π°, Ρ ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΡΠ°Π·Π΄Π΅Π»ΠΈΠΌ ΠΏΠΎΠ»Π΅ΡΠΎ ΠΈ ΡΡΠΎΠΉΠ½ΠΎΡΡΡΠ° - β=β. ΠΠΊΠΎ ΠΈΠΌΠ°ΠΌΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½ΠΈ Π·Π°ΠΏΠΈΡΠΈ Π² Π΄Π½Π΅Π²Π½ΠΈΠΊΠ°, Π·Π°ΠΏΠ°Π·Π²Π°ΠΌΠ΅ ΡΠ°ΠΌΠΎ Π΅Π΄ΠΈΠ½ Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ Π² Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ, Π² ΠΏΡΠΎΡΠΈΠ²Π΅Π½ ΡΠ»ΡΡΠ°ΠΉ ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΠΌΠ°ΡΠΈΠ² ΠΎΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½ΠΈ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ, ΡΠΎΠ΅ΡΡ, Π°ΠΊΠΎ ΠΈΠΌΠ°ΠΌΠ΅ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΡΠΎ βfoo = Π½ΡΠΊΠΎΠΈ foo=someβ, Π½ΠΈΠ΅ ΠΏΠΈΡΠ΅ΠΌ ΡΠ°ΠΌΠΎ foo = Π½ΡΠΊΠΎΠΈ.
ΠΠ°ΡΡΡΠΎΠΉΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΈΡ ΠΈΠ·Ρ ΠΎΠ΄ Π² ElasticSearch
Π‘Π»Π΅Π΄ ΠΊΠ°ΡΠΎ ΡΠΈΠ»ΡΡΡΡΡ Π΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΊΠ°ΡΠ²Π°ΡΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π² Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ Π΅Π»Π°ΡΡΠΈΡΠ½ΠΎ ΡΡΡΡΠ΅Π½Π΅:
output
{
if [type] == "checkpoint"
{
elasticsearch
{
hosts => ["10.10.1.200:9200"]
index => "checkpoint-%{+YYYY.MM.dd}"
user => "tssolution"
password => "cool"
}
}
}
ΠΠΊΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡΡ Π΅ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½ Ρ ΡΠΈΠΏΠ° ΠΊΠΎΠ½ΡΡΠΎΠ»Π½Π° ΡΠΎΡΠΊΠ°, Π½ΠΈΠ΅ Π·Π°ΠΏΠ°Π·Π²Π°ΠΌΠ΅ ΡΡΠ±ΠΈΡΠΈΠ΅ΡΠΎ Π² Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ elasticsearch, ΠΊΠΎΡΡΠΎ ΠΏΡΠΈΠ΅ΠΌΠ° Π²ΡΡΠ·ΠΊΠΈ Π½Π° 10.10.1.200 Π½Π° ΠΏΠΎΡΡ 9200 ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅. ΠΡΠ΅ΠΊΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ ΡΠ΅ Π·Π°ΠΏΠΈΡΠ²Π° Π² ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ΅Π½ ΠΈΠ½Π΄Π΅ΠΊΡ, Π² ΡΠΎΠ·ΠΈ ΡΠ»ΡΡΠ°ΠΉ Π·Π°ΠΏΠΈΡΠ²Π°ΠΌΠ΅ Π² ΠΈΠ½Π΄Π΅ΠΊΡ βcheckpoint-β + ΡΠ΅ΠΊΡΡΠ° Π΄Π°ΡΠ°. ΠΡΠ΅ΠΊΠΈ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠΌΠ° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ΅Π½ Π½Π°Π±ΠΎΡ ΠΎΡ ΠΏΠΎΠ»Π΅ΡΠ° ΠΈΠ»ΠΈ ΡΠ΅ ΡΡΠ·Π΄Π°Π²Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ, ΠΊΠΎΠ³Π°ΡΠΎ ΡΠ΅ ΠΏΠΎΡΠ²ΠΈ Π½ΠΎΠ²ΠΎ ΠΏΠΎΠ»Π΅ Π² ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅; Π½Π°ΡΡΡΠΎΠΉΠΊΠΈΡΠ΅ Π½Π° ΠΏΠΎΠ»Π΅ΡΠΎ ΠΈ ΡΠ΅Ρ Π½ΠΈΡ ΡΠΈΠΏ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ Π²ΠΈΠ΄ΡΡ Π² ΡΡΠΏΠΎΡΡΠ°Π²ΡΠ½ΠΈΡ.
ΠΠΊΠΎ ΠΈΠΌΠ°ΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½ΠΎ ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΠ²Π°Π½Π΅ (ΡΠ΅ Π³ΠΎ ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΠΏΠΎ-ΠΊΡΡΠ½ΠΎ), ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΎΠ½Π½ΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ Π·Π° ΠΏΠΈΡΠ°Π½Π΅ Π² ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ΅Π½ ΠΈΠ½Π΄Π΅ΠΊΡ ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π°Ρ ΠΏΠΎΡΠΎΡΠ΅Π½ΠΈ, Π² ΡΠΎΠ·ΠΈ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΎΠ²Π° Π΅ βtssolutionβ Ρ ΠΏΠ°ΡΠΎΠ»Π° βcoolβ. ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠ°Π·Π³ΡΠ°Π½ΠΈΡΠΈΡΠ΅ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈΡΠ΅ ΠΏΡΠ°Π²Π° Π΄Π° Π·Π°ΠΏΠΈΡΠ²Π°Ρ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΡΠ°ΠΌΠΎ ΠΊΡΠΌ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ΅Π½ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΈ Π½Π΅ ΠΏΠΎΠ²Π΅ΡΠ΅.
Π‘ΡΠ°ΡΡΠΈΡΠ°ΠΉΡΠ΅ Logstash.
Logstash ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π΅Π½ ΡΠ°ΠΉΠ»:
input
{
tcp
{
port => 5555
type => "checkpoint"
mode => "server"
host => β10.10.1.205β
}
}
filter {
if [type] == "checkpoint"{
kv {
value_split => "="
allow_duplicate_values => false
}
}
}
output
{
if [type] == "checkpoint"
{
elasticsearch
{
hosts => ["10.10.1.200:9200"]
index => "checkpoint-%{+YYYY.MM.dd}"
user => "tssolution"
password => "cool"
}
}
}
ΠΡΠΎΠ²Π΅ΡΡΠ²Π°ΠΌΠ΅ ΠΊΠΎΡΠ΅ΠΊΡΠ½ΠΎΡΡΡΠ° Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡ ΡΠ°ΠΉΠ»:
/usr/share/logstash/bin//logstash -f checkpoint.conf
Π‘ΡΠ°ΡΡΠΈΡΠ°ΠΉΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠ° Π½Π° Logstash:
sudo systemctl ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° logstash
ΠΡΠΎΠ²Π΅ΡΡΠ²Π°ΠΌΠ΅ Π΄Π°Π»ΠΈ ΠΏΡΠΎΡΠ΅ΡΡΡ Π΅ Π·Π°ΠΏΠΎΡΠ½Π°Π»:
sudo systemctl status logstash
ΠΠ΅ΠΊΠ° ΠΏΡΠΎΠ²Π΅ΡΠΈΠΌ Π΄Π°Π»ΠΈ Π³Π½Π΅Π·Π΄ΠΎΡΠΎ ΡΠ°Π±ΠΎΡΠΈ:
netstat -nat | grep 5555
ΠΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° Π΄Π½Π΅Π²Π½ΠΈΡΠΈΡΠ΅ Π² ΠΠΈΠ±Π°Π½Π°.
Π‘Π»Π΅Π΄ ΠΊΠ°ΡΠΎ Π²ΡΠΈΡΠΊΠΎ ΡΠ°Π±ΠΎΡΠΈ, ΠΎΡΠΈΠ΄Π΅ΡΠ΅ Π½Π° Kibana - Discover, ΡΠ²Π΅ΡΠ΅ΡΠ΅ ΡΠ΅, ΡΠ΅ Π²ΡΠΈΡΠΊΠΎ Π΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½ΠΎ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ, ΠΊΠ°ΡΡΠΈΠ½Π°ΡΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΊΠ»ΠΈΠΊΠ½Π΅!
ΠΡΠΈΡΠΊΠΈ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΡΠ° Π½Π° ΠΌΡΡΡΠΎΡΠΎ ΡΠΈ ΠΈ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π²ΠΈΠ΄ΠΈΠΌ Π²ΡΠΈΡΠΊΠΈ ΠΏΠΎΠ»Π΅ΡΠ° ΠΈ ΡΠ΅Ρ Π½ΠΈΡΠ΅ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ!
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π Π°Π·Π³Π»Π΅Π΄Π°Ρ ΠΌΠ΅ ΠΊΠ°ΠΊ Π΄Π° Π½Π°ΠΏΠΈΡΠ΅ΠΌ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π΅Π½ ΡΠ°ΠΉΠ» Π½Π° Logstash ΠΈ Π² ΡΠ΅Π·ΡΠ»ΡΠ°Ρ ΠΏΠΎΠ»ΡΡΠΈΡ ΠΌΠ΅ Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡ Π½Π° Π²ΡΠΈΡΠΊΠΈ ΠΏΠΎΠ»Π΅ΡΠ° ΠΈ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ. Π‘Π΅Π³Π° ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΡΠ°Π±ΠΎΡΠΈΠΌ Ρ ΡΡΡΡΠ΅Π½Π΅ ΠΈ ΡΠ΅ΡΡΠ°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΈ ΠΏΠΎΠ»Π΅ΡΠ°. Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° Π² ΠΊΡΡΡΠ° ΡΠ΅ ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡΡΠ° Π² Kibana ΠΈ ΡΠ΅ ΡΡΠ·Π΄Π°Π΄Π΅ΠΌ ΠΏΡΠΎΡΡΠΎ ΡΠ°Π±Π»ΠΎ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅. ΠΠ°ΡΠ»ΡΠΆΠ°Π²Π° Π΄Π° ΡΠ΅ ΡΠΏΠΎΠΌΠ΅Π½Π΅, ΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡΡ ΡΠ°ΠΉΠ» Π½Π° Logstash ΡΡΡΠ±Π²Π° ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ Π΄Π° ΡΠ΅ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ° Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΡΠΈΡΡΠ°ΡΠΈΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠ³Π°ΡΠΎ ΠΈΡΠΊΠ°ΠΌΠ΅ Π΄Π° Π·Π°ΠΌΠ΅Π½ΠΈΠΌ ΡΡΠΎΠΉΠ½ΠΎΡΡΡΠ° Π½Π° ΠΏΠΎΠ»Π΅ ΠΎΡ ΡΠΈΡΠ»ΠΎ Π½Π° Π΄ΡΠΌΠ°. Π ΡΠ»Π΅Π΄Π²Π°ΡΠΈΡΠ΅ ΡΡΠ°ΡΠΈΠΈ ΡΠ΅ ΠΏΡΠ°Π²ΠΈΠΌ ΡΠΎΠ²Π° ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ.
Π’Π°ΠΊΠ° ΡΠ΅ ΠΎΡΡΠ°Π½Π΅ΡΠ΅ Π½Π° Π»ΠΈΠ½ΠΈΡ
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: www.habr.com