kafka logstash elasticsearch kibana windowインストール構成

16393 ワード

主にkafka logstash elasticsearch kibanaを使用して構成ログ分析収集を行い、学習だけであるためwindowマシン上に構築する
  • kafka_2.10-0.10.1.1 http://kafka.apache.org/downloads
  • zookeeper-3.4.6 http://zookeeper.apache.org/
  • logstash-5.3.2 https://www.elastic.co/cn/downloads/logstash
  • elasticsearch-5.3.2 https://www.elastic.co/cn/downloads/elasticsearch
  • kibana-5.3.2-windows-x86 https://www.elastic.co/cn/downloads/kibana logstash、kibana、elasticsearchはいずれも1つの会社のものであるため、各製品のトップページに表示されるのは5.3.2バージョンではなく、製品ページのView past releasesをクリックして対応するバージョンをダウンロードすることができる.バージョンの競合を回避するために、この3つは、kafka(アプリケーションでログを収集)--logstash(kafkaからESにログを収集)--elasticsearch(ログ情報の格納を担当)--kibana(データの表示を担当)
  • という同じバージョンの簡単な原理を採用することを推奨します.
    だから起動順序:まずzookeeper kafka elasticsearch 1.zookeeperを起動する
    cd zookeeper-3.4.6/bin zkServer.cmd
    2.kafkaサービス起動
    cd kafka_2.10-0.10.1.1binwindows kafka-server-start.bat.....//config/server.properties効果を見るためにkafka消費者kafka-console-consumer.bat–zookeep localhost:2181–topic mytopic–from-beginning
    3.elasticsearchを起動する
    cd elasticsearch-5.3.2bin elasticsearch.bat elasticsearch起動後に見ることができますhttp://localhost:9200/ 通常はjsonがあなたのelasticsearchのバージョンに関する情報を返します.
    4.kibanaを構成するまずkibanaのプロファイルconfigkibana.ymlを修正する
    cd kibana-5.3.2-windows-x 86config configでelasticsearch.urlを1行追加http://localhost:9200” cd kibana-5.3.2-windows-x86\bin kibana.bat
    起動後kibanaトップページにアクセスできますhttp://localhost:5601 最初はindex patternがないことをヒントにします.なぜなら、私たちはまだelasticsearchにデータを持っていないからです.5.logstashを構成します.
    cd logstash-5.3.2binこのディレクトリの下にプロファイル名を新規作成します.logstash.confの内容は次のとおりです.
    input{
        kafka {
            bootstrap_servers => "localhost:9092"   
            topics => ["mytopic"]
            enable_auto_commit => "true"
            auto_offset_reset => "latest"
       }
    
    }
    
    output{
        stdout{}    
         elasticsearch {
          hosts => [ "localhost:9200" ]  
          index => "logstash-cylog"  
        }
    }
    

    このプロファイル:input:データソースがどのように来たかを簡単に説明します.ここではkafka消費者filter:フィルタデータを表し、ここではmessageをjson解析するように構成します.(必須ではない)output:データを出力し、stdoutはコンソールに出力する(効果を直接表示するのに便利)elasticsearch構成はローカルのアドレスinput filter outputを指すこれは単純な構成で、詳細はlogstashの公式サイトを参照してくださいhttps://www.elastic.co/cn/products/logstash 詳細は、各構成について説明しています
    kafka-inputプラグインを使用する必要があるのでkafkaのプラグインをインストールします
    cd logstash-5.3.2\bin logstash-plugin.bat install logstash-input-kafka
    プラグインをインストールしてlogstashを起動
    ヒントが成功した後、私たちの最も重要な一歩です.
    kafkaにログを送信するにはいくつかの方法があります.最も簡単なlog 4 j kafka appenderを採用してmavenプロジェクトKafkaAppenderApplicationを新規作成します.
    package com.test;
    
    import org.apache.logging.log4j.LogManager;
    import org.apache.logging.log4j.Logger;
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    
    @SpringBootApplication
    public class KafkaAppenderApplication {
    
        public static Logger logger = LogManager.getLogger(KafkaAppenderApplication.class);
    
        public static void main(String[] args) {
            long t = System.currentTimeMillis();
            logger.info("inf1o123" + t + "info");
            SpringApplication.run(KafkaAppenderApplication.class, args);
            System.exit(0);
        }
    }
    

    pom.xml
    
    <project xmlns="http://maven.apache.org/POM/4.0.0"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0modelVersion>
    
        <groupId>com.testgroupId>
        <artifactId>kafkaAppenderartifactId>
        <version>1.0version>
        <parent>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-parentartifactId>
            <version>1.4.0.RELEASEversion>
            <relativePath/>
        parent>
        <dependencies>
            <dependency>
                <groupId>org.springframework.bootgroupId>
                <artifactId>spring-boot-starter-webartifactId>
                <exclusions>
                    <exclusion>
                        <groupId>org.springframework.bootgroupId>
                        <artifactId>spring-boot-starter-loggingartifactId>
                    exclusion>
                exclusions>
            dependency>
    
            <dependency>
                <groupId>org.apache.logging.log4jgroupId>
                <artifactId>log4j-coreartifactId>
                <version>2.5version>
            dependency>
    
            <dependency>
                <groupId>commons-logginggroupId>
                <artifactId>commons-loggingartifactId>
                <version>1.2version>
            dependency>
    
    
            <dependency>
                <groupId>org.apache.kafkagroupId>
                <artifactId>kafka_2.10artifactId>
                <version>0.10.1.1version>
                <exclusions>
                    <exclusion>
                        <groupId>org.slf4jgroupId>
                        <artifactId>slf4j-log4j12artifactId>
                    exclusion>
                exclusions>
            dependency>
        dependencies>
    project>

    log4j2.xml
    <Configuration status="warn" monitorInterval="30" strict="true" schema="Log4J-V2.2.xsd">
        <Appenders>
            
            <Console name="Console" target="SYSTEM_OUT">
                
                <ThresholdFilter level="trace" onMatch="ACCEPT" onMismatch="DENY"/>
                <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss,SSS}:%4p %t (%F:%L) - %m%n"/>
            Console>
    
            
            <Kafka name="KAFKA" topic="mytopic">
                <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] [%-5p] {%F:%L} - %m%n" />
                <Property name="bootstrap.servers">localhost:9092Property>
            Kafka>
        Appenders>
    
        <Loggers>
            <Root level="info"> 
                <AppenderRef ref="Console"/>
                <AppenderRef ref="KAFKA"/>
            Root>
        Loggers>
    Configuration>
    

    プロジェクトを開始するとkafka消費者はログを表示します.
    2017-05-04 14:16:35.221 [main] [INFO ] {KafkaAppenderApplication.java:15} - inf1
    o1231493878595218info
    
    2017-05-04 14:16:35.865 [background-preinit] [INFO ] {Version.java:30} - HV00000
    1: Hibernate Validator 5.2.4.Final
    
    

    それからkafkaにログインしてまずindexを創立してlogstash-*を選択してDiscoverに入った後に私達のさっきのログを見ることができます