Java、elasticsearch、kibana、logstash、filebeat搭建数据分析平台

使用的版本

JDK1.8
elasticsearch-7.6.2
filebeat-7.17.1
kibana-7.6.2
logstash-7.17.1

不同版本对JDK有不同的要求,ES7.6.2应该是目前JDK8支持的最高版本,下载程序百度一下即可,基本就是解压,然后配置,本文主要介绍下如何进行配置。关于每个软件是做什么用的可以自行百度。

配置elasticsearch

修改config/elasticsearch.yml文件

cluster.name: **** //需要和SkyWalking中的对应
node.name: master //需要和cluster.initial_master_nodes一致
path.data: D:\elasticsearch-7.6.2/data
path.logs: D:\elasticsearch-7.6.2/logs
network.host: 0.0.0.0
discovery.seed_hosts: ["127.0.0.1", "localhost"]
cluster.initial_master_nodes: ["master"]

以上内容按需修改,我这是和SkyWalking通信的配置,组件ELK平台用这个也可以,亲测,运行elasticsearch.bat文件即可。

配置kibana

主要是打开配置文件的注释,修改以下配置

server.port: 5601 //WEB访问的端口
server.host: "localhost"
elasticsearch.hosts: ["http://localhost:9200"]
kibana.index: ".kibana"
i18n.locale: "zh-CN" //中文配置

其实配置文件很简单,见名知意,如果启动有错误看一看我这篇文章:Kibana启动失败无法连接Elasticsearch的解决方法,直接运行kibana.bat文件就可以。

配置logstash

在bin目录下新建一个文件,如logstash-simple.conf,名字可以随便起。内容如下,主要配置输入源与输出源:需要设置环境变量LS_JAVA_HOME和JAVA_HOME地址一样。

input {
  beats {
    port => 9969 //输入源监听的端口,和filebeat一致
  }
}
filter {
  #Only matched data are send to output.
}
output {
  elasticsearch {
    hosts  => "127.0.0.1:9200"   #ElasticSearch host, can be array.
    manage_template => false
    index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}"
    document_type => "%{[@metadata][type]}"
  }
}

运行logstash -f logstash-simple.conf启动

配置filebeat

修改filebeat.yml文件:

filebeat.inputs:
- type: log
 enabled: true
 paths:
    - C:\\Users\\Administrator\\eclipse-workspace\\demo\\logs\\* //检测的日志文件地址
 //注解掉Elasticsearch Output所有配置,打开Logstash Output
output.logstash:
hosts: ["localhost:9969"] //和logstash监听的端口一致

在控制台运行filebeat.exe -e -c filebeat.yml 即可。

配置Java日志

		<dependency>
		    <groupId>log4j</groupId>
		    <artifactId>log4j</artifactId>
		    <version>1.2.17</version>
		</dependency>

LOG4J

### 设置###
log4j.rootLogger = debug,stdout,D,E,logstash

### 输出信息到控制抬 ###
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n

### 输出DEBUG 级别以上的日志###
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = C:\\Users\Administrator\\eclipse-workspace\\demo\\logs\\debug.log
log4j.appender.D.Append = true
log4j.appender.D.Threshold = DEBUG 
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n

### 输出ERROR 级别以上的日志  ###
log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.File = C:\\Users\\Administrator\\eclipse-workspace\\demo\\logs\\error.log 
log4j.appender.E.Append = true
log4j.appender.E.Threshold = ERROR 
log4j.appender.E.layout = org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n

JAVA

package elk;

import org.apache.log4j.Logger;

public class Logstach {

	private static final Logger LOGGER = Logger.getLogger(Logstach.class);
	public static void main(String[] args) throws InterruptedException {
		for (int i = 0; i < 10; i++) {
            LOGGER.error("Info log [" + i + "].");
            Thread.sleep(500);
        }
	}

}

运行后看效果

Java、elasticsearch、kibana、logstash、filebeat搭建数据分析平台_第1张图片

你可能感兴趣的:(Java,系统架构,elasticsearch,java,big,data)