博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2017.7.31 ELK+logback+redis的使用
阅读量:5050 次
发布时间:2019-06-12

本文共 3585 字,大约阅读时间需要 11 分钟。

参考来自:

 

0 前提

1 ELK安装成功2 redis安装成功3 使用logback的项目运行成功

 

1 配置文件

1.1 pom.xml

为了使用logback,项目原本就有的依赖是:slf4j-api和logback-classic。为了将日志传递给redis,需要配置一个logback-redis-appender。

1         
2
3
org.slf4j
4
slf4j-api
5
1.7.12
6
7
8
ch.qos.logback
9
logback-classic
10
1.1.3
11
12
13
14
com.cwbase
15
logback-redis-appender
16
1.1.3
17
18
19
redis.clients
20
jedis
21
22
23

 

1.2 logback.xml

增加一个appender,用以配置与redis相关的参数。并且将其添加到root内。其他都是原本logback.xml需要配置的东西。

1 
2
3
4
5
aas 6
dev
7
168.2.237.207
8
your redis password
9
10
aas-logback-logstash
11
dev
12
true
13
true
14
0
15
16 17
18
19
20
[AAS] [%date{yyyy-MM-dd HH:mm:ss.SSS}] [%thread] %-5level %logger{36} - %msg%n
21
22
23 57 58
59
60
/var/log/local/xinsight/aas/aas.log
61 62
63
/var/log/local/xinsight/aas/aas-%d{yyyy-MM-dd_HH}.%i.zip
64
65
10MB
66
67
68 69
70
[AAS] [%date{yyyy-MM-dd HH:mm:ss.SSS}] [%thread] %-5level %logger{36} - %msg%n
71
72
73 97 98
99
100
101 102
103
104
106
107
108
109

 

1.3 logstash.conf

注意和logback.xml中的key匹配。

1 input{ 8      redis{10            data_type => "list"11            key => "aas-logback-logstash"12            host => "168.2.237.207"13            port => "6379"14            password => "your redis password"15            threads => 516        }19 }20 21 output{22     elasticsearch{23         hosts  => "168.2.8.88:9200"24         index  => "aas-%{type}"25     }33 }

 

2 运行测试

2.1 启动redis,设置密码,并测试连接是否成功

 

启动成功后,在本机上另开一个窗口,设置redis的密码。这里设置密码为“admin”,注意和前面logback.xml和logstash.xml中的password匹配。

 

在另一个环境连接redis,使用密码admin连接,出现如下画面则表示redis连接正常。

 

2.2 启动ELK

这里使用supervisord进行统一管理。

 

访问localhost:9200等,来验证启动成功。

 

2.3 运行项目,产生日志

运行项目后,执行一些操作,产生一些日志。查看es,已经多了索引 0731-aas-dev。

 

3 存在的问题

3.1 supervisord的问题(未解决)

在使用supervisord来启动ELK的服务时,因为是修改的logstash配置文件,supervisord似乎没有重新加载,导致没有读取到数据。

执行了reload,update,stop和start好几回,还是没有读取到最新的配置文件。

 

最后直接手动执行的bin下的配置文件,才读取到的数据。

 

 

3.2 多行数据识别(待解决)

可以看到一条数据因为处于不同行,被拆分了。而且是乱序的。

参看随笔: 《2017.8.15 多行数据合并》

 

3.3 Timestamp的处理(待解决)

这里没有处理Timestamp。

 

3.4 启动顺序

启动顺序:redis -> logstash -> 项目。

修改logstash的配置文件后,没有重启项目,哪怕一直重启logstash来更新,修改后的配置文件也一直都没有生效。所以一定要记得重启项目!

转载于:https://www.cnblogs.com/lyh421/p/7263454.html

你可能感兴趣的文章
图像增强
查看>>
python基础
查看>>
ServletContext对象
查看>>
HTML表格及网页编辑
查看>>
mysql事务
查看>>
[最大环+缩点+BFS]codeforces Round 95 Div2
查看>>
asp.net 获取服务器及客户端的相关信息
查看>>
Python基础01
查看>>
Bit,Byte,WORD,DWORD区别和联系
查看>>
英语中咖啡表示
查看>>
kali更新源
查看>>
The Settlers of Catan
查看>>
Android:JNI与NDK(一)
查看>>
使用BBCP来提升跨互联网的数据传输速度
查看>>
08 Python - Python数值类型
查看>>
34 Python - 正则表达式 Group编组
查看>>
LeetCode: Validate Binary Search Tree
查看>>
160303、js加密跟后台加密对应
查看>>
026_nginx引用lua遇到的坑
查看>>
找出给定字符串中出现最多的字符和次数
查看>>