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
    }
    }
    }
    
  • 相关阅读:
    Vue 2.x windows环境下安装
    VSCODE官网下载缓慢或下载失败 解决办法
    angular cli 降级
    Win10 VS2019 设置 以管理员身份运行
    XSHELL 连接 阿里云ECS实例
    Chrome浏览器跨域设置
    DBeaver 执行 mysql 多条语句报错
    DBeaver 连接MySql 8.0 报错 Public Key Retrieval is not allowed
    DBeaver 连接MySql 8.0报错 Unable to load authentication plugin 'caching_sha2_password'
    Linux系统分区
  • 原文地址:https://www.cnblogs.com/gloria-liu/p/12201965.html
Copyright © 2011-2022 走看看