Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Logstash 我们是否可以将日志存储输入配置为仅侦听特定主机集_Logstash_Logstash Configuration_Logstash Forwarder_Logstash Input Jdbc - Fatal编程技术网

Logstash 我们是否可以将日志存储输入配置为仅侦听特定主机集

Logstash 我们是否可以将日志存储输入配置为仅侦听特定主机集,logstash,logstash-configuration,logstash-forwarder,logstash-input-jdbc,Logstash,Logstash Configuration,Logstash Forwarder,Logstash Input Jdbc,目前,我的日志存储输入正在侦听端口XXXX上的filebeat,我的要求是仅从特定主机(比方说仅从Web服务器)收集日志数据。我不想直接在服务器上修改filebeat配置,但我希望只允许Web服务器日志侦听 有人能建议在这种情况下如何配置日志存储吗?以下是mylogstash输入配置 **input { beats { port => 50XX } }** 总之,“否”,您不能将输入配置为限制它将从哪些主机接受输入。您可以做的是从您不感兴趣的主机上删除事件。如果要从中接受

目前,我的日志存储输入正在侦听端口XXXX上的filebeat,我的要求是仅从特定主机(比方说仅从Web服务器)收集日志数据。我不想直接在服务器上修改filebeat配置,但我希望只允许Web服务器日志侦听

有人能建议在这种情况下如何配置日志存储吗?以下是mylogstash输入配置

**input {
  beats {
    port => 50XX
  }
}**
总之,“否”,您不能将输入配置为限制它将从哪些主机接受输入。您可以做的是从您不感兴趣的主机上删除事件。如果要从中接受输入的主机集很小,则可以使用条件

如果[beat][hostname]不在[“hosta”、“hostb”、“hostc”]{drop{}

类似地,如果主机名遵循固定模式,则可以使用regexp执行此操作

如果[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 {} }

非常感谢你!它起了很大的作用