我有一个进程,我想监控consul-template,这是一个当前由systemd管理的进程。我使用Pandora监视其他进程的HTTP端点,但是consul-template没有HTTP端点。
我想了几种方法:
一种是使用python启动HTTP服务器,该服务器将在consul-template进程运行时运行,问题是我不能保证在进程退出时HTTP服务器将退出。此外,我不能保证HTTP服务器像它一样简单,不会独立崩溃。
另一种解决方案是安装Monit,这是一个功能齐全的监控服务,只需使用它而不是systemd来进行进程管理。这种方法意味着我现在必须监控Pandora和Monit,并相应地设置警报,我更愿意只设置一个HTTP端点,这样我就可以只从Pandora监控。
发布于 2017-01-18 02:29:04
systemd没有原生超文本传输协议服务器,但是系统可以通过SSH通过网络进行查询。您将找到用于systemctl的--host选项。例如,您可以通过网络以机器可读的格式获取状态,如下所示:
systemctl --host user@example.com status consol-template查找返回值,如:
ActiveState=active
SubState=running以确认服务已启动并正在运行。
您可以使用cron作业定期将此状态数据推送或拉到Pandora可以访问的位置,或者查看是否有方法让Pandora检查通过SSH运行的命令的输出。
如果托管Pandora的机器没有安装systemctl,您仍然可以使用相同的通用方法通过ssh远程执行状态命令:
ssh user@example.com systemctl status consol-templatehttps://stackoverflow.com/questions/41689917
复制相似问题