使用的版本
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 {
}
output {
elasticsearch {
hosts => "127.0.0.1:9200"
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
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
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);
}
}
}
运行后看效果
|