配置syslog发送_简单配置使用loggly快速记录项目log

83678e29379d6e70fb716198023b05f5.png

1. 创建loggly账号,申请自己的log子域:

打开官网:https://www.loggly.com/

44222090ccc1b29b72039642561237b1.png
登录前的官网首页

1ad7e52f659e51f56a5233fed7a0e992.png

申请账号之类的基本上不会有什么问题,不再细述,主要介绍下有服务器上安装使用loggly服务时遇到的问题:

2. 本地安装loggly服务

官方log算是比较健全的:https://www.loggly.com/docs/docker-logging-logspout/

Loggly功能确实挺全面的,能够支持多种log记录方式,包括记录linux系统日志(syslog),docker系统日志(syslog),还可以通过java的log4j配置,可选择http/s和syslog方式把log记录到http://loggly.com等等。

众多log记录方式各有各的缺点,比如:

1) 系统日志syslog方式记录是只支持单行记录的,如果你有一个Exception抛出来打了一大段log,它记录到loggly上会是把一大段拆成单行的,很不便于追踪excption。

2) http/s的方式虽然支持多行作为一条log记录,但是又无法识别中文,更重要的是http/s方式是在接口请求的时候只要有log就先发送Log到http://loggly.com,然后才返回接口请求,严重影响接口性能,万万不可取。

3) 最后发现一种可以兼顾两种情况的loggly记录方法,那就是:Docker logging through Logspout,可以从官方文档的如下目录看到详细的安装步骤,其实安装很简单,就是使用文档上的命令启动一个loggly指定的docker。

bf216648935cf46eb9008fe0e488aab4.png

不过默认的Docker logging through Logspout方式也是不支持单条记录多行log的,需要使用它的Multiline Support模式才可以:

(1) 启动logspout

docker run --name logspout -d --volume=/var/run/docker.sock:/var/run/docker.sock -e SYSLOG_STRUCTURED_DATA="TOKEN@41058 tag="Logspout"" gliderlabs/logspout multiline+syslog+tcp://http://logs-01.loggly.com:514

token需要替换成自己的真实token,token生成:

34df9ecfd4629964014dffd77334f22a.png

这个命令会启动一个docker容器用来监控当前宿主机,会将当前宿主机上所有docker的syslog都发送到http://loggly.com记录。可以通过docker ps命令来查看你的loggly docker是否启动成功:

5f1e32bd6a5777c4bc9457bcf5bb5eab.png

(2)某一个容器log不想记录

看到名字为logspout的容器名,就表示已经启动成功了,启动成功后该容器就会把当前宿主机上所有其他容器的syslog推送到http://loggly.com了,除非你的容器使用了docker run -t启动的,如果是使用-t启动的容器,logspout就无法获取它的syslog,所以如果你某个宿主机已经开启了logspout,而你又不希望某个容器的log记录到http://loggly.com的时候,就可以在容器启动的时候使用命令-t。

你可以在http://loggly.com的search页面,通过tag: logspout来查找你的log,然后不同的docker的log都会有自己的标签,可以通过syslog.appName:dockerName来查找自己对应docker的log:

73951b39afece7034a7ba428b26e845a.png

(3) 停止http://loggly.com

因为启动了一个docker去推送log到http://loggly.com,如果不想使用loggly的服务的话,直接把这个docker停掉就可以了:

Docker stop containerId

Docker rm containerId

3. Loggly优缺点

优点就是:用这个方式来记录项目log,项目中一行代码不用改(只要原本的log有输出到控制台)。

缺点:毕竟log打到第三方平台,总觉得对于隐私数据有些不安全。

其他的暂时没想到。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值