将Jenkins容器的日志发送到syslog

时间:2020-04-23 18:54:47

标签: docker logging

使用Jenkins TLS Docker镜像,如何将日志写入Docker主机?我能够使其正常工作的唯一方法是以交互方式运行容器并重定向输出,但这在很多方面似乎都是不好的。当前运行方式如下:

Sort  (cost=9616582.37..9616585.03 rows=1064 width=27) (actual time=290355.874..290355.906 rows=670 loops=1)
  Sort Key: field2
  Sort Method: quicksort  Memory: 77kB
  ->  Seq Scan on my_table  (cost=0.00..9616528.88 rows=1064 width=27) (actual time=72308.452..290355.232 rows=670 loops=1)
        Filter: (((field1)::text = 'some_value'::text) AND ((dt_crea)::date = '2020-04-23'::date))
        Rows Removed by Filter: 255195339
Planning time: 0.086 ms
Execution time: 290355.951 ms

(因此,“解决方案”是在末尾添加“ >> /var/log/jenkins/jenkins.log 2>&1”,这似乎是一个糟糕的主意)

我正尝试使用syslog驱动程序,但似乎无法正常工作-我已打开UDP 514,并且能够使用logger为其写入消息,但该容器似乎没有任何显示。

1 个答案:

答案 0 :(得分:0)

为此,您可以使用日志驱动程序来完成此操作。就我而言,我正在AWS中运行,因此可以在容器的run命令中添加以下内容:

docker run -it --log-driver awslogs --log-opt awslogs-region=us-east-1 --log-opt awslogs-group=jenkins --log-opt awslogs-stream-prefix=master

只要运行容器的基础结构具有适当的IAM权限,您就应该在CloudWatch中看到日志。