Найти в Дзене

Доставка syslog в elastic

Доставка syslog в elastic Простой пример, как можно доставлять syslog с linux машин в elasticsearch. Для сбора логов на целевой машине я буду использовать вектор. У меня ubuntu 22.04, установить vector можно так: bash -c "$(curl -L https://setup.vector.dev)" sudo apt-get install vector Далее приведем его конфигурационный файл /etc/vector/vector.yaml к следующему виду: sources: syslog: type: file include: - /var/log/syslog ignore_older: 86400 sinks: logstash: inputs: - syslog type: socket address: "<logstash_ip>:<logstash_port>" mode: tcp encoding: codec: text И запустим vector: sudo systemctl enable vector sudo systemctl start vector Затем на машине с logstash создадим конфиг /etc/logstash/conf.d/syslog.conf: input { tcp { port => 5044 codec => plain { charset => "UTF-8" } } } filter { grok { match => { "message" => "%{SYSLOGLINE}" } } date { match => [ "timestamp", "MMM d HH:mm:ss", "MMM dd HH:mm:ss" ] timezone => "UTC" } } output { elasticsearch { hosts => ["https://<elastic_

Доставка syslog в elastic

Простой пример, как можно доставлять syslog с linux машин в elasticsearch.

Для сбора логов на целевой машине я буду использовать вектор. У меня ubuntu 22.04, установить vector можно так:

bash -c "$(curl -L https://setup.vector.dev)"

sudo apt-get install vector

Далее приведем его конфигурационный файл /etc/vector/vector.yaml к следующему виду:

sources:

syslog:

type: file

include:

- /var/log/syslog

ignore_older: 86400

sinks:

logstash:

inputs:

- syslog

type: socket

address: "<logstash_ip>:<logstash_port>"

mode: tcp

encoding:

codec: text

И запустим vector:

sudo systemctl enable vector

sudo systemctl start vector

Затем на машине с logstash создадим конфиг /etc/logstash/conf.d/syslog.conf:

input {

tcp {

port => 5044

codec => plain {

charset => "UTF-8"

}

}

}

filter {

grok {

match => { "message" => "%{SYSLOGLINE}" }

}

date {

match => [ "timestamp", "MMM d HH:mm:ss", "MMM dd HH:mm:ss" ]

timezone => "UTC"

}

}

output {

elasticsearch {

hosts => ["https://<elastic_ip>:9200"]

user => "<elastic_user>"

password => "<elastic_password>"

index => "syslog-%{+YYYY.MM.dd}"

ssl => true

ssl_certificate_verification => false

}

}

Перезапускаем logstash:

sudo systemctl restart logstash

Уже после этого мы должны увидеть новый индекс в кибане, далее нужно создать data view и можно просматривать документы.

#elk