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消費者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を新規作成します.
pom.xml
log4j2.xml
プロジェクトを開始するとkafka消費者はログを表示します.
それからkafkaにログインしてまずindexを創立してlogstash-*を選択してDiscoverに入った後に私達のさっきのログを見ることができます
だから起動順序:まず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に入った後に私達のさっきのログを見ることができます