ElasticSearch
配置
cluster.name: my-application
node.name: node-1
network.host: 192.168.4.47
http.port: 9200
xpack.ml.enabled: false
cluster.initial_master_nodes: ["node-1"]
#外面浏览器就访问不了哈
http.cors.enabled: true
http.cors.allow-origin: "*"
启动
elasticsearch.bat
备注:
如果启动报错JVM is using the client VM [Java Hot...
修改配置文件jvm.cfg
32位的JDK %JAVA_HOME%/jre/lib/i386/jvm.cfg
64位的JDK %JAVA_HOME%/jre/lib/amd64/jvm.cfg
把第二行的-server 放到第一行
kibana
配置
server.host: "192.168.4.47"
#修改为es的地址
elasticsearch.hosts: ["http://192.168.4.47:9200"]
elasticsearch.requestTimeout: 60000
启动
kibana.bat
logstash
配置
http.host: "192.168.4.47"
conf/logstash.conf(utf-8无bom)
input {
tcp {
#模式选择为server
mode => "server"
#ip和端口根据自己情况填写,端口默认4560,对应下文logback.xml里appender中的destination
host => "192.168.4.47"
port => 4560
#格式json
codec => json_lines
}
}
filter {
#过滤器,根据需要填写
}
output {
elasticsearch {
action => "index"
#这里是es的地址,多个es要写成数组的形式
hosts => "192.168.4.47:9200"
#用于kibana过滤,可以填项目名称
index => "applog"
}
}
启动
logstash -f conf\logstash.conf
springboot
pom.xml
<dependency>
<groupId>net.logstash.logback</groupId>
<artifactId>logstash-logback-encoder</artifactId>
<version>5.3</version>
</dependency>
spring-logback.xml
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<include resource="org/springframework/boot/logging/logback/base.xml" />
<appender name="LOGSTASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
<destination>192.168.4.47:4560</destination>
<!-- 日志输出编码 -->
<encoder charset="UTF-8"
class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder">
<providers>
<timestamp>
<timeZone>UTC</timeZone>
</timestamp>
<pattern>
<pattern>
{
"logLevel": "%level",
"serviceName": "${springAppName:-}",
"pid": "${PID:-}",
"thread": "%thread",
"class": "%logger{40}",
"rest": "%message"
}
</pattern>
</pattern>
</providers>
</encoder>
</appender>
<root level="INFO">
<appender-ref ref="LOGSTASH" />
<appender-ref ref="CONSOLE" />
<appender-ref ref="FILE" />
</root>
</configuration>