ElasticSearch несколько индексов и маршрутизация
В настоящее время у меня есть следующие настройки.
Системный журнал -> 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" get sent to a new index of unix-2014.02.04 instead of the logstash one. That way I can use the Kibana auth proxy to give my UNIX users access only to their logs. I've read a little about creating the mappings but wasn't sure how to tie it all together. I saw you could do various things with API calls but was curious if I could set all of this up in the elasticsearch.yml file from the start.
Спасибо,
Эрик
1 ответ
Я обнаружил, что вы можете сделать это в конфигурации 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, а просто.