Tomcat: /etc/init.d/tomcat 不存在并且 monit 不工作
Tomcat: /etc/init.d/tomcat dont exist and monit dont work
我正在尝试在 ubuntu 中使用 tomcat 构建监控器,但我遇到了两个问题。
我找不到 pid 文件,并且“/etc/init.d/tomcat”不存在
我该怎么做?
这是我在监控中的代码:
check process tomcat with pidfile "/var/run/tomcat/tomcat.pid"
start program = "/usr/local/tomcat/bin/startup.sh" as uid tomcat gid tomcat
stop program = "/usr/local/tomcat/bin/shutdown.sh" as uid tomcat gid tomcat
if failed port 8080 then alert
if failed port 8080 for 5 cycles then restart
谢谢!
- Tomcat 似乎不考虑配置而创建 pidfile。有关如何说服 Tomcat 创建一个的提示,请参见 this gist。
- 如果你在 Ubuntu >= 15.04,你应该有
systemd
(见 this wiki entry)。因此 start/stop 应该是 systemctl start tomcat
和 systemctl stop tomcat
(或 tomcat.service
)。
如果您无法让 Tomcat 创建 pid 文件,您也可以使用 matching 而不是 pid 文件(但我总是推荐 pid 文件!)。
其余的似乎还可以,但有一点限制:如果您开始使用 systemctl
到 start/stop 服务,您需要有超级用户权限才能这样做。您可以省略 start/stop program
.
的 as uid tomcat gid tomcat
部分
编辑 2019-11-02,14:00 UTC:
我的配置如下所示:
check process tomcat with pidfile "/var/run/tomcat/tomcat.pid"
start program = "/bin/systemctl start tomcat.service"
stop program = "/bin/systemctl stop tomcat.service"
if failed port 8080 then restart
if 3 restarts within 5 cycles then unmonitor
我正在尝试在 ubuntu 中使用 tomcat 构建监控器,但我遇到了两个问题。
我找不到 pid 文件,并且“/etc/init.d/tomcat”不存在
我该怎么做?
这是我在监控中的代码:
check process tomcat with pidfile "/var/run/tomcat/tomcat.pid"
start program = "/usr/local/tomcat/bin/startup.sh" as uid tomcat gid tomcat
stop program = "/usr/local/tomcat/bin/shutdown.sh" as uid tomcat gid tomcat
if failed port 8080 then alert
if failed port 8080 for 5 cycles then restart
谢谢!
- Tomcat 似乎不考虑配置而创建 pidfile。有关如何说服 Tomcat 创建一个的提示,请参见 this gist。
- 如果你在 Ubuntu >= 15.04,你应该有
systemd
(见 this wiki entry)。因此 start/stop 应该是systemctl start tomcat
和systemctl stop tomcat
(或tomcat.service
)。
如果您无法让 Tomcat 创建 pid 文件,您也可以使用 matching 而不是 pid 文件(但我总是推荐 pid 文件!)。
其余的似乎还可以,但有一点限制:如果您开始使用 systemctl
到 start/stop 服务,您需要有超级用户权限才能这样做。您可以省略 start/stop program
.
as uid tomcat gid tomcat
部分
编辑 2019-11-02,14:00 UTC:
我的配置如下所示:
check process tomcat with pidfile "/var/run/tomcat/tomcat.pid"
start program = "/bin/systemctl start tomcat.service"
stop program = "/bin/systemctl stop tomcat.service"
if failed port 8080 then restart
if 3 restarts within 5 cycles then unmonitor