Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Azure上的Docker Swarm:docker4x/Azure的正确使用_Azure_Logging_Docker_Docker Swarm - Fatal编程技术网

Azure上的Docker Swarm:docker4x/Azure的正确使用

Azure上的Docker Swarm:docker4x/Azure的正确使用,azure,logging,docker,docker-swarm,Azure,Logging,Docker,Docker Swarm,我正在使用(边缘通道),其中一个功能是日志功能。在manager节点上查看docker ps时,我看到有一个editions\u loggercontainer(),它捕获所有容器日志并将它们写入Azure存储帐户 如何直接使用此容器获取容器的日志 我的第一个方法是找到合适的存储,并直接从Azure门户共享和下载日志 第二种方法是使用docker exec-ti editions\u记录器cat/logmnt/xxx.log直接连接到容器 运行docker服务日志xxxthrows仅受实验守护程

我正在使用(边缘通道),其中一个功能是日志功能。在manager节点上查看
docker ps
时,我看到有一个
editions\u logger
container(),它捕获所有容器日志并将它们写入Azure存储帐户

如何直接使用此容器获取容器的日志

  • 我的第一个方法是找到合适的存储,并直接从Azure门户共享和下载日志
  • 第二种方法是使用
    docker exec-ti editions\u记录器cat/logmnt/xxx.log直接连接到容器
  • 运行
    docker服务日志xxx
    throws
    仅受实验守护程序支持

  • 所有的方法(不是第三种)似乎都过于复杂。有更好的办法吗

    另一种方法是,我们可以使用
    --volumes
    将容器日志存储到主机,然后使用Logstash从卷中收集日志

    在主机上打开一个固定的目录D,并将日志装载到D目录的子目录,然后将装载的D装载到Logstash。这样,Logstash容器可以从其他容器收集所有日志。
    它的工作原理如下:

    另一种方式,我们可以使用
    --volumes
    将容器日志存储到主机,然后使用Logstash从卷中收集日志

    在主机上打开一个固定的目录D,并将日志装载到D目录的子目录,然后将装载的D装载到Logstash。这样,Logstash容器可以从其他容器收集所有日志。
    它的工作原理如下:

    我在集群上检查了这两种方法,但现在我们找到了一种相当简单的方法来检查日志。Azure OMS方法非常好,我可以推荐它,但目前的设置对我们来说太大了。此外,logstash方法也很好

    幸运的是,tail命令支持通配符,使用它我们可以很好地查看日志

    docker exec -ti editions_logger bash
    cd /logmnt 
    tail -f service_name*
    

    非常感谢您采用不同的方法!我期待新的Swarm功能(已经有了
    docker service logs
    命令,因此将来应该更容易检查日志。)

    我在集群上检查了这两种方法,但现在我们找到了一种相当简单的方法来检查日志。Azure OMS方法非常好,我可以推荐它,但目前的设置对我们来说太大了。此外,logstash方法也很好

    幸运的是,tail命令支持通配符,使用它我们可以很好地查看日志

    docker exec -ti editions_logger bash
    cd /logmnt 
    tail -f service_name*
    

    非常感谢您采用不同的方法!我期待新的Swarm功能(已经有了
    docker service logs
    命令,因此将来应该更容易检查日志。)

    除了“logger azure”之外,另一种选择是直接使用azure OMS。以下命令将起作用:
    docker服务创建--name omsagent--mode global--mount type=bind,source=/var/run/docker.sock,destination=/var/run/docker.sock-e WSID=“”-e KEY=“”-p 25225:25225-p 25224:25224/udp--重新启动条件=失败时microsoft/oms
    。有关OMS的更多信息,请访问以下链接,使用上述命令替换“DCOS”相关信息:“logger azure”的另一种替代方法是直接使用azure OMS。以下命令将起作用:
    docker服务创建--name omsagent--mode global--mount type=bind,source=/var/run/docker.sock,destination=/var/run/docker.sock-e WSID=“”-e KEY=“”-p 25225:25225-p 25224:25224/udp--重新启动条件=失败时microsoft/oms
    。有关OMS的更多信息,请访问以下链接,使用上述命令替换“DCOS”相关信息:另一种方法,如Howe所述,我们可以使用OMS收集容器日志。如果您需要进一步帮助,请告诉我。谢谢!我将在本周检查这两种方法,并让您不断更新,但是日志记录器azure容器本身没有提供任何工具来更轻松地检查日志?Azure的设置似乎计划得很好,所以这让我想知道,这个重要的方面是如此的不切实际(或者需要额外的工具来有效地使用它)。谢谢你是对的,最好有一个简单的方式来查看容器日志,但目前,我还没有在官方文档中找到任何关于这方面的信息,也许这个功能将在将来添加。另一种方式,正如Howe所说,我们可以使用OMS来收集容器日志。如果您需要进一步的帮助,请告诉我。谢谢!我将在本周检查这两种方法,并让您不断更新,但是日志记录器azure容器本身没有提供任何工具来更轻松地检查日志?Azure的设置似乎计划得很好,所以这让我想知道,这个重要的方面是如此的不切实际(或者需要额外的工具来有效地使用它)。谢谢你是对的,最好有一个简单的方法来查看容器的日志,但是现在,我还没有在官方文档中找到任何关于这方面的信息,也许这个功能将在将来添加。