zoukankan      html  css  js  c++  java
  • ELK学习笔记之logstash配置多入多出并互相隔离

    0x00 概述

    需求:需要利用同一logstash进程采集不同日志,输出到es的不同index,各输入输出隔离;

    主要需要解决如下两个问题:

    0x01 如何加载多个配置文件

    普通启动方式:

    nohup bin/logstash -f config/logstash.conf &

    多配置文件启动方式:

    nohup bin/logstash -f config/java-conf &

    注意:java-conf为目录,将加载该目录下所有配置文件;不要使用config/java-conf/*.conf

    问题:配置不当,各输入输出会存在交叉,解决办法参考以下第二点。

    0x02 如何隔离各输入输出

    利用type,对输入输出进行筛选,配置参考:

    log1.conf
    input {
      file {
        type => "log1" 
        path => "/**/log1.log" 
        discover_interval => 10 # 监听间隔 
        start_position => "beginning" #从头开始
      }
    }
    
    #输出到elasticsearch 
    output {
      if [type] == "log1"{
        elasticsearch {
        index => "log1-%{+YYYY.MM.dd}" 
        hosts => "192.168.2.32:9200"   #输出到elasticsearch 对应服务器
        }
      }
    }
    
    log2.conf
    input {
      file {
        type => "log2" 
        path => "/**/log2.log" 
        discover_interval => 10 # 监听间隔 
        start_position => "beginning" #从头开始
      }
    }
    
    #输出到elasticsearch 
    output {
      if [type] == "log2"{
        elasticsearch {
        index => "log2-%{+YYYY.MM.dd}" 
        hosts => "192.168.2.32:9200"   #输出到elasticsearch 对应服务器
        }
      }
    }

    PS:index名不能包含大写字母。

  • 相关阅读:
    Linux 信号signal处理机制
    va_start、va_arg、va_end、va_copy 可变参函数
    辛星笔记——VIM学习篇(推荐阅读)
    每个程序员都应该读的书
    igmpproxy源代码学习——配置信息加载 loadConfig
    windows下gvim搭建IDE
    插入排序与循环不变式
    6个变态的C语言程序
    安卓原生百度地图(5)导航和语音播报
    安卓原生百度地图(4)路线规划
  • 原文地址:https://www.cnblogs.com/JetpropelledSnake/p/10873641.html
Copyright © 2011-2022 走看看