zoukankan      html  css  js  c++  java
  • ELK+Kafka部署指南 (二)

    四、安装logstash

    安装启动

    步骤1、解压安装包、修改配置####

    解压安装包:tar -zxvf logstash-7.0.0.tar.gz

    进入到解压后的目录:cd logstash-7.0.0

    进入到config文件夹:cd config

    由于logstash的配置文件在启动的时候指定,编辑创建配置文件:vi springboot_kafka.conf

    开发环境修改后的配置如下:

    springboot_kafka.conf

    input {
    kafka{
    bootstrap_servers => ["172.18.5.47:9092"]
    #消费者分组
    group_id => "logstash"
    #数组类型,可配置多个topic
    topics => ["kafka-log"]
    #所有插件通用属性,尤其在input里面配置多个数据源时很有用
    type => "kafka"
    consumer_threads => 5
    decorate_events => false
    codec => "json"
    }
    }
    output {
    elasticsearch {
    # ES地址
    hosts => ["http://172.18.5.47:9200"]
    # document_type => "applog"
    # template_name => "app-biz-*"
    # template_overwrite => true
    # manage_template => true
    # 指定索引名字,logType为log4j2.xml指定的应用名称
    index => "wojiacloud-%{logType}-%{+YYYY.MM.dd}"
    codec => json
    }
    # stdout {}
    }
    

    步骤2、启动logstash####

    启动logstash:bin/logstash -f config/springboot_kafka.conf 1>/dev/null 2>&1 &

    出现下图中日志则说明启动成功了

    logstash配置多入多出并互相隔离,主要需要解决如下两个问题:####

    1、如何加载多个配置文件?
    普通启动方式:nohup bin/logstash -f /etc/logstash/conf.d/logstash.conf &

    多配置文件启动方式:nohup bin/logstash -f /etc/logstash/conf.d &

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

    2、问题:配置不当,各输入输出会存在交叉,如何隔离各输入输出?
    解决办法:利用type,对输入输出进行筛选,配置参考:

    logstash-47-demo.conf

    
    input {
    kafka{
    bootstrap_servers => ["172.18.5.47:9092"]
    #消费者分组
    group_id => "logstashDemo"
    #当Input有多个输入源的时候,需要配置client_id并且必须唯一
    client_id => "logstash-demo"
    #数组类型,可配置多个topic
    topics => ["demo-log"]
    #从最新的偏移量开始消费
    auto_offset_reset => "latest"
    #所有插件通用属性,尤其在input里面配置多个数据源时很有用
    type => "demo"
    consumer_threads => 2
    decorate_events => false
    codec => "json"
    }
    }
    output {
    if [type] == "demo" {
    elasticsearch {
    # ES地址
    hosts => ["http://172.18.5.47:9200"]
    # document_type => "applog" 
    # template_name => "app-biz-*"
    # template_overwrite => true
    # manage_template => true
    
    # 指定索引名字,logType为log4j2.xml指定的应用名称
    index => "demo-log-%{logType}"
    #
    codec => json
    }
    }
    }
    

    logstash-47-ownercloud.conf

    input {
    kafka{
    bootstrap_servers => ["172.18.5.47:9092"]
    #消费者分组
    group_id => "logstash"
    #当Input有多个输入源的时候,需要配置client_id并且必须唯一
    client_id => "logstash-ownercloud"
    #数组类型,可配置多个topic
    topics => ["kafka-log"]
    #从最新的偏移量开始消费
    auto_offset_reset => "latest"
    #所有插件通用属性,尤其在input里面配置多个数据源时很有用
    type => "ownercloud"
    consumer_threads => 2
    decorate_events => false
    codec => "json"
    }
    }
    output {
    # 判断进行隔离
    if [type] == "ownercloud" {
    elasticsearch {
    # ES地址
    hosts => ["http://172.18.5.47:9200"]
    # document_type => "applog" 
    # template_name => "app-biz-*"
    # template_overwrite => true
    # manage_template => true
    
    # 指定索引名字,logType为log4j2.xml指定的应用名称
    index => "wojiacloud-%{logType}"
    #
    codec => json
    }
    }
    }
    
  • 相关阅读:
    关于C++中如何判断文件,目录存在的若干方法
    AStyle2.02在VS2008下的使用
    opencv与wxwidgets冲突(第三方库jpeg,tiff,png,zlib所引起)
    C和C++获取文件大小的方法总结
    跨平台项目组织2
    md5函数C语言实现
    分享本人自编的一个跨平台项目:伙食管理小软件
    win7 vs2008 release mt.exe停止工作
    跨平台项目组织
    SQL注入语句 (很全)
  • 原文地址:https://www.cnblogs.com/gloria-liu/p/12201965.html
Copyright © 2011-2022 走看看