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名不能包含大写字母。

  • 相关阅读:
    NoSQL数据库:Redis内存使用优化与存储
    http缓存与cdn相关技术
    sphinx 全文索引
    Elasticsearch7.1中文文档-第一章-入门
    创建一个新的laravel
    mysql数据库的主从同步,实现读写分离
    使用 Swoole 来加速你的 Laravel 应用
    Linux下全局安装composer方法
    Laravel 加载第三方类库的方法
    jquery里把数组转换成json的方法
  • 原文地址:https://www.cnblogs.com/JetpropelledSnake/p/10873641.html
Copyright © 2011-2022 走看看