linux显示 cron 服务是否正在运行_基于ecFlow构建后台服务监控系统

本文是对 2020 年 1 月文章《ecFlow学习笔记:服务检查系统》的更新。

本文介绍如何使用 ecFlow 定时检查后台程序运行情况,实现对 HPC 登录节点上后台服务的监控,并在程序退出时实现自动重启。

背景

前两年笔者开发的监控程序通常部署在 HPC 外的 Linux 服务器上,使用 SSH 协议或者 TCP 端口远程连接 HPC 获取监控数据。但这类程序存在不少问题。

比如下面两个近期没有更新的项目:

nwpc-hpc-exporter

https://github.com/nwpc-oper/nwpc-hpc-exporter

nwpc-oper/nwpc-hpc-exporter 项目为 Prometheus 提供 HPC 监控指标。该项目运行在 Linux 服务器上,通过 SSH 协议使用账户名和密码远程连接到 HPC 执行命令行程序,定时获取 HPC 的运行状态。

保持与高性能计算的 SSH 长时间连接并不是百分之百可靠的。所以,需要设置重新连接机制。

nwpc-ecflow-collector

https://github.com/nwpc-oper/nwpc-ecflow-collector

nwpc-oper/nwpc-ecflow-collector 项目使用 ecFlow 的 Python API 获取系统的运行状态。

该项目在 NWPC 监控平台 (NWPC Monitor Platform, NMP) 中应用时,从 Linux 服务器远程连接 ecFlow 服务绑定的 TCP 端口,获取节点运行状态。

但 ecFlow 的 API 没有对数据进行压缩,对于挂载任务数比较多的服务(例如集合预报和产品后处理系统等),整个获取过程速度很慢。

为此,笔者开发 nwpc-oper/ecflow-client-cpp 项目,将 ecFlow 的采集程序放到高性能计算机的登陆节点上,使用 gRPC 向外提供服务。

https://github.com/nwpc-oper/ecflow-client-cpp

详情请参看以下文章:

《ecflow学习笔记:节点状态监控工具V2》

但上述程序缺乏像 ecflow 程序一样稳定性,可能会因为不明原因退出。笔者已对工具进行了优化,详情请参看以下文章:

《ecFlow笔记:优化节点状态监控工具》

但仍不能保

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值