2. ืžื—ืกื ื™ืช ืืœืกื˜ื™ืช: ื ื™ืชื•ื— ื™ื•ืžื ื™ ืื‘ื˜ื—ื”. Logstash

2. ืžื—ืกื ื™ืช ืืœืกื˜ื™ืช: ื ื™ืชื•ื— ื™ื•ืžื ื™ ืื‘ื˜ื—ื”. Logstash

ื‘ืขื‘ืจ ัั‚ะฐั‚ัŒะต ื ืคื’ืฉื ื• ืžื—ืกื ื™ืช ELK, ืžืื™ืœื• ืžื•ืฆืจื™ ืชื•ื›ื ื” ื”ื•ื ืžื•ืจื›ื‘. ื•ื”ืžืฉื™ืžื” ื”ืจืืฉื•ื ื” ืฉืขื•ืžื“ืช ื‘ืคื ื™ ืžื”ื ื“ืก ื‘ืขืช ืขื‘ื•ื“ื” ืขื ืžื—ืกื ื™ืช ื”-ELK ื”ื™ื ืฉืœื™ื—ืช ื™ื•ืžื ื™ื ืœืื—ืกื•ืŸ ื‘-lasticsearch ืœื ื™ืชื•ื— ืื—ืจ ื›ืš. ืขื ื–ืืช, ื–ื”ื• ืจืง ืžืก ืฉืคืชื™ื™ื, elasticsearch ืžืื—ืกืŸ ื™ื•ืžื ื™ื ื‘ืฆื•ืจื” ืฉืœ ืžืกืžื›ื™ื ืขื ืฉื“ื•ืช ื•ืขืจื›ื™ื ืžืกื•ื™ืžื™ื, ืžื” ืฉืื•ืžืจ ืฉื”ืžื”ื ื“ืก ื—ื™ื™ื‘ ืœื”ืฉืชืžืฉ ื‘ื›ืœื™ื ืฉื•ื ื™ื ื›ื“ื™ ืœื ืชื— ืืช ื”ื”ื•ื“ืขื” ืฉื ืฉืœื—ืช ืžืžืขืจื›ื•ืช ื”ืงืฆื”. ื ื™ืชืŸ ืœืขืฉื•ืช ื–ืืช ื‘ื›ืžื” ื“ืจื›ื™ื - ื›ืชื‘ื• ื‘ืขืฆืžื›ื ืชื•ื›ื ื” ืฉืชื•ืกื™ืฃ ืžืกืžื›ื™ื ืœืžืกื“ ื”ื ืชื•ื ื™ื ื‘ืืžืฆืขื•ืช ื”-API, ืื• ื”ืฉืชืžืฉื• ื‘ืคืชืจื•ื ื•ืช ืžื•ื›ื ื™ื. ื‘ืงื•ืจืก ื–ื” ื ืฉืงื•ืœ ืืช ื”ืคืชืจื•ืŸ ืœื•ื’ืกื˜ืืฉ, ืฉื”ื•ื ื—ืœืง ืžื—ืกื ื™ืช ELK. ื ื‘ื“ื•ืง ื›ื™ืฆื“ ื ื•ื›ืœ ืœืฉืœื•ื— ืœื•ื’ื™ื ืžืžืขืจื›ื•ืช ื ืงื•ื“ืช ืงืฆื” ืœ-Logstash, ื•ืœืื—ืจ ืžื›ืŸ ื ื’ื“ื™ืจ ืงื•ื‘ืฅ ืชืฆื•ืจื” ืœื ื™ืชื•ื— ื•ื”ืคื ื™ื” ืžื—ื“ืฉ ืœืžืกื“ ื”ื ืชื•ื ื™ื ืฉืœ Elasticsearch. ืœืฉื ื›ืš, ืื ื• ืœื•ืงื—ื™ื ื™ื•ืžื ื™ื ืžื—ื•ืžืช ื”ืืฉ ืฉืœ ืฆ'ืง ืคื•ื™ื ื˜ ื›ืžืขืจื›ืช ื”ื ื›ื ืกืช.

ื”ืงื•ืจืก ืื™ื ื• ืžื›ืกื” ืืช ื”ื”ืชืงื ื” ืฉืœ ืžื—ืกื ื™ืช ELK, ืžื›ื™ื•ื•ืŸ ืฉื™ืฉ ืžืกืคืจ ืขืฆื•ื ืฉืœ ืžืืžืจื™ื ื‘ื ื•ืฉื ื–ื”; ื ืฉืงื•ืœ ืืช ืจื›ื™ื‘ ื”ืชืฆื•ืจื”.

ื‘ื•ืื• ื ืขืจื•ืš ืชื•ื›ื ื™ืช ืคืขื•ืœื” ืขื‘ื•ืจ ืชืฆื•ืจืช Logstash:

  1. ื‘ื“ื™ืงื” ื›ื™ elasticsearch ื™ืงื‘ืœ ื™ื•ืžื ื™ื (ื‘ื“ื™ืงืช ื”ืคื•ื ืงืฆื™ื•ื ืœื™ื•ืช ื•ื”ืคืชื™ื—ื•ืช ืฉืœ ื”ืคื•ืจื˜).
  2. ืื ื• ืฉื•ืงืœื™ื ื›ื™ืฆื“ ืื ื• ื™ื›ื•ืœื™ื ืœืฉืœื•ื— ืื™ืจื•ืขื™ื ืœ-Logstash, ืœื‘ื—ื•ืจ ืฉื™ื˜ื” ื•ืœื™ื™ืฉื ืื•ืชื”.
  3. ืื ื• ืžื’ื“ื™ืจื™ื ืืช ื”ืงืœื˜ ื‘ืงื•ื‘ืฅ ื”ืชืฆื•ืจื” ืฉืœ Logstash.
  4. ืื ื• ืžื’ื“ื™ืจื™ื ืืช ื”ืคืœื˜ ื‘ืงื•ื‘ืฅ ื”ืชืฆื•ืจื” ืฉืœ Logstash ื‘ืžืฆื‘ ื ื™ืคื•ื™ ื‘ืื’ื™ื ื›ื“ื™ ืœื”ื‘ื™ืŸ ืื™ืš ื ืจืื™ืช ื”ื•ื“ืขืช ื”ื™ื•ืžืŸ.
  5. ื”ื’ื“ืจืช ืžืกื ืŸ.
  6. ื”ื’ื“ืจืช ื”ืคืœื˜ ื”ื ื›ื•ืŸ ื‘- ElasticSearch.
  7. Logstash ืžื•ืคืขืœ.
  8. ื‘ื“ื™ืงืช ื”ื™ื•ืžื ื™ื ื‘ืงื™ื‘ื ื”.

ื‘ื•ืื• ื ืกืชื›ืœ ืขืœ ื›ืœ ื ืงื•ื“ื” ื‘ื™ืชืจ ืคื™ืจื•ื˜:

ื‘ื•ื“ืงื™ื ื›ื™ 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 ืžื—ื•ืžืช ืืฉ ืฉืœ ื ืงื•ื“ืช ื‘ื™ืงื•ืจืช

ืžืฉืจืช ื”ื ื™ื”ื•ืœ ืฉืœ ืฆ'ืง ืคื•ื™ื ื˜ ืืชื” ื™ื›ื•ืœ ืœืฉืœื•ื— ืœื•ื’ื™ื ืœ-Logstash ื“ืจืš syslog ื‘ืืžืฆืขื•ืช ื›ืœื™ ื”ืฉื™ืจื•ืช log_exporter, ืชื•ื›ืœ ืœืงืจื•ื ืขื•ื“ ืขืœ ื–ื” ื›ืืŸ ัั‚ะฐั‚ัŒะต, ื›ืืŸ ื ืฉืื™ืจ ืจืง ืืช ื”ืคืงื•ื“ื” ืฉื™ื•ืฆืจืช ืืช ื”ื–ืจื:

cp_log_export ื”ื•ืกืฃ ืฉื check_point_syslog target-server < > ื™ืฆื™ืืช ื™ืขื“ 5555 ืคืจื•ื˜ื•ืงื•ืœ tcp ืคื•ืจืžื˜ ื’ื ืจื™ ืžืฆื‘ ืงืจื™ืื” ื—ืฆื™ ืžืื•ื—ื“

< > - ื›ืชื•ื‘ืช ื”ืฉืจืช ืขืœื™ื• ืจืฅ Logstash, target-port 5555 - ืคื•ืจื˜ ืืœื™ื• ื ืฉืœื— ืœื•ื’ื™ื, ืฉืœื™ื—ืช ืœื•ื’ื™ื ื“ืจืš tcp ื™ื›ื•ืœื” ืœื˜ืขื•ืŸ ืืช ื”ืฉืจืช, ื›ืš ืฉื‘ืžืงืจื™ื ืžืกื•ื™ืžื™ื ื™ื•ืชืจ ื ื›ื•ืŸ ืœื”ืฉืชืžืฉ ื‘-udp.

ื”ื’ื“ืจืช INPUT ื‘ืงื•ื‘ืฅ ื”ืชืฆื•ืจื” ืฉืœ Logstash

2. ืžื—ืกื ื™ืช ืืœืกื˜ื™ืช: ื ื™ืชื•ื— ื™ื•ืžื ื™ ืื‘ื˜ื—ื”. Logstash

ื›ื‘ืจื™ืจืช ืžื—ื“ืœ, ืงื•ื‘ืฅ ื”ืชืฆื•ืจื” ืžืžื•ืงื ื‘ืกืคืจื™ื™ื” /etc/logstash/conf.d/. ืงื•ื‘ืฅ ื”ืชืฆื•ืจื” ืžื•ืจื›ื‘ ืž-3 ื—ืœืงื™ื ื‘ืขืœื™ ืžืฉืžืขื•ืช: INPUT, FILTER, OUTPUT. IN ืงืœื˜ ืื ื• ืžืฆื™ื™ื ื™ื ืžืื™ืคื” ื”ืžืขืจื›ืช ืชื™ืงื— ื™ื•ืžื ื™ื, ื‘ ืกื ืŸ ื ื™ืชื•ื— ื”ื™ื•ืžืŸ - ื”ื’ื“ืจ ื›ื™ืฆื“ ืœื—ืœืง ืืช ื”ื”ื•ื“ืขื” ืœืฉื“ื•ืช ื•ืขืจื›ื™ื, ื‘ ืชืคื•ืงื” ืื ื• ืžื’ื“ื™ืจื™ื ืืช ื–ืจื ื”ืคืœื˜ - ืœืืŸ ื™ื™ืฉืœื—ื• ื”ื™ื•ืžื ื™ื ื”ืžื ื•ืชื—ื™ื.

ืจืืฉื™ืช, ื‘ื•ืื• ื ื’ื“ื™ืจ ืืช INPUT, ื ื™ืงื— ื‘ื—ืฉื‘ื•ืŸ ื›ืžื” ืžื”ืกื•ื’ื™ื ืฉื™ื›ื•ืœื™ื ืœื”ื™ื•ืช - file, 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 - ื”ื™ืฆื™ืื” ื—ื™ื™ื‘ืช ืœื”ื™ื•ืช ืžื•ืชืจืช ืขืœ ืคื™ ืžื“ื™ื ื™ื•ืช ื—ื•ืžืช ื”ืืฉ.

ื”ืงืœื“ => "ืžื—ืกื•ื"
ืื ื• ืžืกืžื ื™ื ืืช ื”ืžืกืžืš, ื ื•ื— ืžืื•ื“ ืื ื™ืฉ ืœืš ืžืกืคืจ ื—ื™ื‘ื•ืจื™ื ื ื›ื ืกื™ื. ืœืื—ืจ ืžื›ืŸ, ืขื‘ื•ืจ ื›ืœ ื—ื™ื‘ื•ืจ ืืชื” ื™ื›ื•ืœ ืœื›ืชื•ื‘ ืžืกื ืŸ ืžืฉืœืš ื‘ืืžืฆืขื•ืช ื”ืžื‘ื ื” ื”ืœื•ื’ื™ ืื.

ืงื•ื‘ืฅ:

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
ืื ื• ืจื•ืื™ื ืืช ื”ืชื•ืฆืื”, ื”ืชืžื•ื ื” ื ื™ืชื ืช ืœืœื—ื™ืฆื”:

2. ืžื—ืกื ื™ืช ืืœืกื˜ื™ืช: ื ื™ืชื•ื— ื™ื•ืžื ื™ ืื‘ื˜ื—ื”. Logstash

ืื ืชืขืชื™ืง ืื•ืชื• ื–ื” ื™ื™ืจืื” ื›ืš:

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 = some 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 ื›ื‘ืจื™ืจืช ืžื—ื“ืœ. ื›ืœ ืžืกืžืš ื ืฉืžืจ ื‘ืื™ื ื“ืงืก ืžืกื•ื™ื, ื‘ืžืงืจื” ื–ื” ืื ื• ืฉื•ืžืจื™ื ืœืื™ื ื“ืงืก "ืžื—ืกื•ื-" + ืชืืจื™ืš ื–ืžืŸ ื ื•ื›ื—ื™. ื›ืœ ืื™ื ื“ืงืก ื™ื›ื•ืœ ืœื›ืœื•ืœ ืงื‘ื•ืฆื” ืžืกื•ื™ืžืช ืฉืœ ืฉื“ื•ืช, ืื• ืฉื ื•ืฆืจ ื‘ืื•ืคืŸ ืื•ื˜ื•ืžื˜ื™ ื›ืืฉืจ ืฉื“ื” ื—ื“ืฉ ืžื•ืคื™ืข ื‘ื”ื•ื“ืขื”; ื ื™ืชืŸ ืœืจืื•ืช ืืช ื”ื’ื“ืจื•ืช ื”ืฉื“ื•ืช ื•ื”ืกื•ื’ ืฉืœื”ืŸ ื‘ืžื™ืคื•ื™ื™ื.

ืื ื”ื’ื“ืจืช ืื™ืžื•ืช (ื ืกืชื›ืœ ืขืœ ื–ื” ืžืื•ื—ืจ ื™ื•ืชืจ), ื™ืฉ ืœืฆื™ื™ืŸ ืืช ื”ืื™ืฉื•ืจื™ื ืœื›ืชื™ื‘ื” ืœืื™ื ื“ืงืก ืกืคืฆื™ืคื™, ื‘ื“ื•ื’ืžื” ื–ื• ื–ื” "tssolution" ืขื ื”ืกื™ืกืžื” "ืžื’ื ื™ื‘". ื ื™ืชืŸ ืœื”ื‘ื“ื™ืœ ื‘ื™ืŸ ื–ื›ื•ื™ื•ืช ืžืฉืชืžืฉ ืœื›ืชื™ื‘ืช ื™ื•ืžื ื™ื ืจืง ืœืื™ื ื“ืงืก ืกืคืฆื™ืคื™ ื•ืœื ื™ื•ืชืจ.

ื”ืคืขืœ ืืช 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
2. ืžื—ืกื ื™ืช ืืœืกื˜ื™ืช: ื ื™ืชื•ื— ื™ื•ืžื ื™ ืื‘ื˜ื—ื”. Logstash

ื”ืชื—ืœ ืืช ืชื”ืœื™ืš Logstash:
ื”ืชื—ืœ ืœื•ื’ืกื˜ืืฉ

ืื ื• ื‘ื•ื“ืงื™ื ืฉื”ืชื”ืœื™ืš ื”ืชื—ื™ืœ:
sudo systemctl status logstash

2. ืžื—ืกื ื™ืช ืืœืกื˜ื™ืช: ื ื™ืชื•ื— ื™ื•ืžื ื™ ืื‘ื˜ื—ื”. Logstash

ื‘ื•ื ื ื‘ื“ื•ืง ืื ื”ืฉืงืข ืคืชื•ื—:
netstat -nat |grep 5555

2. ืžื—ืกื ื™ืช ืืœืกื˜ื™ืช: ื ื™ืชื•ื— ื™ื•ืžื ื™ ืื‘ื˜ื—ื”. Logstash

ื‘ื“ื™ืงืช ื”ื™ื•ืžื ื™ื ื‘ืงื™ื‘ื ื”.

ืื—ืจื™ ืฉื”ื›ืœ ืคื•ืขืœ, ืขื‘ืจื• ืœ-Kibana - Discover, ื•ื•ื“ืื• ืฉื”ื›ืœ ืžื•ื’ื“ืจ ื ื›ื•ืŸ, ื”ืชืžื•ื ื” ื ื™ืชื ืช ืœืœื—ื™ืฆื”!

2. ืžื—ืกื ื™ืช ืืœืกื˜ื™ืช: ื ื™ืชื•ื— ื™ื•ืžื ื™ ืื‘ื˜ื—ื”. Logstash

ื›ืœ ื”ื™ื•ืžื ื™ื ื ืžืฆืื™ื ื‘ืžืงื•ื ื•ืื ื—ื ื• ื™ื›ื•ืœื™ื ืœืจืื•ืช ืืช ื›ืœ ื”ืฉื“ื•ืช ื•ื”ืขืจื›ื™ื ืฉืœื”ื!

ืžืกืงื ื”

ื‘ื“ืงื ื• ืื™ืš ืœื›ืชื•ื‘ ืงื•ื‘ืฅ ืชืฆื•ืจื” ืฉืœ Logstash, ื•ื›ืชื•ืฆืื” ืžื›ืš ืงื™ื‘ืœื ื• ืžื ืชื— ืฉืœ ื›ืœ ื”ืฉื“ื•ืช ื•ื”ืขืจื›ื™ื. ื›ืขืช ื ื•ื›ืœ ืœืขื‘ื•ื“ ืขื ื—ื™ืคื•ืฉ ื•ืชื›ื ื•ืŸ ืฉื“ื•ืช ืกืคืฆื™ืคื™ื™ื. ื‘ืฉืœื‘ ื”ื‘ื ื‘ืงื•ืจืก ื ืกืชื›ืœ ืขืœ ื”ื“ืžื™ื” ื‘ืงื™ื‘ืื ื” ื•ื ื™ืฆื•ืจ ืœื•ื— ืžื—ื•ื•ื ื™ื ืคืฉื•ื˜. ืจืื•ื™ ืœื”ื–ื›ื™ืจ ืฉืงื•ื‘ืฅ ื”ืชืฆื•ืจื” ืฉืœ Logstash ืฆืจื™ืš ืœื”ืชืขื“ื›ืŸ ื›ืœ ื”ื–ืžืŸ ื‘ืžืฆื‘ื™ื ืžืกื•ื™ืžื™ื, ืœืžืฉืœ, ื›ืืฉืจ ืื ื• ืจื•ืฆื™ื ืœื”ื—ืœื™ืฃ ืขืจืš ืฉืœ ืฉื“ื” ืžืžืกืคืจ ืœืžื™ืœื”. ื‘ืžืืžืจื™ื ื”ื‘ืื™ื ื ืขืฉื” ื–ืืช ืœืœื ื”ืจืฃ.

ืื– ื”ื™ืฉืืจื• ืžืขื•ื“ื›ื ื™ืืžื‘ืจืง, ืคื™ื™ืกื‘ื•ืง, VK, ื‘ืœื•ื’ ืคืชืจื•ื ื•ืช TS), ื™ืื ื“ืงืก ื–ืŸ.

ืžืงื•ืจ: www.habr.com

ื”ื•ืกืคืช ืชื’ื•ื‘ื”