cd logstash-6.2.2/config/
vim logstash.conf
创建配置文件并输入以下配置:
input {
tcp {
port => 4560
codec => “json”
}
}
output {
elasticsearch {
hosts => [“localhost:9200”]
index => “%{[appname]}”
}
stdout { codec => rubydebug }
}
–配置文件说明:
其中port为端口号,codec表示数据为json格式传输,elasticsearch.hosts表示elasticsearch的地址,index为日志在的elasticsearch存储的索引。appname配置就是获取日志中的 appname字段的值做为索引的名称
–启动
带配置文件启动,进程不能退出,调试的时候使用。
bin/logstash -f logstash.conf
后台启动(输入全路径):
nohup /usr/local/elk/logstash-6.2.2/bin/logstash -f /usr/local/elk/logstash-6.2.2/config/logstash.conf > /var/log/logstash/logstash.log 2>&1 &
3.kibana 安装
(1)解压安装包
tar -zxvf kibana-6.2.2-linux-x86_64.tar.gz
(2)修改配置文件
cd kibana-6.2.2-linux-x86_64/config/
vim kibana.yml
修改配置:
端口
server.port: 5601
指定本机ip让外部能访问
server.host: “0.0.0.0”
请求数据指向的elasticsearch服务器
elasticsearch.url: “http://192.168.31.53:9200”
进入bin目录启动:
sh kibana &
后台启动:
nohup bin/kibana &
在浏览器输入:ip:5601访问,如图:
综上:服务器端的elk配置搭建成功,接下来需要配置spring cloud的日志文件,使之产生的日志能发送到elasticsearch上储存。
三、修改每个java微服务的logback-spring.xml 日志文件
–在原日志文件的基础上添加如下代码(前提项目已logback-spring.xml为日志配置文件):
192.168.11.53:4560
UTC
{
“severity”:“%level”,
“service”: “${springAppName:-}”,
“trace”: “%X{X-B3-TraceId:-}”,
“span”: “%X{X-B3-SpanId:-}”,
“exportable”: “%X{X-Span-Export:-}”,
“pid”: “${PID:-}”,
“thread”: “%thread”,
“class”: “%logger{50}”,
“rest”: “%message”
}
{“appname”:“hty-b2c-service”}
–pom文件引入依赖:
***.logstash.logback
logstash-logback-encoder
4.11
然后再重启java微服务。
成功的截图,es自动创建了服务的索引,接下来就是kibana的一些查询操作了。
文章末尾附上一份完整的logback.xml配置文件:
<?xml version="1.0" encoding="UTF-8"?>info
${CONSOLE_LOG_PATTERN}
UTF-8
%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n
UTF-8
${LOG_PATH}/debug/log-debug-%d{yyyy-MM-dd}.%i.log
100MB
30
debug
A***EPT
DENY
%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n
UTF-8
${LOG_PATH}/info/log-info-%d{yyyy-MM-dd}.%i.log
100MB
30
info
A***EPT
DENY
%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n
UTF-8
${LOG_PATH}/warn/log-warn-%d{yyyy-MM-dd}.%i.log
100MB
30
warn
A***EPT
DENY
%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n
UTF-8
${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log
100MB
30
error
A***EPT
DENY
192.168.31.53:4560
UTC
{
“severity”:“%level”,
“service”: “${springAppName:-}”,
“trace”: “%X{X-B3-TraceId:-}”,
“span”: “%X{X-B3-SpanId:-}”,
“exportable”: “%X{X-Span-Export:-}”,
“pid”: “${PID:-}”,
“thread”: “%thread”,
“class”: “%logger{40}”,
“rest”: “%message”
}
{“appname”:“hty-b2c-service”}