676用填3 发表于 2016-8-23 09:24:42

logstash获取北京时间

由于logstash会自动将@timestamp时间转成UTC时间,网上搜了很多种方法无果后。只好从日志中提取年月日来进行按北京时间分表。
日志格式JSON:

1
{"@timestamp":"2016-08-22T09:13:06.024Z",......}





1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
input {

redis {
            host => "192.168.1.21"
            port => "6379"
            key => "filebeat"
            data_type => "list"
            password => "nginx_pass"
            threads => 50
      }
}

filter {

    if == "nginxacclog" {
            json {
                        source => "message"
            }
      grok {
            match => ["message",'{"@timestamp":"%{INT:years_dik3k}-%{INT:months_dik3k}-%{INT:days_dik3k}T*' ]
            remove_field => ["message"]

            }
      grok {
               
            add_field => ["type_xi09wnk", "nginxacclog"]
            match => ["requesturi", "%{URIPATH:baseurl}(?:\?%{NOTSPACE:request})"]
         remove_tag => "requesturi"
            }

      kv {
                        source => "request"
                        field_split => "&?"
                        value_split => "="
               }
         
      kv {
                  source => "post_requ"
                  field_split => "&?"
                  value_split => "="
            }

      }
}
output {
if == "nginxacclog" {
      mongodb{
            collection => "nginx_log%{years_dik3k}%{months_dik3k}%{days_dik3k}"
            isodate => true
            database => "logdb"
            uri => "mongodb://user:pass@10.10.1.102:27017/logdb"

      }
}






yahoo008 发表于 2016-8-26 15:55:22

{:6_404:}{:6_404:}{:6_404:}{:6_404:}{:6_404:}{:6_404:}{:6_404:}{:6_404:}{:6_404:}{:6_404:}
页: [1]
查看完整版本: logstash获取北京时间