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日志log4j log4j 1.2.17
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:\UsersAdministrator\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);
}
}
}
运行后看效果



