天天看點

logstash 建立多個索引

1、server.conf檔案

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

<code>[elk@logserver bin]$ </code><code>cat</code> <code>server.conf</code>

<code>input {  </code>

<code>        </code><code>redis {  </code>

<code>                </code><code>host =&gt; </code><code>"10.10.45.200"</code>  

<code>                </code><code>data_type =&gt; </code><code>"list"</code>  

<code>                </code><code>key =&gt; </code><code>"elk_frontend_access:redis"</code>  

<code>                </code><code>port =&gt;</code><code>"5379"</code>  

<code>        </code><code>}  </code>

<code>}  </code>

<code>output { </code>

<code>    </code><code>if</code> <code>"_grokparsefailure"</code> <code>in</code> <code>[tags] {</code>

<code>    </code><code>}</code><code>else</code><code>{</code>

<code>        </code><code>if</code> <code>[</code><code>type</code><code>] == </code><code>"www1_access"</code><code>{</code>

<code>                </code><code>elasticsearch {</code>

<code>                   </code><code>hosts =&gt; </code><code>"10.10.45.200:8200"</code>

<code>                  </code><code>index =&gt; </code><code>"logstash-www1-frontend-%{+YYYY.MM.dd}"</code>

<code>        </code><code>}</code>

<code>       </code><code>if</code> <code>[</code><code>type</code><code>] == </code><code>"flight1_access"</code><code>{</code>

<code>                 </code><code>elasticsearch {</code>

<code>                        </code><code>hosts =&gt; </code><code>"10.10.45.200:8200"</code>

<code>                </code><code>index =&gt; </code><code>"logstash-flight1-frontend-%{+YYYY.MM.dd}"</code>

<code>         </code><code>}</code>

<code>    </code><code>}   </code>

<code>}</code>

2、agent.conf檔案

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

55

56

57

58

59

60

61

62

63

64

65

<code>[elk@www1-n02 bin]$ </code><code>cat</code> <code>agent.conf</code>

<code>        </code><code>file</code> <code>{  </code>

<code>                </code><code>type</code> <code>=&gt; </code><code>"www1_access"</code>  

<code>                </code><code>path =&gt; [</code><code>"/data/logs/www1.mangocity.com-access_log"</code><code>]  </code>

<code>        </code><code>file</code> <code>{</code>

<code>                </code><code>type</code> <code>=&gt; </code><code>"flight1_access"</code>

<code>                </code><code>path =&gt; [</code><code>"/data/logs/flight1-access_log"</code><code>]</code>

<code>filter {</code>

<code>ruby {</code>

<code>init =&gt; </code><code>"@kname = ['http_clientip','http_x_forwarded_for','time_local','request','status','body_bytes_sent','request_body','content_length','http_referer','http_user_agent','http_cookie','remote_addr','hostname','upstream_addr','upstream_response_time','request_time']"</code>

<code>code =&gt; "new_event = LogStash::Event.new(Hash[@kname.zip(event.get(</code><code>'message'</code><code>).</code><code>split</code><code>(</code><code>'|'</code><code>))])</code>

<code>new_event.remove(</code><code>'@timestamp'</code><code>)</code>

<code>event.append(new_event)"</code>

<code>if</code> <code>[request] {</code>

<code>init =&gt; </code><code>"@kname = ['method','uri','verb']"</code>

<code>code =&gt; "new_event = LogStash::Event.new(Hash[@kname.zip(event.get(</code><code>'request'</code><code>).</code><code>split</code><code>(</code><code>' '</code><code>))])</code>

<code>event.append(new_event)</code>

<code>"</code>

<code>if</code> <code>[uri] {</code>

<code>init =&gt; </code><code>"@kname = ['url_path','url_args']"</code>

<code>code =&gt; "new_event = LogStash::Event.new(Hash[@kname.zip(event.get(</code><code>'uri'</code><code>).</code><code>split</code><code>(</code><code>'?'</code><code>))])</code>

<code>kv {</code>

<code>prefix =&gt; </code><code>"url_"</code>

<code>source</code> <code>=&gt; </code><code>"url_args"</code>

<code>field_split =&gt; </code><code>"&amp; "</code>

<code>remove_field =&gt; [ </code><code>"url_args"</code><code>,</code><code>"uri"</code><code>,</code><code>"request"</code> <code>]</code>

<code>mutate {</code>

<code>convert =&gt; [</code><code>"body_bytes_sent"</code> <code>, </code><code>"integer"</code><code>, </code><code>"content_length"</code><code>, </code><code>"integer"</code><code>, </code><code>"upstream_response_time"</code><code>, </code><code>"float"</code><code>,</code><code>"request_time"</code><code>, </code><code>"float"</code><code>]</code>

<code>date</code> <code>{</code>

<code>match =&gt; [ </code><code>"time_local"</code><code>, </code><code>"dd/MMM/yyyy:hh:mm:ss Z"</code> <code>]</code>

<code>locale =&gt; </code><code>"en"</code>

<code>        </code><code>grok {</code>

<code>        </code><code>match =&gt; { </code><code>"message"</code> <code>=&gt; </code><code>"%{IP:clientip}"</code> <code>}</code>

<code>  </code><code>}</code>

<code>        </code><code>geoip </code>

<code>{</code>

<code>        </code><code>source</code> <code>=&gt; </code><code>"clientip"</code>

<code>output {</code>

<code>                </code><code>port=&gt;</code><code>"5379"</code>  

參考博文:http://blog.csdn.net/wangyangzhizhou/article/details/53314022

     本文轉自1321385590 51CTO部落格,原文連結:http://blog.51cto.com/linux10000/1922680,如需轉載請自行聯系原作者

繼續閱讀