如何通过http端点监视systemd服务

时间:2017-01-17 05:55:23

标签: monitoring systemd monit consul-template

我有一个流程我想监控consul-template,这是一个目前由systemd管理的流程。我使用Pandora监视其他进程的HTTP端点,但是consul-template没有HTTP端点。

我想到了几种方法:

一个是启动一个带有python的HTTP服务器,它将在运行consul-template进程时运行,问题是我不确定我可以保证在进程退出时HTTP服务器将退出。此外,我无法保证HTTP服务器的简单性也不会独立崩溃。

另一种解决方案是安装Monit,这是一个功能齐全的监控服务,只需使用它而不是systemd来进行流程管理。这种方法意味着我现在必须监控Pandora和Monit并相应地设置警报,我更愿意只获得一个HTTP端点,这样我就可以只从Pandora进行监控了。

1 个答案:

答案 0 :(得分:1)

systemd没有本机HTTP服务器,但系统可以通过SSH在网络上查询。您会为--host找到systemctl选项。例如,您可以使用机器可读格式通过网络获取状态,如下所示:

 systemctl --host user@example.com status consol-template

查找返回值,如:

 ActiveState=active
 SubState=running

确认服务已启动并正在运行。

您可以使用cron作业定期将此状态数据推送或提取到Pandora可以访问的位置,或者查看Pandora是否有办法检查通过SSH运行的命令的输出。

如果托管Pandora的计算机没有安装systemctl,您仍然可以使用相同的通用方法通过ssh远程执行status命令:

 ssh user@example.com systemctl status consol-template
相关问题