公司很多应用服务器 tomcat 等,业务日志输入没有统一的规范,由于是非结构化数据,各种抛异常 debug 等,没法用 ELK , 又没有专门的架构人员去规范业务日志,去做这套平台, 怎么实时的同步到一台机器上,比如 ip 地址是 10.1.1.1 的 /usr/local/tomcat/logs/* 到一台机器的 /data/logs/10.1.1.1/*,这样按日志的行同步,不用关心日志规范,以此类推 N 多应用服务器。 这样普通开发人员想分析日志只要这一个集中的服务器权限就可以了。
1
momocraft 2017-03-31 22:48:16 +08:00 2
感覺可以用 fluentd 把各機器的各種 log 轉發到一處
|
2
miao1007 2017-03-31 23:25:14 +08:00 via Android 1
上 MQ 发送日志
|
3
goodryb 2017-03-31 23:59:50 +08:00 1
同步文件 rsync ?
|
4
jimzhong 2017-04-01 07:33:03 +08:00 1
syslogd 支持远程日志服务器吧
|
5
willakira 2017-04-01 08:22:29 +08:00 1
Log4j 的 Appender 支持写到远程服务器
https://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/net/SocketAppender.html 知道这个的话剩下就是找个合适的服务了, logstash, syslog-nd 等等 但是你这样只是解决了一个问题,日志的集中归纳 建议你们在这之上搞一个日志分析系统,好处至少有这样几个: - 工程师可以更广地看待整个系统问题 - 学习成本不高,因此 PM 也可以很好分析各种业务情况 |
6
pekingzcc 2017-04-01 15:13:46 +08:00 1
最简单的就是折腾下 syslogd 或 Rsyslog
|
7
bengle 2017-04-01 16:05:38 +08:00 1
ELK 不就是干这个的么,不通的日志用不通的规则去解析,除非这些应用日志打在一个文件里??
|
8
wingyiu 2017-05-18 15:47:24 +08:00
写一个 LogUtil 库,统一一下日志格式,然后用 ELK 不就行了?
|
9
glennxie 2017-09-07 14:03:20 +08:00
服务端:ELK,其实如果不过滤接收的日志,logstash 可以不装。
tomcat 上装 filebeat 作为 agent 直接传输到 elasticsearch 或者传到 logstash 做过滤 |
10
glennxie 2017-09-07 14:04:08 +08:00
机器多可以加 redis 或者其他作为缓存
|
11
iappled 2017-12-04 14:38:37 +08:00
rsyslog
|