暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Docker swarm(5)swarm服务日志及相关配置

运维笔记本 2020-01-24
3073

Docker Swarm 服务的日志可以通过执行 docker service logs 命令来查看,然而并非所有的日志驱动(Logging Driver)都支持该命令。

Docker 节点默认的配置是,服务使用 json-file 日志驱动,其他的驱动还有 journald(仅用于运行有 systemd 的 Linux 主机)、syslog、splunk 和 gelf。

    root@manager1:~# docker info 
    Client:
    Debug Mode: false


    Server:
    Containers: 0
    Running: 0
    Paused: 0
    Stopped: 0
    Images: 2
    Server Version: 19.03.5
    Storage Driver: overlay2
    Backing Filesystem: extfs
    Supports d_type: true
    Native Overlay Diff: true
    Logging Driver: json-file # 默认为json-file
    Cgroup Driver: cgroupfs

    json-file 和 journald 是较容易配置的,二者都可用于 docker service logs 命令。

    命令格式为:

      docker service logs <service-name>

      若使用第三方日志驱动,那么就需要用相应日志平台的原生工具来查看日志。

      如下是在 daemon.json 配置文件中定义使用 syslog 作为日志驱动的示例。文件位置为/etc/docker/daemon.json (如文件不存在,可以进行手动创建)

        {
        "log-driver": "syslog"
        }
        • 通过在执行 docker service create
          命令时传入 --logdriver
          --log-opts
          参数可以强制某服务使用一个不同的日志驱动,这会覆盖 daemon.json
          中的配置。

        服务日志能够正常工作的前提是,容器内的应用程序运行于 PID 为 1 的进程,并且将日志发送给 STDOUT,错误信息发送给 STDERR。日志驱动会将这些日志转发到其配置指定的位置。

        如下的 docker service logs 命令示例显示了服务 svc1 的所有副本的日志,可见该服务在启动副本时出现了一些错误。

          $ docker service logs seastack_reverse_proxy
          svc1.1.zhc3cjeti9d4@wrk-2 | [emerg] 1#1: host not found...
          svc1.1.6m1nmbzmwh2d@wrk-2 | [emerg] 1#1: host not found...
          svc1.1.6m1nmbzmwh2d@wrk-2 | nginx: [emerg] host not found..
          svc1.1.zhc3cjeti9d4@wrk-2 | nginx: [emerg] host not found..
          svc1.1.1tmya243m5um@mgr-1 | 10.255.0.2 "GET HTTP/1.1" 302

          以上输出内容有删减,不过仍然可以看到来自服务的 3 个副本的日志(两个运行失败,一个运行成功)。

          每一行开头为副本名称,其中包括服务名称、副本编号、副本 ID 以及所在的主机。之后是日志消息。

          由于输出内容有所删减,因此失败原因较难定位,不过看起来似乎是前两个副本尝试连接另一个启动中的服务而导致失败(一种所依赖的服务未完全启动导致的竞态条件问题)。

          对于查看日志命令,可以使用 --follow
          进行跟踪、使用 --tail
          显示最近的日志,并使用 --details
          获取额外细节。

          整理:http://c.biancheng.net/view/3181.html


          最后修改时间:2020-01-25 11:33:50
          文章转载自运维笔记本,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

          评论