如何使用GCP stackdriver集成内部日志

时间:2017-10-03 13:09:33

标签: gcp google-cloud-stackdriver

我正在评估来自GCP的stackdriver,用于记录多个微服务。 其中一些服务是在本地部署的,其中一些是在AWS / GCP上。 我们的服务是.NET或基于nodejs的应用程序,我们投资winston为nodejs和nlog在.net。

我正在寻找@将我们的内部部署nodejs应用程序与stackdriver日志记录集成。看看@ https://cloud.google.com/logging/docs/setup/nodejs文档,似乎我们需要为谷歌计算实例以外的任何机器安装代理。这是对的吗?

如果我们需要安装代理,那么我可以在开发过程中测试日志记录吗?开发环境是windows 10 / mac。

3 个答案:

答案 0 :(得分:1)

对于node.js,您可以在任何地方(本地,AWS,GCP等)使用@google-cloud/logging-winston@google-cloud/logging-bunyan模块。如果没有在GCP上运行,您将需要手动提供projectId和auth凭证。链接页面中提供了有关如何设置这些内容的说明。

在GCP上运行时,我们会自动找出确切的环境(App Engine,Compute Engine等),并且日志应该在Logging UI中的这些资源下。如果您打算使用开发机器中的模块,我们将根据“全局”报告日志。资源默认情况下。您可以passing自定义resource descriptor自定义此内容。

如果您遇到任何麻烦,请告诉我们。

答案 1 :(得分:1)

有一个新的选项可用于通过Stackdriver提取日志(和指标),因为大多数非Google环境代理看起来都已弃用。 https://cloud.google.com/stackdriver/docs/deprecations/third-party-apps

有关使用stackdriver和Blue Medora登录本地资源的Google帖子 https://cloud.google.com/solutions/logging-on-premises-resources-with-stackdriver-and-blue-medora

对于日志,您仍然需要在每个盒子上安装一个代理来收集日志,它是BindPlane代理而不是Google代理。

答案 2 :(得分:0)

我尝试在本地k8s集群上进行设置。遵循以下步骤:https://kubernetes.io/docs/tasks/debug-application-cluster/logging-stackdriver/

但是我无法使其正常工作,fluentd-gcp-v2.0-qhqzt一直崩溃。

此外,该页面还提到,如果您不想在Google GKE上使用它,则堆栈驱动程序日志记录会存在多个问题。查看屏幕截图。

我认为Google试图将您锁定在GKE中。

enter image description here