
Π ΠΏΡΠ΅Π΄Ρ
ΠΎΠ΄Π½Π°ΡΠ° Ρ ΠΊΠΎΠ³ΠΎ ΡΠ΅ Π·Π°ΠΏΠΎΠ·Π½Π°Ρ
ΠΌΠ΅ Ρ ELK ΡΡΠ΅ΠΊ, ΠΎΡ ΠΊΠΎΠΈ ΡΠΎΡΡΡΠ΅ΡΠ½ΠΈ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈ ΡΠ΅ ΡΡΡΡΠΎΠΈ. Π ΠΏΡΡΠ²Π°ΡΠ° Π·Π°Π΄Π°ΡΠ°, Ρ ΠΊΠΎΡΡΠΎ ΡΠ΅ ΡΠ±Π»ΡΡΠΊΠ²Π° ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΡΡ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ° Ρ ELK ΡΡΠ΅ΠΊΠ°, Π΅ ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ΡΠΎ Π½Π° Π»ΠΎΠ³ΠΎΠ²Π΅ Π·Π° ΡΡΡ
ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π² Elasticsearch Π·Π° ΠΏΠΎΡΠ»Π΅Π΄Π²Π°Ρ Π°Π½Π°Π»ΠΈΠ·. ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠ΅ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° ΠΏΡΠΎΡΡΠΎ ΠΊΠ°Π·Π°Π½ΠΎ, Elasticsearch ΡΡΡ
ΡΠ°Π½ΡΠ²Π° Π»ΠΎΠ³ΠΎΠ²Π΅ΡΠ΅ ΠΏΠΎΠ΄ ΡΠΎΡΠΌΠ°ΡΠ° Π½Π° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈ Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΠΏΠΎΠ»Π΅ΡΠ° ΠΈ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ, ΠΊΠΎΠ΅ΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π²Π°, ΡΠ΅ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΡΡ ΡΡΡΠ±Π²Π° Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ, Π·Π° Π΄Π° Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΡΠΎ, ΠΊΠΎΠ΅ΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΡΠ°ΡΠ° ΠΎΡ ΠΊΡΠ°ΠΉΠ½ΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΈ. Π’ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π½Π°ΠΏΡΠ°Π²ΠΈ ΠΏΠΎ Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π½Π°ΡΠΈΠ½Π° β Π΄Π° Π½Π°ΠΏΠΈΡΠ΅ΡΠ΅ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°, ΠΊΠΎΡΡΠΎ ΡΡΠ΅Π· API ΡΠ΅ Π΄ΠΎΠ±Π°Π²Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈ Π² Π±Π°Π·Π°ΡΠ°, ΠΈΠ»ΠΈ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ Π²Π΅ΡΠ΅ Π³ΠΎΡΠΎΠ²ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ. Π ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° ΡΠΎΠ·ΠΈ ΠΊΡΡΡ ΡΠ΅ ΡΠ°Π·Π³Π»Π΅ΠΆΠ΄Π°ΠΌΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Logstash, ΠΊΠΎΠ΅ΡΠΎ Π΅ ΡΠ°ΡΡ ΠΎΡ ELK ΡΡΠ΅ΠΊΠ°. Π©Π΅ Π²ΠΈΠ΄ΠΈΠΌ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΈΠ·ΠΏΡΠ°ΡΠΈΠΌ Π»ΠΎΠ³ΠΎΠ²Π΅ΡΠ΅ ΠΎΡ ΠΊΡΠ°ΠΉΠ½ΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΈ Π² Logstash ΠΈ ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠ²Π°ΠΌΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡ ΡΠ°ΠΉΠ» Π·Π° Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ ΠΈ ΠΏΡΠ΅Π½Π°ΡΠΎΡΠ²Π°Π½Π΅ Π² Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ Elasticsearch. ΠΠ° ΡΠ°Π·ΠΈ ΡΠ΅Π» ΠΊΠ°ΡΠΎ Π²Ρ
ΠΎΠ΄ΡΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Π²Π·ΠΈΠΌΠ°ΠΌΠ΅ Π»ΠΎΠ³ΠΎΠ²Π΅ ΠΎΡ Π·Π°ΡΠΈΡΠ½Π°ΡΠ° ΡΡΠ΅Π½Π° Check Point.
Π ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° ΠΊΡΡΡΠ° Π½Π΅ ΡΠ°Π·Π³Π»Π΅ΠΆΠ΄Π°ΠΌΠ΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ELK ΡΡΠ΅ΠΊΠ°, ΡΡΠΉ ΠΊΠ°ΡΠΎ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π° ΠΎΠ³ΡΠΎΠΌΠ½ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΠ°ΡΠΈΠΈ ΠΏΠΎ ΡΠ°Π·ΠΈ ΡΠ΅ΠΌΠ°, ΡΠ΅ ΡΠ°Π·Π³Π»Π΅ΠΆΠ΄Π°ΠΌΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡ Π°ΡΠΏΠ΅ΠΊΡ.
Π©Π΅ ΡΡΡΡΠ°Π²ΠΈΠΌ ΠΏΠ»Π°Π½ Π·Π° Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΏΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½Π΅ Π½Π° Logstash:
- ΠΡΠΎΠ²Π΅ΡΠΊΠ° Π΄Π°Π»ΠΈ Elasticsearch ΡΠ΅ ΠΏΡΠΈΠ΅ΠΌΠ° Π»ΠΎΠ³ΠΎΠ²Π΅ (ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π·Π° ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ ΠΈ ΠΎΡΠ²ΠΎΡΠ΅Π½ΠΎΡΡ Π½Π° ΠΏΠΎΡΡΠ°).
- Π Π°Π·Π³Π»Π΅ΠΆΠ΄Π°ΠΌΠ΅ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΈΠ·ΠΏΡΠ°ΡΠΈΠΌ ΡΡΠ±ΠΈΡΠΈΡ Π² Logstash, ΠΈΠ·Π±ΠΈΡΠ°ΠΌΠ΅ ΠΌΠ΅ΡΠΎΠ΄, ΠΎΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°ΠΌΠ΅ Π³ΠΎ.
- ΠΠ°ΡΡΡΠΎΠΉΠ²Π°ΠΌΠ΅ Input Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡ ΡΠ°ΠΉΠ» Π½Π° Logstash.
- ΠΠ°ΡΡΡΠΎΠΉΠ²Π°ΠΌΠ΅ Output Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡ ΡΠ°ΠΉΠ» Π½Π° Logstash Π² ΡΠ΅ΠΆΠΈΠΌ Π½Π° ΠΎΡΡΡΡΠ°Π½ΡΠ²Π°Π½Π΅ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ, Π·Π° Π΄Π° Π²ΠΈΠ΄ΠΈΠΌ ΠΊΠ°ΠΊ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° Π»ΠΎΠ³ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΡΠΎ.
- ΠΠ°ΡΡΡΠΎΠΉΠ²Π°ΠΌΠ΅ Filter.
- ΠΠ°ΡΡΡΠΎΠΉΠ²Π°ΠΌΠ΅ ΠΊΠΎΡΠ΅ΠΊΡΠ΅Π½ Output Π² Elasticsearch.
- Π‘ΡΠ°ΡΡΠΈΡΠ°ΠΌΠ΅ Logstash.
- ΠΡΠΎΠ²Π΅ΡΡΠ²Π°ΠΌΠ΅ Π»ΠΎΠ³ΠΎΠ²Π΅ΡΠ΅ Π² Kibana.
ΠΠ΅ΠΊΠ° ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΠΏΠΎ-ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ Π²ΡΠ΅ΠΊΠΈ ΠΏΡΠ½ΠΊΡ:
ΠΡΠΎΠ²Π΅ΡΠΊΠ° Π΄Π°Π»ΠΈ Elasticsearch ΡΠ΅ ΠΏΡΠΈΠ΅ΠΌΠ° Π»ΠΎΠ³ΠΎΠ²Π΅
ΠΠ° ΡΠ΅Π»ΡΠ° ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΏΡΠΎΠ²Π΅ΡΠΈΠΌ Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° curl Π΄ΠΎΡΡΡΠΏΠ° Π΄ΠΎ Elasticsearch ΠΎΡ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°, Π² ΠΊΠΎΡΡΠΎ Π΅ ΡΠ°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ Logstash. ΠΠΊΠΎ ΠΈΠΌΠ°ΡΠ΅ Π½Π°ΡΡΡΠΎΠ΅Π½Π° Π°Π²ΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ, ΡΠΎΠ³Π°Π²Π° ΡΡΡΠΎ ΡΡΠ΅Π· curl ΠΏΡΠ΅Π΄Π°Π²Π°ΠΌΠ΅ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»/ΠΏΠ°ΡΠΎΠ»Π°, ΠΏΠΎΡΠΎΡΠ²Π°ΠΌΠ΅ ΠΏΠΎΡΡ 9200, Π°ΠΊΠΎ Π½Π΅ ΡΡΠ΅ Π³ΠΎ ΠΏΡΠΎΠΌΠ΅Π½ΡΠ»ΠΈ. ΠΠΊΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΠΎΡΠ³ΠΎΠ²ΠΎΡ, ΠΏΠΎΠ΄ΠΎΠ±Π΅Π½ Π½Π° ΠΏΠΎΡΠΎΡΠ΅Π½ΠΈΡ ΠΏΠΎ-Π΄ΠΎΠ»Ρ, Π·Π½Π°ΡΠΈ Π²ΡΠΈΡΠΊΠΎ Π΅ Π½Π°ΡΠ΅Π΄.
[elastic@elasticsearch ~]$ curl -u <> : <> -sS -XGET "<>: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.
Π‘ ΡΡΡΠ²ΡΡΠ° Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Check Point ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΡΠ°ΡΠ°Ρ Π»ΠΎΠ³ΠΎΠ²Π΅ Π² Logstash ΡΡΠ΅Π· syslog, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΡΡΠΈΠ»ΠΈΡΠ°ΡΠ° log_exporter, ΠΌΠΎΠΆΠ΅ Π΄Π° Π½Π°ΡΡΠΈΡΠ΅ ΠΏΠΎΠ²Π΅ΡΠ΅ Π·Π° Π½Π΅Ρ ΡΡΠΊ. , ΡΡΠΊ ΠΎΡΡΠ°Π²ΡΠΌΠ΅ ΡΠ°ΠΌΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ°, ΠΊΠΎΡΡΠΎ ΡΡΠ·Π΄Π°Π²Π° ΠΏΠΎΡΠΎΠΊΠ°:
cp_log_export add name check_point_syslog target-server <> target-port 5555 protocol tcp format generic read-mode semi-unified
<> β Π°Π΄ΡΠ΅ΡΡΡ Π½Π° ΡΡΡΠ²ΡΡΠ°, Π½Π° ΠΊΠΎΠΉΡΠΎ ΡΠ°Π±ΠΎΡΠΈ Logstash, target-port 5555 β ΠΏΠΎΡΡΡΡ, Π½Π° ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΡΠ°ΡΠ°ΠΌΠ΅ Π»ΠΎΠ³ΠΎΠ²Π΅ΡΠ΅, ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ΡΠΎ Π½Π° Π»ΠΎΠ³ΠΎΠ²Π΅ ΠΏΠΎ tcp ΠΌΠΎΠΆΠ΅ Π΄Π° Π½Π°ΡΠΎΠ²Π°ΡΠΈ ΡΡΡΠ²ΡΡΠ°, ΡΠ°ΠΊΠ° ΡΠ΅ Π² Π½ΡΠΊΠΎΠΈ ΡΠ»ΡΡΠ°ΠΈ Π΅ ΠΏΠΎ-ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° udp.
ΠΠ°ΡΡΡΠΎΠΉΠ²Π°ΠΌΠ΅ INPUT Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡ ΡΠ°ΠΉΠ» Π½Π° Logstash.

ΠΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡΡ ΡΠ°ΠΉΠ» ΡΠ΅ Π½Π°ΠΌΠΈΡΠ° Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΡΠ° /etc/logstash/conf.d/. ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡΡ ΡΠ°ΠΉΠ» ΡΠ΅ ΡΡΡΡΠΎΠΈ ΠΎΡ ΡΡΠΈ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈ ΡΠ°ΡΡΠΈ: INPUT, FILTER, OUTPUT. Π INPUT ΡΠΊΠ°Π·Π²Π°ΠΌΠ΅ ΠΎΡΠΊΡΠ΄Π΅ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° ΡΠ΅ Π²Π·Π΅ΠΌΠ° Π»ΠΎΠ³ΠΎΠ²Π΅ΡΠ΅, Π² FILTER ΠΏΠ°ΡΡΠΈΠ½Π³ Π½Π° Π»ΠΎΠ³Π° β Π½Π°ΡΡΡΠΎΠΉΠ²Π°ΠΌΠ΅ ΠΊΠ°ΠΊ Π΄Π° ΡΠ°Π·Π΄Π΅Π»ΠΈΠΌ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΠΎΠ»Π΅ΡΠ° ΠΈ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ, Π² OUTPUT Π½Π°ΡΡΡΠΎΠΉΠ²Π°ΠΌΠ΅ ΠΈΠ·Ρ
ΠΎΠ΄ΡΡΠΈΡ ΠΏΠΎΡΠΎΠΊ β ΠΊΡΠ΄Π΅ ΠΏΠ°ΡΡΠ½Π°ΡΠΈΡΠ΅ Π»ΠΎΠ³ΠΎΠ²Π΅ ΡΠ΅ Π±ΡΠ΄Π°Ρ ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½ΠΈ.
ΠΡΡΠ²ΠΎ ΡΠ΅ Π½Π°ΡΡΡΠΎΠΈΠΌ INPUT, ΡΠ΅ ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ Π½ΡΠΊΠΎΠΈ ΡΠΈΠΏΠΎΠ²Π΅, ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ β file, tcp ΠΈ exe.
Tcp:
input {
tcp {
port => 5555
host => "10.10.1.205"
type => "checkpoint"
mode => "server"
}
}
mode => Β«serverΒ»
ΠΎΠ·Π½Π°ΡΠ°Π²Π°, ΡΠ΅ Logstash ΠΏΡΠΈΠ΅ΠΌΠ° Π²ΡΡΠ·ΠΊΠΈ.
port => 5555
host => "10.10.1.205"
ΠΡΠΈΠ΅ΠΌΠ°ΠΌΠ΅ Π²ΡΡΠ·ΠΊΠΈ ΠΏΠΎ IP Π°Π΄ΡΠ΅ΡΠ° 10.10.1.205 (Logstash), ΠΏΠΎΡΡ 5555 β ΠΏΠΎΡΡΡΡ ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ ΠΎΡ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ°ΡΠ° Π½Π° Π·Π°ΡΠΈΡΠ½Π°ΡΠ° ΡΡΠ΅Π½Π°.
type => Β«checkpointΒ»
ΠΠ°ΡΠΊΠΈΡΠ°ΠΌΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°, ΠΊΠΎΠ΅ΡΠΎ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΄ΠΎΠ±Π½ΠΎ Π² ΡΠ»ΡΡΠ°ΠΉ, ΡΠ΅ ΠΈΠΌΠ°ΡΠ΅ Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π²Ρ
ΠΎΠ΄ΡΡΠΈ Π²ΡΡΠ·ΠΊΠΈ. ΠΠΎ-ΠΊΡΡΠ½ΠΎ Π·Π° Π²ΡΡΠΊΠ° Π²ΡΡΠ·ΠΊΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° Π½Π°ΠΏΠΈΡΠ΅ΡΠ΅ ΡΠ²ΠΎΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½ ΡΠΈΠ»ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠ°ΡΠ° ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ if.
File:
input {
file {
path => "/var/log/openvas_report/*"
type => "openvas"
start_position => "beginning"
}
}
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π½Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠΈΡΠ΅:
path => Β«/var/log/openvas_report/*Β»
ΠΠΎΡΠΎΡΠ²Π°ΠΌΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΡΠ°, Π² ΠΊΠΎΡΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΡΠ΅ΡΠ°Ρ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅.
type => "openvas"
Π’ΠΈΠΏ Π½Π° ΡΡΠ±ΠΈΡΠΈΠ΅ΡΠΎ.
start_position => "Π½Π°ΡΠ°Π»ΠΎ"
ΠΡΠΈ ΠΏΡΠΎΠΌΡΠ½Π° Π½Π° ΡΠ°ΠΉΠ»Π°, ΡΠ΅ ΡΠ΅ΡΠ΅ ΡΠ΅Π»ΠΈΡ ΡΠ°ΠΉΠ»; Π°ΠΊΠΎ Π΅ Π·Π°Π΄Π°Π΄Π΅Π½ΠΎ "ΠΊΡΠ°ΠΉ", ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° ΠΎΡΠ°ΠΊΠ²Π° Π½ΠΎΠ²ΠΈ Π·Π°ΠΏΠΈΡΠΈ Π² ΠΊΡΠ°Ρ Π½Π° ΡΠ°ΠΉΠ»Π°.
Exec:
input {
exec {
command => "ls -alh"
interval => 30
}
}
ΠΠΎ ΡΠΎΠ·ΠΈ Π²Ρ ΠΎΠ΄ ΡΠ΅ ΡΡΠ°ΡΡΠΈΡΠ° (ΡΠ°ΠΌΠΎ!) shell ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΈ Π½Π΅ΠΉΠ½ΠΈΡΡ ΠΈΠ·Ρ ΠΎΠ΄ ΡΠ΅ ΠΎΠ±Π³ΡΡΡΠ° Π² Π»ΠΎΠ³ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅.
command => "ls -alh"
ΠΠΎΠΌΠ°Π½Π΄Π°, ΡΠΈΠΉΡΠΎ ΠΈΠ·Ρ
ΠΎΠ΄ Π½ΠΈ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ²Π°.
interval => 30
ΠΠ½ΡΠ΅ΡΠ²Π°Π» Π·Π° ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° Π² ΡΠ΅ΠΊΡΠ½Π΄ΠΈ.
ΠΠ° Π΄Π° ΠΏΡΠΈΠ΅ΠΌΠ΅ΠΌ Π»ΠΎΠ³ΠΎΠ²Π΅ΡΠ΅ ΠΎΡ Π·Π°ΡΠΈΡΠ½Π°ΡΠ° ΡΡΠ΅Π½Π°, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠΌΠ΅ ΡΠΈΠ»ΡΡΡ tcp ΠΈΠ»ΠΈ udp, Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ ΠΎΡ Π½Π°ΡΠΈΠ½Π°, ΠΏΠΎ ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΡΠ°ΡΠ°Ρ Π»ΠΎΠ³ΠΎΠ²Π΅ΡΠ΅ Π² Logstash.
ΠΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°ΠΌΠ΅ Output Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡ ΡΠ°ΠΉΠ» Π½Π° 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
ΠΠΈΠΆΠ΄Π°ΠΌΠ΅ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠ°, ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ°ΡΠ° Π΅Clickable:
ΠΠΊΠΎ ΠΊΠΎΠΏΠΈΡΠ°ΠΌΠ΅ ΡΠΎΠ²Π°, ΡΠ΅ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° ΡΠ°ΠΊΠ°:
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="ts-spb-dc-01@tssolution.local" 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,
ΠΠ»Π΅Π΄Π°ΠΉΠΊΠΈ Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅, ΡΠ°Π·Π±ΠΈΡΠ°ΠΌΠ΅, ΡΠ΅ Π»ΠΎΠ³ΠΎΠ²Π΅ΡΠ΅ ΡΠ° Π²ΡΠ² ΡΠΎΡΠΌΠ°Ρ: ΠΏΠΎΠ»Π΅ = ΡΡΠΎΠΉΠ½ΠΎΡΡ ΠΈΠ»ΠΈ key = value, ΠΊΠΎΠ΅ΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π²Π°, ΡΠ΅ ΠΏΠΎΠ΄Ρ ΠΎΠΆΠ΄Π° ΡΠΈΠ»ΡΡΡ, Π½Π°ΡΠ΅ΡΠ΅Π½ kv. ΠΠ° Π΄Π° ΠΈΠ·Π±Π΅ΡΠ΅ΠΌ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΈΡ ΡΠΈΠ»ΡΡΡ Π·Π° Π²ΡΠ΅ΠΊΠΈ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ΅Π½ ΡΠ»ΡΡΠ°ΠΉ, Π±ΠΈ Π±ΠΈΠ»ΠΎ Π΄ΠΎΠ±ΡΠ΅ Π΄Π° ΡΠ΅ Π·Π°ΠΏΠΎΠ·Π½Π°Π΅ΠΌ Ρ ΡΡΡ Π² ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠ°ΡΠ° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΈΠ»ΠΈ Π΄Π° ΠΏΠΎΠΏΠΈΡΠ°ΠΌΠ΅ ΠΏΡΠΈΡΡΠ΅Π».
ΠΠ°ΡΡΡΠΎΠΉΠ²Π°ΠΌΠ΅ Filter
ΠΠ° ΠΏΡΠ΅Π΄ΠΈΡΠ½ΠΈΡ Π΅ΡΠ°ΠΏ ΠΈΠ·Π±ΡΠ°Ρ ΠΌΠ΅ kv, ΡΠ»Π΅Π΄Π²Π°ΡΠ°ΡΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π½Π° ΡΠΎΠ·ΠΈ ΡΠΈΠ»ΡΡΡ Π΅:
filter {
if [type] == "checkpoint"{
kv {
value_split => "="
allow_duplicate_values => false
}
}
}
ΠΠ·Π±ΠΈΡΠ°ΠΌΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Π°, ΠΏΠΎ ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΡΠ°Π·Π΄Π΅Π»ΡΠΌΠ΅ ΠΏΠΎΠ»Π΅ΡΠΎ ΠΈ ΡΡΠΎΠΉΠ½ΠΎΡΡΡΠ° β β=β. ΠΠΊΠΎ ΠΈΠΌΠ°ΠΌΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½ΠΈ Π·Π°ΠΏΠΈΡΠΈ Π² Π»ΠΎΠ³Π°, Π·Π°ΠΏΠ°Π·Π²Π°ΠΌΠ΅ Π² Π±Π°Π·Π°ΡΠ° ΡΠ°ΠΌΠΎ Π΅Π΄ΠΈΠ½ Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ, ΠΈΠ½Π°ΡΠ΅ ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΠΌΠ°ΡΠΈΠ² ΠΎΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½ΠΈ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ, Ρ.Π΅., Π°ΠΊΠΎ ΠΈΠΌΠ°ΠΌΠ΅ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ βfoo = some foo=someβ, Π·Π°ΠΏΠΈΡΠ²Π°ΠΌΠ΅ ΡΠ°ΠΌΠΎ foo = some.
ΠΠ°ΡΡΡΠΎΠΉΠ²Π°ΠΌΠ΅ ΠΊΠΎΡΠ΅ΠΊΡΠ΅Π½ Output Π² ElasticSearch
Π‘Π»Π΅Π΄ ΠΊΠ°ΡΠΎ ΡΠΈΠ»ΡΡΡΡΡ Π΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½, ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΈΠ·ΡΠ΅Π³Π»ΠΈΠΌ Π»ΠΎΠ³ΠΎΠ²Π΅ΡΠ΅ Π² Π±Π°Π·Π°ΡΠ°. elasticsearch:
output
{
if [type] == "checkpoint"
{
elasticsearch
{
hosts => ["10.10.1.200:9200"]
index => "checkpoint-%{+YYYY.MM.dd}"
user => "tssolution"
password => "cool"
}
}
}
ΠΠΊΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡΡ Π΅ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½ Ρ ΡΠΈΠΏΠ° checkpoint, ΡΡΡ ΡΠ°Π½ΡΠ²Π°ΠΌΠ΅ ΡΡΠ±ΠΈΡΠΈΠ΅ΡΠΎ Π² Π±Π°Π·Π°ΡΠ° elasticsearch, ΠΊΠΎΡΡΠΎ ΠΏΡΠΈΠ΅ΠΌΠ° Π²ΡΡΠ·ΠΊΠΈ Π½Π° 10.10.1.200 Π½Π° ΠΏΠΎΡΡ 9200 ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅. ΠΡΠ΅ΠΊΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ ΡΠ΅ ΡΡΡ ΡΠ°Π½ΡΠ²Π° Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΠΈΠ½Π΄Π΅ΠΊΡ, Π² ΡΠΎΠ·ΠΈ ΡΠ»ΡΡΠ°ΠΉ Π² ΠΈΠ½Π΄Π΅ΠΊΡ βcheckpoint-β + ΡΠ΅ΠΊΡΡΠ°ΡΠ° Π²ΡΠ΅ΠΌΠ΅Π²Π° Π΄Π°ΡΠ°. ΠΡΠ΅ΠΊΠΈ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠΌΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ Π½Π°Π±ΠΎΡ ΠΎΡ ΠΏΠΎΠ»Π΅ΡΠ°, ΠΈΠ»ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΡΠ΅ ΡΡΠ·Π΄Π°Π²Π° ΠΏΡΠΈ ΠΏΠΎΡΠ²Π°ΡΠ° Π½Π° Π½ΠΎΠ²ΠΎ ΠΏΠΎΠ»Π΅ Π² ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΡΠΎ, Π½Π°ΡΡΡΠΎΠΉΠΊΠΈΡΠ΅ Π½Π° ΠΏΠΎΠ»Π΅ΡΠ° ΠΈ ΡΠ΅Ρ Π½ΠΈΡΠ΅ ΡΠΈΠΏΠΎΠ²Π΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ Π²ΠΈΠ΄ΡΡ Π² mappings.
ΠΠΊΠΎ ΠΈΠΌΠ°ΡΠ΅ Π½Π°ΡΡΡΠΎΠ΅Π½Π° Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ (ΠΊΠΎΡΡΠΎ ΡΠ΅ ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΠΏΠΎ-ΠΊΡΡΠ½ΠΎ), Π·Π°Π΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½ΠΎ ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π°Ρ ΠΏΠΎΡΠΎΡΠ΅Π½ΠΈ ΠΊΡΠ΅Π΄Π΅Π½ΡΠΈΠΈ Π·Π° Π·Π°ΠΏΠΈΡ Π² ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ΅Π½ ΠΈΠ½Π΄Π΅ΠΊΡ, Π² ΡΠΎΠ·ΠΈ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΎΠ²Π° Π΅ β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 start logstash
ΠΡΠΎΠ²Π΅ΡΡΠ²Π°ΠΌΠ΅ Π΄Π°Π»ΠΈ ΠΏΡΠΎΡΠ΅ΡΡΡ Π΅ ΡΡΠ°ΡΡΠΈΡΠ°Π»:
sudo systemctl status logstash

ΠΡΠΎΠ²Π΅ΡΡΠ²Π°ΠΌΠ΅ Π΄Π°Π»ΠΈ ΡΠΎΠΊΠ΅ΡΡΡ Π΅ Π°ΠΊΡΠΈΠ²Π΅Π½:
netstat -nat |grep 5555
![]()
ΠΡΠΎΠ²Π΅ΡΡΠ²Π°ΠΌΠ΅ Π»ΠΎΠ³ΠΎΠ²Π΅ΡΠ΅ Π² Kibana.
Π‘Π»Π΅Π΄ ΠΊΠ°ΡΠΎ Π²ΡΠΈΡΠΊΠΎ Π΅ ΠΏΡΡΠ½Π°ΡΠΎ, Π²Π»ΠΈΠ·Π°ΠΌΠ΅ Π² Kibana β Discover ΠΈ ΡΠ΅ ΡΠ²Π΅ΡΡΠ²Π°ΠΌΠ΅, ΡΠ΅ Π²ΡΠΈΡΠΊΠΎ Π΅ Π½Π°ΡΡΡΠΎΠ΅Π½ΠΎ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ, ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Π΅ ΠΊΠ»ΠΈΠΊΠ°Π΅ΠΌo!
ΠΡΠΈΡΠΊΠΈ Π»ΠΎΠ³ΠΎΠ²Π΅ ΡΠ° Π½Π° ΠΌΡΡΡΠΎ ΠΈ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π²ΠΈΠ΄ΠΈΠΌ Π²ΡΠΈΡΠΊΠΈ ΠΏΠΎΠ»Π΅ΡΠ° ΠΈ ΡΠ΅Ρ Π½ΠΈΡΠ΅ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ!
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π Π°Π·Π³Π»Π΅Π΄Π°Ρ ΠΌΠ΅ ΠΊΠ°ΠΊ Π΄Π° ΠΏΠΈΡΠ΅ΠΌ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π΅Π½ ΡΠ°ΠΉΠ» Π·Π° Logstash ΠΈ Π² ΡΠ΅Π·ΡΠ»ΡΠ°Ρ ΠΏΠΎΠ»ΡΡΠΈΡ ΠΌΠ΅ ΠΏΠ°ΡΡΠ΅Ρ Π·Π° Π²ΡΠΈΡΠΊΠΈ ΠΏΠΎΠ»Π΅ΡΠ° ΠΈ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ. Π‘Π΅Π³Π° ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΡΠ°Π±ΠΎΡΠΈΠΌ Ρ ΡΡΡΡΠ΅Π½Π΅ ΠΈ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° Π³ΡΠ°ΡΠΈΠΊΠΈ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΠΏΠΎΠ»Π΅ΡΠ°. Π ΡΠ»Π΅Π΄Π²Π°ΡΠΈΡΠ΅ ΡΠ°ΡΡΠΈ Π½Π° ΠΊΡΡΡΠ° ΡΠ΅ ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡΡΠ° Π² Kibana ΠΈ ΡΠ΅ ΡΡΠ·Π΄Π°Π΄Π΅ΠΌ ΠΏΡΠΎΡΡ Π΄Π°ΡΠ±ΠΎΡΠ΄. Π’ΡΡΠ±Π²Π° Π΄Π° ΡΠΏΠΎΠΌΠ΅Π½Π΅ΠΌ, ΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡΡ ΡΠ°ΠΉΠ» Π½Π° Logstash ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ Π΄ΠΎΠΏΠΈΡΠ²Π° ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΡΠΈΡΡΠ°ΡΠΈΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠ³Π°ΡΠΎ ΠΈΡΠΊΠ°ΠΌΠ΅ Π΄Π° Π·Π°ΠΌΠ΅Π½ΠΈΠΌ ΡΡΠΎΠΉΠ½ΠΎΡΡ Π½Π° ΠΏΠΎΠ»Π΅ ΠΎΡ ΡΠΈΡΠ»ΠΎ Π½Π° Π΄ΡΠΌΠ°. Π ΡΠ»Π΅Π΄Π²Π°ΡΠΈΡΠ΅ ΡΡΠ°ΡΠΈΠΈ ΡΠ΅ Π³ΠΎ ΠΏΡΠ°Π²ΠΈΠΌ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ.
Π’Π°ΠΊΠ° ΡΠ΅ ΡΠ»Π΅Π΄Π΅ΡΠ΅ Π·Π° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡΡΠ° (, , , ), .
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: habr.com
