首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >"Monit“可以监视远程服务器上运行的进程吗?

"Monit“可以监视远程服务器上运行的进程吗?
EN

Stack Overflow用户
提问于 2015-12-08 10:03:14
回答 1查看 1.9K关注 0票数 0

我想在服务器上设置monit,它将是一个centralized server,用于监视运行在remote servers上的进程。我检查了许多与安装monit相关的文档,但找不到如何设置远程服务器进程。例如,centralized monit server应该监视运行在A server上的nginx,在B server上运行的mongod等等。有什么建议吗?

EN

回答 1

Stack Overflow用户

发布于 2015-12-08 15:22:29

在文档中,Monit可以使用tcp或udp远程测试连接,您可以做的是提供一个小的状态文件,为您要监视的每一项技术进行刷新,并让Monit通过http等访问该状态文件,可以如下所示:

代码语言:javascript
复制
check host nginxserver with address www.nginxserver.com
   if failed port 80 protocol http
      and request "/some_file"
   then alert

因为您正在测试一个web服务器,可以很容易地用上面的方法完成。请注意,下面是关于Monit连接测试的部分:

连接测试Monit能够通过网络端口或Unix套接字执行连接测试。连接测试只能在检查进程中或Monit控制文件中的check主机服务条目中使用。 如果服务侦听一个或多个套接字,Monit可以连接到端口(使用tcp或udp),并验证服务将接受连接,并且可以从套接字中读写。如果连接未被接受,或者套接字i/o有问题,Monit将假定某些东西出错,并执行指定的操作。如果Monit是用openssl编译的,那么也可以测试基于ssl的网络服务。 用于连接测试的语句的完整语法如下(关键字在大写中,可选语句在括号中), 如果主机端口类型超时[[]周期]失败,则操作[如果成功[[]周期]则执行其他操作] 或者是Unix套接字, 如果unixsocket协议失败,则执行操作[如果成功[[]周期]则执行操作]。 主持人:主机名。还可以指定要连接到的主机。如果没有给出主机,那么如果在进程条目中使用此测试,则假设本地主机。如果此测试是在远程主机条目中使用的,则假定该条目的远程主机。虽然主机用于在本地或远程主机上运行的HTTP服务器中测试基于名称的虚拟主机,但它确实允许使用连接语句测试在另一台计算机上运行的服务器。这可能很有用;例如,如果您使用Apache httpd作为前端和应用程序服务器作为在另一台机器上运行的后端,则可以使用此语句测试后端服务器是否正在运行,如果不使用,则会引发警报。 港口:港口号。要连接到的端口号。 unixsocket:UNIXSOCKET路径。指定Unix套接字的路径。基于Unix套接字的服务器总是在本地机器上运行,并且不使用端口。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34153000

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档