标签: monit

如何让 Monit 重新监控它没有监控的服务?

在设计这个问题的答案时,我在 Ubuntu 12.04.5 设置上测试这个 MySQL Monit 规则集时遇到了一个障碍:

check process mysqld with pidfile /var/run/mysqld/mysqld.pid
  group mysql
  start program = "/etc/init.d/mysql start"
  stop program = "/etc/init.d/mysql stop"
  if failed host 127.0.0.1 port 3306
    with timeout 15 seconds
  then restart
  if 5 restarts within 5 cycles
  then timeout
  alert email_address@example.com only on { timeout, nonexist }
Run Code Online (Sandbox Code Playgroud)

问题是我试图通过调用启动/停止项目/etc/init.d/——这更像是一个 CentOS/RedHat 系统构造——而不是使用/usr/sbin/service哪个更适合 Ubuntu/Debian 系统。

好吧,我的错……但问题是你看到那if 5 restarts within 5 cycles then timeout部分了吗?这似乎让我很难受。由于/etc/init.d/mysql start命令无法工作,系统尝试了 5 次重新启动,失败了 5 …

linux ubuntu monit

9
推荐指数
2
解决办法
6932
查看次数

当 Monit 说“正在初始化”时,它会做什么?

我正在使用 Monit 进行系统监控。如果我启用对服务的监控,它会在状态行中显示“正在初始化”。这可能需要一段时间。我想知道 Monit 在那段时间在做什么,因为使用的启动脚本应该在最多 2 秒内返回。

monitoring monit

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

如何使用 Monit 监视没有 /var/run/ pid 文件的服务或如何创建 pid 文件?

我正在使用 Debian 9.8

我有一个运行我的 dotnet 程序的服务。我想用 monit 监视它,但在所有示例中,您都需要在 /var/run 中引用 .pid 文件,但我的 dotnet 程序在 /var/run 中没有 .pid 文件。

所以我将 PIDFile=/var/run/testservice.pid 添加到我的服务的 .service 文件中,但是当我启动它时它没有创建文件。

这就是我所在的地方

这是我的 .service 文件

[Unit]
Description=Test Service
Wants=network-online.target influxdb.service
After=network-online.target influxdb.service

[Service]
User=testservice
Group=mainapp
SyslogIdentifier=testservice
PIDFile=/var/run/testservice.pid

Restart=on-failure
TimeoutStopSec=5
RestartSec=10

ExecStart=/usr/bin/dotnet /mainapp/app/TestSystemdService.dll

[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)

pid systemd monit

4
推荐指数
2
解决办法
4364
查看次数

标签 统计

monit ×3

linux ×1

monitoring ×1

pid ×1

systemd ×1

ubuntu ×1