标签: monit

我可以使用 monitrc 中的什么命令来启动/停止 systemd 服务?

我喜欢将 monit 用于 Web 界面,在那里我可以看到正在运行的受监控进程。我最近将服务器升级到 Ubuntu 16.04,它正在使用 systemd。

我有其他一切都在运行,但我找不到正确的 monit 命令来控制 systemd...

我曾经做过/etc/init.d/process startstop或其他什么。这显然不再有效,所以我尝试了......

systemctl start process这也不起作用。我能在这里做什么?我的 monitrc 粘贴在下面......(在 14.04 上工作的旧样式)

check process nginx with pidfile /var/run/nginx.pid
    start program = "/etc/init.d/nginx start"
    stop program = "/etc/init.d/nginx stop"

check process sshd with pidfile /var/run/sshd.pid
    start program = "etc/init.d/ssh start"
    stop program = "etc/init.d/ssh stop"
Run Code Online (Sandbox Code Playgroud)

linux systemd monit

11
推荐指数
2
解决办法
7281
查看次数

在 Debian 10 中安装 monit (buster)

我尝试monit在 Debian Buster 中安装,但它说

Package monit is not available, but is referred to by another package.
Run Code Online (Sandbox Code Playgroud)

我如何找到这个引用的包?或者我是否也需要在 buster 中安装替代监控?

debian monit

10
推荐指数
1
解决办法
4652
查看次数

Monit 守护进程间隔设置...全局还是服务级别?

我正在 Ubuntu 11.04 上配置 monit。在 中monitrc,以下设置控制 monit 守护程序监视服务的时间间隔...

set daemon 120

这是全局设置吗?如果我想检查不同的服务,例如目录和 http 服务的权限,如何配置 monit 每周检查目录权限,同时每 5 分钟 ping 一次 http 服务?

我知道-d interval在执行 monit 时可以使用该选项,但根据文档,这只会检查服务一次,然后退出,不再重复;对我的需求没有帮助,因为我需要它持续执行。

monitoring monit

6
推荐指数
1
解决办法
7949
查看次数

如何使用Monit环境变量?

根据Monit 链接

Monit 不使用任何环境变量。但是,当 Monit 执行启动/停止/重启程序或 exec 操作时,它会设置几个环境变量,可执行文件可以利用这些环境变量来获取有关触发该操作的事件的信息。

是否可以在自定义操作上使用这些变量?

例如,对于通知,我不使用邮件服务,而是使用自定义脚本,它应该接收该 ENV monit 变量并提供输出。这是测试环境变量的基本示例。

check process dhcp with pidfile "/var/run/dhcpd.pid"
        start = "/etc/init.d/isc-dhcp-server start"
        stop = "/etc/init.d/isc-dhcp-server stop"
        if does not exist program then exec "/bin/echo $MONIT_EVENT > /tmp/monittest"
        depends on lan
Run Code Online (Sandbox Code Playgroud)

当我故意让程序失败时,比如 check process dhcp with pidfile "/var/run/unexisting.pid"

我在/tmp/monittest. 难道我做错了什么?

monitoring environment-variables monit

5
推荐指数
1
解决办法
3504
查看次数

monit 的用户设置?它应该以root身份运行,还是它自己的用户?

我正在尝试安装monit在 Ubuntu 12.04 服务器上。我已经设置并配置了它(我认为),但我不确定它应该以什么用户身份运行。

我在服务器上的用户名为deploy,我的 monitrc 文件如下所示:

$ ls -l /etc/monit/monitrc
-rwx------ 1 deploy deploy 10229 2015-07-30 12:38 /etc/monit/monitrc
Run Code Online (Sandbox Code Playgroud)

即,它归我登录服务器的用户所有。我已经启动了 monit 守护进程,我可以看到它在运行,ps我可以登录到它的 Web 界面。

我不确定的是如何赋予它重新启动进程的特权。例如,nginx:如果我想自己重新启动 nginx,我需要做

sudo /etc/init.d/nginx restart
Run Code Online (Sandbox Code Playgroud)

这是否意味着 monit 也需要执行 sudo 才能重新启动它?或者,我是否应该使用自己的用户配置 monit,并设置该用户,以便它可以在没有 sudo 的情况下重新启动 nginx(以及 monit 需要重新启动或访问的任何其他服务)?

谢谢,马克斯

ubuntu sudo nginx monit

3
推荐指数
1
解决办法
6146
查看次数