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

时间:2015-05-29 16:28:04

标签: logging docker containers monitoring ibm-cloud

我在Bluemix上创建了我的第一个容器。我很高兴通过GUI和CLI创建它们是多么容易。我现在需要进行一些调试,所以我在Bluemix UI中的应用程序容器的监视和日志记录页面中查看日志,发现我需要启用监视和日志记录。我按照说明链接快速滚动浏览。他们是压倒性的。步骤1是“以root用户身份登录到容器或VM”,但没有关于如何为容器执行此操作的指导。我是否需要在运行SSH守护程序的情况下构建映像?如果是这样,怎么样?运行容器时是否需要提供SSH密钥?如果是这样,怎么样?有一个相关问题仍未得到答复:unable to connect through SSH key to bluemix container 任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:2)

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

如果您提供自己的容器,这里是我发现的用于启用SSH的dockerfile的链接,或者在dockerhub中有一些容器启用了ssh。

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

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

启用需要添加到说明中的日志记录的最后一步是将您在步骤1中安装的日志记录组件配置为由supervisor运行,该管理程序默认安装在bluemix提供的容器中。

你这样做:

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提供了容器),但是创建/etc/supervisor/conf.d/mt-logstash-forwarder.conf的步骤是相同的​​。

最后,正如步骤3中的NOTE中的说明所示,仅监视syslog,但您可以按照这些说明创建其他conf文件,以便收集您希望的任何日志文件。

答案 1 :(得分:0)

感谢您的反馈 如果其他人无法找到该文档,则此处是指向如何设置容器监视和日志记录的文档的链接。 https://www.ng.bluemix.net/docs/manageapps/index-gentopic5.html

然后文档在Beta中。我已经打开了一个反馈请求来改进这个主题。您也可以转到上面的页面,然后单击页面右上角的反馈按钮。该文档确实假设了一些使用容器的知识。

您可以尝试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