题图摄于北京奥利匹克公园
注:微信公众号不按照时间排序,请关注公众号“亨利笔记”,并加星标以置顶,以免错过更新。
本文作者为VMware研发工程师,KubeFATE开源项目维护者。
从 KubeFATE v1.5.1开始支持对 FATE 集群日志的收集功能。通过使用kubefate cluster log
命令,可以轻松地收集FATE集群各个组件,或指定单一组件的日志。
为什么要日志聚合
在一个程序运行的生命周期内,日志往往提供了丰富的信息,给予了运维工程师或者程序的用户对程序更好的掌控。日志通常记录在日志文件中,集群应用的日志往往都分散在不同的主机中,这就使得日志的查看十分困难,日志的收集和管理就十分必要。
KubeFATE 的日志聚合功能,就是解决了 FATE 集群的日志分散不容易查看的问题。
日志聚合的价值
使用日志聚合功能可以方便的完成下面的工作:
运行状态监控
集群应用的运行状态是集群是否健康的重要指标。对于 FATE 来说,通过查看日志是了解 FATE 集群运行是否健康的很好的方式。
任务错误排查
程序应用的开发不可避免的会有各式各样的错误,而在使用过程中能够及时的发现问题,定位原因是非常必要的。
KubeFATE 的日志聚合功能对使用 FATE 的用户来说是很好的排查工具
算法调试
针对联邦学习的 AI 计算任务,往往需要多方参与,不同方的集群实例分散在各种复杂的环境当中,这就对了联邦学习算法设计调试带来了非常大的挑战。
KubeFATE 的日志聚合可以收集单方的所有日志信息,对调试分析提供了有力的支持。
AI 计算正式生产的任务通常需要巨大的计算量,也需要较长的任务时间,在这期间保证集群的健康运行就显得非常重要,通过集群的所有日志了解集群的健康状态是一个非常重要的手段。
使用方法
KubeFATE的日志聚合功能对使用FATE带来了极大的改变,那么接下了看下如何使用这些功能。
命令
kubefate cluster logs [options] <cluster_ID> [modules_name]
[options] 是命令的选项
<cluster_ID> 是指定FATE集群的ID (必选)
[modules_name] FATE对应的模块组件
选项
示例
$ kubefate cluster list
UUID NAME NAMESPACE REVISION STATUS CHART ChartVERSION AGE
8b980f0b-b139-40b2-a94d-d5aebd14d913 fate-9999 fate-9999 1 Running fate v1.5.1 100s
通过日志检查指定组件是否成功运行
查看python组件的日志
kubefate cluster logs 8b980f0b-b139-40b2-a94d-d5aebd14d913 python
查看rollsite组件的日志
kubefate cluster logs 8b980f0b-b139-40b2-a94d-d5aebd14d913 rollsite
持续监控组件的日志
监控python组件的日志
kubefate cluster logs -f 8b980f0b-b139-40b2-a94d-d5aebd14d913 python
持续监控集群所有组件的日志
kubefate cluster logs -f 8b980f0b-b139-40b2-a94d-d5aebd14d913
监控错误日志
kubefate cluster logs 8b980f0b-b139-40b2-a94d-d5aebd14d913 | grep ERROR
查看单个任务日志
kubefate cluster logs b4db45a6-e9b5-4350-8be3-511ea72c76cf | grep <Job_ID>
要想了解云原生、机器学习和区块链等技术原理,请立即长按以下二维码,关注本公众号亨利笔记 ( henglibiji ),以免错过更新。