每次测试失败时,如何阻止monit运行exec语句?“我的监测”中的说明是:
check filesystem tmpfs with path /var
if space > 90% then exec "/usr/bin/logger -p daemon.crit 'MAJOR: space test'"
这似乎很奇怪,因为其他人问了一个问题,他在做一个警告,它有我想要的行为。我已经准备好开始扼杀linux盒了。
编辑:这里是相反的情况,重复monit警报
是因
我刚刚编译了monit的最新版本(截至2017年9月)。它似乎可以正常工作,并将数据传送到我的mmonit服务器。
我使用的是Linux/centos2.6.32-042sta094.7 #1 SMP Wed Oct 22 12:43:21 MSK 2014 x86_64 GNU/Linux
然而,如果我只是想运行最基本的命令行参数,它们似乎都失败了,例如:
$ monit -V; monit status
This is Monit version 5.24.0
Built with ssl, with ipv6, with compression, with pam and with l
启动monit时,我的日志显示
[CET Oct 31 19:43:34] info : Starting Monit 5.16 daemon
[CET Oct 31 19:43:34] error : monit: monit httpd not started since no connect allowed
[CET Oct 31 19:43:34] info : 'srv.home' Monit 5.16 started
尽管
set httpd port 2812
在/etc/monit/monitrc中。
,当通过systemd?
启动moni
我很难设置我的监控文件。我使用Capistrano在亚马逊EC2上安装Monit,使用本教程作为指南:
set daemon 30
set logfile /home/deployer/apps/example/shared/log/monit.log
set idfile /var/lib/monit/id
set statefile /var/lib/monit/state
set eventqueue
basedir /var/lib/monit/events
slots 100
set mailserver email-smtp.us-east-1.amazon
我正试着在我的服务器上配置monit,使用主厨solo。当我访问端口2812时,响应说:this webpage is not availble。
config/chef/files/default/monitrc
set daemon 30
set pidfile /var/run/monit_real.pid
set logfile syslog facility log_daemon
set idfile /var/monit/id
set statefile /var/monit/state
set eventqueue
basedir /var/monit/events
只有当服务无法重新启动时,我们才希望得到通知。这个是可能的吗?
也就是说,如果在第一次检查时服务已经关闭,那么就重新启动它,而不用麻烦地向我们发送警报;但是如果服务在两个周期后仍然处于关闭状态,那么我们想知道。
尝试了if not exist for 2 cycles then alert,但发现,虽然我们会得到一个警报,它不会尝试重新启动。
因此,随后尝试了以下操作,但结果是相同的:发送警报而不尝试重新启动。
check process mysql with pidfile /var/run/mysqld/mysqld.pid
start program = "/etc/ini
我创建了应用程序,在崩溃时必须重新启动golang site。
$ cd /etc/monit/conf.d
$ vim checkSite
它以nohup启动程序,并将其pid保存到文件中:
check process site with pidfile /root/go/path/to/goSite/run.pid
start program = "/bin/bash -c 'cd /root/go/path/to/goSitePath; nohup ./goSite > /dev/null 2>&1 & echo $! > r
对于我的备份,外部磁盘空间每天晚上都通过cronjob作为/mnt/backup安装在Ubuntu机器上。备份完成后,磁盘将被卸载。无需向此need服务器上的潜在攻击者公开备份驱动器。
有时候,这个备份驱动器是满的,这是.是的,Linux不喜欢完整的磁盘。所以我让monit在低磁盘空间上发出警报。
check filesystem backup with path /mnt/backup
if space usage > 85% then alert
这是可行的,但是每当备份完成并且磁盘被卸载时,monit就会进入“状态:不存在”并升起一个标志。如果文件系统不存在,是否可
在Rocky 8.7上运行monit 5.30
Linux UK2 4.18.0-372.9.1.el8.x86_64
monit控件文件语法有效,
这里的控制文件
set daemon 5 # Poll at 5-second intervals
set logfile /var/log/monit.log
set eventqueue basedir /home/monit/tmp slots 1000
set mmonit http://monit:monit@server1:19840/collector
set httpd port 19841
allow localhos
我正在查看一个monit配置文件,有些东西看起来不太对劲。我使用monit来监视sshd二进制的校验和,如果它与预期的不同,它应该重新加载一个已知的二进制文件。下面一节检查ssh二进制文件上的校验和正确吗?monit守护进程将当前校验和与什么进行比较?没有,在文件中,我看到任何其他提到校验和或外部工具来检查校验和。
check process ssh
with pidfile "/var/run/sshd.pid"
start program = "/sbin/service sshd start"
stop program = "
我已经在Debian服务器上安装和配置了莫尼特,并将http服务打开到本地主机,并将rw权限授予组"monit“。我创建了这个小组并加入了这个小组。
monit守护进程本身工作得很好,如果我使用sudo,我可以控制守护进程。这是可行的,例如:
sudo monit stop <my-service>
但当我这么做的时候
monit status
我知道这个错误:
Cannot open the control file '/etc/monit/monitrc' -- Permission denied
monitrc文件被正确地设置为700,但它属于根用户。
我在linux上安装了monit工具,它已经监视apache和整个系统几个月了。apache配置文件是:
check process apache with pidfile /var/run/httpd/httpd.pid
start "/etc/init.d/httpd start"
stop "/etc/init.d/httpd stop"
if memory usage > 70% for 2 cycles then alert
if memory usage > 90% for 5 cycle
当试图连接到HTTPS网站时,我得到了这个错误curl: (35) gnutls_handshake() failed: Error in the pull function.。
详细情况:
curl -vvv "https://example.tld"
* Rebuilt URL to: https://example.tld/
* Trying 1.2.3.4...
* Connected to example.tld (1.2.3.4) port 443 (#0)
* found 148 certificates in /etc/ssl/certs/ca-certif
我在monit 6.5上安装了一个可工作的CentOS。事件正在被检测到,警报邮件正在发送,但当事件通过exec功能触发时,我试图让其他事情发生,而这些都没有起作用。
例如,我有这样一条规则:
if cpu usage (user) > 10% then
exec "/bin/echo 'user limit' >> /tmp/monit-status-log" as uid someuser and gid somegroup
该规则在cpu负载下适当触发,但没有写入文件(其保护设置为rw)。
就执行情况而言,执行的日志文件看起来是正
我有以下配置-
check host qbox_logstash_1
with address blah.mysite.com
group qbox
if failed
host blah.mysite.com
port 443
type TCPSSL
protocol https
http headers [ Authorization: Basic dXJiYW5sYWiYW5sBlaHToHideThisAuthMjM= ]
then alert
它只是连接,从不检查域是否有错误的证书。为什么monit不检查证书?
我是monit的菜鸟,在运行Ubuntu16.04的服务器上,我很难遵循这些示例并在服务器上运行。具体来说,我试图以以下格式添加"check host“行:
check host <subdomain.domain.com> with address <subdomain.domain.com>
if failed port 80 protocol http
and request <page-name>
with timeout 5 seconds
then exec <command>
这个语法类似于这里找到的语法(
我在我们的许多VM上安装了monit。除了这个VM之外,所有这些都很好。
Monit被设置为监视apache并检查它是否关闭。由于某些原因,monit说apache已经关闭(没有),需要重新启动。在尝试运行start脚本之后,它仍然说“启动失败。
[CEST Oct 4 20:16:21] error : 'apache2' process is not running
[CEST Oct 4 20:16:21] info : 'apache2' trying to restart
[CEST Oct 4 20:16:21] info
你知道为什么monit不会在这个设置中监控mysql吗?我已经在这里找到了所有我能找到的解决问题的方法,但都无济于事。
以下是我的版本:
Distributor ID: Ubuntu
Description: Ubuntu 14.04.2 LTS
Release: 14.04
Codename: trusty
mysql --version
Ver 14.14 Distrib 5.5.41, for debian-linux-gnu (x86_64) using readline 6.3
monit -V
This is Monit version 5.6
我已经尝试过这两种设
我使用运行在Debian上的monitv5.16来检查服务器是否使用ping指令。
这是我的配置:
check host my.server.domain with address my.server.domain
mode passive
every 5 cycles
if failed ping4 count 5 then alert # IPv4 only
if failed ping6 count 5 then alert # IPv6 only
我总是收到以下错误:
[CET Mar 1 23:28:32] error
我正在尝试使用厨师solo和在我的服务器上配置monit。当我访问端口2812时,响应说:this webpage is not available。这只有在通过网络浏览器远程访问时才能实现。我得到预期的内容时,卷曲本地。
莫尼特食谱
include_recipe 'monit'
cookbook_file '/etc/monit/conf.d/puma.conf' do
source 'monit-puma'
owner 'deploy'
group 'deploy'
mode '075