寻找日志监控和远程复制机制

时间:2014-11-20 21:54:30

标签: logging apache-spark

我有一个大型Spark集群(80台机器),我在运行我的作业时遇到了问题(在大数据集上)。 为了调试这个,我需要看看每台机器上的Spark日志会发生什么,特别是错误。

目前我需要ssh到每台机器(它们是GCE机器),并查看那里的特定文件。这不可扩展,我正在寻找更好的解决方案。

我希望每台机器上都有一种代理,可以跟踪某个根文件夹,每隔X分钟一次,将其下的所有文件复制到某个远程位置(GCS)。

是否有这样的现有框架,还是我需要在这里发明轮子?

2 个答案:

答案 0 :(得分:1)

FluentdLogstash可以完成将日志收集到中心位置的工作(例如,Elasticsearch)。您可以在Kibana,Hive(HDFS)或其他内容中查看日志。尽管这两个代理的功能相似,但我建议使用Fluentd,因为它现在变得如此受欢迎,以至于谷歌将其用于Google Clould Platform中的默认群集日志集。

使用Fluentd,Elasticsearch和Kibana在Kubernetes群集中记录Pod https://github.com/GoogleCloudPlatform/kubernetes/blob/master/contrib/logging/fluentd-ek/README.md

答案 1 :(得分:0)

最终我用了一些简单的东西。我在所有工作人员中设置了一个cronjob,用于触发文件复制到云端的存储桶。这样,存储桶包含来自所有位置的所有日志文件。但是,在这种情况下我不需要salt,因为我在所有工作者中预先安装了cron作业,使用所有GCE机器的启动脚本。