如何在Bluemix上启用对容器的监视和日志logging?

我在Bluemix上创build了我的第一个容器。 我非常高兴看到通过GUI和CLI创build它们是多么容易。 我现在需要进行一些debugging,所以我到Bluemix UI中的应用程序容器的Monitoring and Logging页面查看日志,发现需要启用监视和日志logging。 我按照说明的链接快速滚动浏览。 他们是压倒性的。 第一步是“以root用户身份login容器或者虚拟机”,但是没有关于容器如何做的指导。 我需要使用SSH守护程序运行来构build映像吗? 如果是这样,怎么样? 运行容器时,是否需要提供SSH密钥? 如果是这样,怎么样? 有一个相关的问题仍然没有答案: 无法通过SSH密钥连接到bluemix容器任何援助将不胜感激。

作为服务一部分提供的默认容器都启用了ssh。 从bluemix用户界面启动这些容器时,在右下angular有input字段显示一个端口(显示ssh端口22)并粘贴你的ssh公钥。 确保你粘贴的内容以ssh-rsa开始,并以==或你的电子邮件地址结尾。 你还需要分配一个公共IP地址。

如果你正在提供你自己的容器,这里有一个链接,我find了dockerfile来启用SSH,或者在dockerhub中有一些启用了ssh的容器。

https://docs.docker.com/examples/running_ssh_service/

启用ssh之后,请按照另一个答案粘贴的链接中的文档: https : //www.ng.bluemix.net/docs/manageapps/index-gentopic5.html启用日志logging。 如果使用bluemix服务提供的其中一个容器映像,则可以跳过“configuration日志收集”下的第2步和第3步,因为这将为您完成。

启用需要添加到指令的日志logging的最后一步是configuration您在步骤1中安装的日志logging组件,以便由默认情况下安装在bluemix提供的容器中的主pipe程序运行。

你做这个:

vi /etc/supervisor/conf.d/mt-logstash-forwarder.conf 

并粘贴在以下内容中:

 [program:mt-logstash-forwarder] command=/opt/mt-logstash-forwarder/bin/run-container-lsf.sh stdout_logfile=/var/log/mt-logstash-forwarder.log stderr_logfile=/var/log/mt-logstash-forwarder.log autorestart=true 

然后重新启动容器,或运行下列命令在正在运行的容器中启动mt-logstash-forwarder:

 supervisorctl reread supervisorctl update 

如果您提供自己的容器,则需要确保将容器中安装了supervisord,并且需要按照说明运行步骤1和步骤2(不能像步骤2那样使用提供的bluemix容器),但创build/etc/supervisor/conf.d/mt-logstash-forwarder.conf的步骤是相同的​​。

最后,按照步骤3中说明中的说明,只监视syslog,但可以按照这些说明创build其他conf文件,以便收集所需的任何日志文件。

感谢您的反馈。
如果其他人无法find文档,请参阅有关如何为容器设置监视和日志logging的文档链接。 https://www.ng.bluemix.net/docs/manageapps/index-gentopic5.html

然后,文档处于testing阶段。 我已经打开了一个反馈请求,以改善这个话题。 您也可以转到上述页面,然后单击页面中间右侧的反馈button。 文档确实承担了使用容器的一些知识。

您可以尝试ssh或附加到docker集装箱。 $ sudo docker ps使用返回的容器ID和名称。 如果ID是795b4a1e17b9并且名称是MyContainerName,则IE

 $ sudo docker attach 795b4a1e17b9 #by ID 

要么

 $ sudo docker attach MyContainerName #by Name $ root@795b4a1e17b9:/# 

你可以尝试使用bash:

 $ sudo docker exec -it MyContainerName bash 

退出bash而不离开bash运行一个进程

 $ exit