Одним словом, нет, вы не можете настроить ввод, чтобы ограничить, с каких хостов он будет принимать ввод. Что вы можете сделать, так это отбросить события от хостов, которые вас не интересуют. Если набор хостов, от которых вы хотите принимать входные данные, невелик, вы можете сделать это с помощью условного
if [beat][hostname] не в [ hosta, hostb, hostc ] { drop {} }
Точно так же, если ваши имена хостов следуют фиксированному шаблону, вы можете сделать это с помощью регулярного выражения
if [beat][hostname] !~ /web\d+$/ { drop {} }
будет отбрасывать события с любого хоста, чье имя не заканчивается на web, за которым следует число.
Если у вас большой набор хостов, вы можете использовать фильтр перевода, чтобы определить, входят ли они в набор. Например, если вы создаете файл csv со списком хостов
hosta,1
hostb,1
hostc,1
затем выполните поиск, используя
translate {
field => "[beat][hostname]"
dictionary_path => "/some/path/foo.csv"
destination => "[@metadata][field]"
fallback => "dropMe"
}
if [@metadata][field] == "dropMe" { drop {} }
person
Badger
schedule
06.01.2021