【发布时间】:2021-10-26 10:40:14
【问题描述】:
我们在 GCP 虚拟机上设置了一个 fluentd 代理,以将日志从 syslog 服务器(虚拟机)推送到 GCP 的 Google Cloud Logging。当前设置运行良好,每小时向 Stackdriver (Google Cloud Logging) 推送超过 30 万条日志条目。
由于流量增加,我们计划增加负载平衡器后面使用的虚拟机数量。但是,带有 fluentd 代理的新虚拟机无法将日志推送到 Stackdriver。第一次激活 VM 后,它确实会向 Stackdriver 发送一些条目,之后就无法正常工作了。
我尝试了以下选项来设置 fluentd 代理并解决问题:
- 从头开始创建一个新的 VM 并使用此 Google Cloud documentation 安装 fluentd 日志记录代理。
- 通过创建 Images 复制已经工作的 VM(带有日志记录代理)
- 重启虚拟机
- 重新安装日志代理
我做过的调试:
- google fluentd 代理的所有配置。一切都是正确的,并且与当前工作的 VM 实例完全相同。
- 我检查了“/var/log/google-fluentd/google-fluentd.log”是否有任何日志记录错误。但是没有。
- 检查是否启用了日志记录 API。由于每天已经有几百万条日志,我认为我们在这方面没问题。
- 检查了 CPU 和内存消耗。它接近于 0。
- 我能在 Google 上找到的所有解决方案(数量不多)
如果有人可以帮助我确定我到底哪里出错了,那就太好了。我已多次检查配置/设置文件,它们看起来都很好。
【问题讨论】:
-
您能否检查您的新虚拟机是否与正在运行的旧虚拟机具有相同的权限/VPC/防火墙
-
尝试使用 ssh 进入虚拟机并使用 sudo /etc/init.d/google-fluentd restart 重启 fluentd,同时使用 sudo 重启 google fluentd 服务service google-fluentd restart 并检查日志是否正在发布。
-
是的,新虚拟机与旧虚拟机具有相同的防火墙权限。我确实尝试重新启动服务。没用。
-
您是否尝试使用 sudo /etc/init.d/google-fluentd restart 命令重新启动 fluentd?
-
是的,我做到了。日志记录现在仍在工作。
标签: google-cloud-platform google-compute-engine fluentd google-cloud-logging