2013-03-07 34 views
3

使用以下命令处理数据后:input |过滤器|输出> ElasticSearch它获取存储在该格式是有点像:在ElasticSearch中省略默认Logstash字段

"_index": "logstash-2012.07.02", 
"_type": "stdin", 
"_id": "JdRaI5R6RT2do_WhCYM-qg", 
"_score": 0.30685282, 
"_source": { 
    "@source": "stdin://dist/", 
    "@type": "stdin", 
    "@tags": [ 
     "tag1", 
     "tag2" 
    ], 
    "@fields": {}, 
    "@timestamp": "2012-07-02T06:17:48.533000Z", 
    "@source_host": "dist", 
    "@source_path": "/", 
    "@message": "test" 
} 

我过滤/店大部分在具体领域的重要信息,是有可能离开了默认的领域,如:@source_path和@source_host?在不久的将来,它将存储80亿日志/月,我想运行一些性能测试,并且排除这个默认字段(我只是不使用这些字段)。

回答

0

其中的一些将取决于您使用什么Web界面来查看您的日志。我使用Kibana,以及客户记录器(C#),该指标如下:

{ 
    "_index": "logstash-2013.03.13", 
    "_type": "logs", 
    "_id": "n3GzIC68R1mcdj6Wte6jWw", 
    "_version": 1, 
    "_score": 1, 
    "_source": 
    { 
    "@source": "File", 
    "@message": "Shalom", 
    "@fields": 
    { 
     "tempor": "hit" 
    }, 
    "@tags": 
    [ 
     "tag1" 
    ], 
    "level": "Info" 
    "@timestamp": "2013-03-13T21:47:51.9838974Z" 
    } 
} 

这Kibana显示出来,并且源字段是不存在的。

+0

我真的不认为这是Web界面上的依赖性。 我通过ES的REST API检索此数据时,将数据直接存储到Logstash的ElasticSearch中,它已经具有这些字段。 – vdevos 2013-03-14 12:11:27

6

这从输出中删除字段:

filter { 
    mutate { 
     # remove duplicate fields 
     # this leaves timestamp from message and source_path for source 
     remove => ["@timestamp", "@source"] 
    } 
} 
相关问题