Elastic Stack 7 : Install Logstash2021/06/22 |
Install Logstash which collects or manages various logs.
For description of Logstash or how to write the setting file, refer to official site below.
⇒ https://www.elastic.co/guide/en/logstash/current/index.html |
|
[1] | Install Logstash. Configure Repository for Elasticsearch before it like here. |
[root@dlp ~]# dnf -y install logstash
|
[2] | Create a setting file and start Logstash. For example, create a setting that Logstash collects sshd fail logs from [/var/log/secure] and output to index [sshd_fail-yyyy.mm] in elasticsearch. |
[root@dlp ~]#
vi /etc/logstash/conf.d/sshd.conf # create new input { file { type => "seucure_log" path => "/var/log/secure" } } filter { grok { add_tag => [ "sshd_fail" ] match => { "message" => "Failed %{WORD:sshd_auth_type} for %{USERNAME:sshd_invalid_user} from %{IP:sshd_client_ip} port %{NUMBER:sshd_port} %{GREEDYDATA:sshd_protocol}" } } } output { elasticsearch { hosts => ["http://localhost:9200"] index => "sshd_fail-%{+YYYY.MM}" } } chgrp logstash /var/log/secure [root@dlp ~]# chmod 640 /var/log/secure [root@dlp ~]# systemctl enable --now logstash
|
[3] | Few minutes later, make sure logs are collected normally. |
# show index list [root@dlp ~]# curl localhost:9200/_cat/indices?v health status index uuid pri rep docs.count docs.deleted store.size pri.store.size green open .kibana_7.13.2_001 zA_r0rrjT7OMUMVSGmRVfg 1 0 16 22 2.1mb 2.1mb green open .apm-custom-link d1-9Pkn-RXOu_qhMOanvVA 1 0 0 0 208b 208b green open .kibana-event-log-7.13.2-000001 Y-rCmM6yTBKa9W5H1LeJ1g 1 0 1 0 5.6kb 5.6kb green open .apm-agent-configuration y3hQme2SQpGMtb64NLsNdA 1 0 0 0 208b 208b green open .kibana_task_manager_7.13.2_001 x6V232xKQLinqRedJRAbgw 1 0 10 761 279.3kb 279.3kb yellow open test_index Vh0HutpLRciaMWX3pFo7Zg 1 1 1 0 5.5kb 5.5kb yellow open sshd_fail-2021.06 HiOI2ac-RzK2BiwQ_gb-VQ 1 1 24 0 44.8kb 44.8kb # show document list on index [root@dlp ~]# curl localhost:9200/sshd_fail-2021.06/_search?pretty { "took" : 1, "timed_out" : false, "_shards" : { "total" : 1, "successful" : 1, "skipped" : 0, "failed" : 0 }, "hits" : { "total" : { "value" : 24, "relation" : "eq" }, "max_score" : 1.0, "hits" : [ { "_index" : "sshd_fail-2021.06", "_type" : "_doc", "_id" : "bqF2MXoB8xzJeutJBHhI", "_score" : 1.0, "_source" : { "sshd_invalid_user" : "cent", "sshd_protocol" : "ssh2", "@timestamp" : "2021-06-22T02:04:14.993Z", "host" : "dlp.srv.world", "type" : "seucure_log", "sshd_auth_type" : "password", "sshd_client_ip" : "::1", "sshd_port" : "33424", "tags" : [ "sshd_fail" ], "message" : "Jun 21 21:04:14 dlp sshd[3101]: Failed password for cent from ::1 port 33424 ssh2", "@version" : "1", "path" : "/var/log/secure" } }, ..... ..... |
[4] | If Kibana is running, To add the Index in Kibana, data is imported in it and possible to create visualization you like. |
Sponsored Link |