В настоящее время у меня следующая установка.
Системный журнал -> Logstash -> ElasticSearch -> Kibana
Logstash создает ежедневный индекс "/etc/elasticsearch/data/test-elasticsearch/nodes/0/indices/logstash-2014.02.04", и я просматриваю все журналы через Kibana. Мы хотим настроить некоторый пользовательский контроль доступа с использованием настройки kibana-authentication-proxy, поскольку он поддерживает индексы kibana для каждого пользователя. теперь вы можете использовать индекс kibana-int-userA для пользователя A и kibana-int-userB для пользователя B. Я хотел бы сделать его так, чтобы все журналы, поступающие из logstash, располагались по адресу "/ var / log / UNIX / *. log "будут отправлены на новый индекс unix-2014.02.04 вместо logstash. Таким образом, я могу использовать прокси-сервер Kibana auth, чтобы предоставить моим пользователям UNIX доступ только к их журналам. Я немного читал о создании сопоставлений, но не знал, как все это связать. Я видел, что с вызовами API можно делать разные вещи, но мне было любопытно, можно ли с самого начала настроить все это в файле elasticsearch.yml.
Спасибо,
Эрик
Я выяснил, что это можно сделать в конфигурации logstash, используя фильтры ввода и вывода. Новый способ if показан ниже, но я еще не заставил его работать.
input {
file {
type => "unixlogs"
path => "/var/log/UNIX/*.log"
}
}
output {
if [type] == "unixlogs" {
elasticsearch {
host => "localhost"
index => "unix-%{+YYYY.MM.dd}"
}
}
}
Ниже приведен более старый способ сделать это, над которым я работал.
file {
type => "syslog"
exclude => ["*.gz"]
start_position => "end"
path => [ "/var/logs/Security/*.log"]
}
file {
type => "unix-syslog"
exclude => ["*.gz"]
start_position => "end"
path => [ "/var/logs/UNIX/*.log"]
}
output {
elasticsearch {
type => "unix-syslog"
embedded => "false"
host => "X.X.X"
cluster => "my-elasticsearch"
index => "unix-%{+YYYY.MM.dd}"
}
elasticsearch {
embedded => "false"
host => "X.X.X"
cluster => "my-elasticsearch"
}
}
С верхним способом он будет писать только в тот индекс, который вы ему укажете. При нижнем способе журналы UNIX будут записываться в индекс unix и общий индекс, поскольку это не if, а просто и.