Articles of monit

monit主机名始终是localhost

我有一个服务器上运行monit运行通过电子邮件警报以下configuration set mailserver 127.0.0.1 using hostname "vps1.sender.com" set mail-format { from: [email protected] } set alert [email protected] 但邮件仍然通过本地主机的主机名来通过 Aug 7 08:40:55 mx1 postfix/smtpd[31060]: NOQUEUE: reject: RCPT from vps1.sender.com[xx.xx.xx.xx]: 504 5.5.2 <localhost>: Helo command rejected: need fully-qualified hostname; from=<[email protected]> to=<[email protected]> proto=ESMTP helo=<localhost> 这是我唯一的configuration文件。 我错过了什么?

monit mysql服务器因为连接太多而被阻塞

是否有任何调整监控是否有一台服务器可以访问另一台服务器上的MySQL? 我尝试了monit,但是正如你可能知道的那样,10次尝试之后,mysql会阻塞服务器。 check host db1.server with address db1.server if failed port 3306 protocol mysql then alert 。 mysqli: host <host> is blocked because of many connection errors; unblock with mysqladmin flush-hosts

晚上closures监控警报

我有监控24/7/365监控,并发送警报到一个电子邮件地址和文字信息平等的手机。 不过,我现在想在晚上停止电话短信,所以他们不叫我起床。 我不能让手机静音,因为我们正在紧急呼吁任何可能需要我们的亲属。 我将在后面找出如何在任何时候“无法重新启动服务器”的短信。 我有这个在我的monitrc文件中: set alert [email protected] set alert [email protected] 所以我想通过添加类似于下面的东西(在单个服务“检查进程”文件中起作用)closuresvtext.com警报, not every "* 23,0-6 * * *" 任何想法如何实现? 谢谢,罗恩

如何在停止或崩溃时重新启动“monit”?

我正在设置一个服务器,并刚刚安装了“监视”来监视进程,并在满足特定条件时重新启动(并提醒我)。 它工作很好。 我的问题是当monit本身死亡时会发生什么? 有没有一种确保monit在死的时候重启的正确方法? 我现在通过一个cron作业重新启动(即使它已经在运行),但这看起来不是很优雅。 什么被认为是重新启动monit的正确方法? 我正在使用Debian并通过apt-get安装(因此我有一个/etc/init.d/monit脚本可用)。 我已经确保它使用update-rc.d使用默认级别运行。 谢谢!

monit语法错误:“如果5在5个周期内重新启动然后警告”

我试图从monit得到一个警报,如果它重新启动服务失败5次,但我得到一个语法错误 /etc/monit/monit.d/engine.conf:5: Error: syntax error 'alert' 任何想法有什么问题呢? 的/ etc / monit的/ monitrc: set daemon 120 set mailserver localhost set eventqueue basedir /var/monit # set the base directory where events will be stored slots 100 # optionaly limit the queue size set httpd port 2812 allow localhost set logfile syslog set alert root@localhost include /etc/monit/monit.d/* /etc/monit/monit.d/engine.conf(monit.d中唯一的文件): […]

在nginx的子path中configuration一个应用程序

我在Fedora服务器上安装了nginx + passenger +单轨应用程序。 我关于我的应用程序的nginx.conf看起来像这样: server { listen 80; server_name myapp.mycompany.com; root /opt/apps/myapp_large_name/public; passenger_enabled on; client_max_body_size 4M; } 所以当我访问myapp.mycompany.com.br它访问我的rails应用程序/ opt / apps / myapp_large_name / public下。 我想能够configuration一个子path来访问另一个应用程序(在这种情况下,monit)。 我想要这样的东西: myapp.mycompany.com.br/monit访问监控应用程序。 可能吗?

使用Monit时,如何在目录时间戳检查失败时重新启动进程?

在我的/ etc / monit / monitrc我有以下几行: check process foo_server with pidfile /var/run/bwam_server.pid start program = "/Users/foo/foo_server.sh start" stop program = "/Users/foo/foo_server.sh stop" check directory foo_data path "/Users/foo/Library/Application Support/foo_server/data" if timestamp > 1 minute then alert #if timestamp > 1 minute then restart foo_server 我知道在我的主目录中不应该有这些东西,但是除此之外:如果我取消最后一行的注释, syntax error on foo_server告诉我syntax error on foo_server – 但据我所知,我正确地定义了这个过程 – 我还能参考吗?

Monit无法启动/停止nginx服务器

我有监控nginx的问题。 Monit可以监控nginx并显示资源使用情况(RAM使用情况等),但是无法启动/停止nginx。 我只得到一个简单的消息:“执行失败”。 系统日志不会告诉任何更多的信息。 我的monitrcconfiguration文件: check process nginx with pidfile /var/run/nginx.pid start program = "/etc/init.d/nginx start" stop program = "/etc/init.d/nginx stop" group www-data 重新启动任何其他受监控的程序(例如dovecot)都可以工作。 此外,手动运行nginx的作品 /etc/init.d/nginx start 系统日志: May 5 17:47:45 vm7508 monit[7079]: restart service 'nginx' on user request May 5 17:47:45 vm7508 monit[7079]: monit daemon at 7079 awakened May 5 17:47:45 vm7508 monit[7079]: Awakened […]

Monit是否可以使用条件来执行Sysfence风格的平均负载计算?

我开始在RHEL Linux机器上从Sysfence迁移到Monit,我想知道是否可以在Monit中创build下面的sysfence等价物。 系统configuration(部分) 例如,我们的sysfence.conf文件声明以下内容来检查加载平均条件。 rule "high load" { la1 >= 5.0 and { { la5 > 3.0 } or { la15 > 2.0 } } } run '/bin/high-load.sh' step 300 监控configuration (试图模拟系统负载平均状况) 对于monitrc文件,我创build了以下通过configuration语法检查的语句,但警报仅提供15分钟平均值的捕获值,而不是所有条件。 一个显着的区别是,使用“或”代替第二个“和”在监听时产生语法错误,所以AFAIK“或”逻辑是不允许的。 check system our.server.tld if loadavg (1min) > 1 and loadavg (5min) > 0.5 and loadavg (15min) > 0.25 then alert 对于testing用例,我使用的触发值要小得多,以便在testing框中更快地达到阈值,而且当时使用的很less。 […]

如何使Monit“检查过程”有条件?

我有一个像这样的monit脚本: check process sidekiq_1 with pidfile /tmp/pids/sidekiq_1.pid start program = "/bin/bash -l -c 'bundle exec sidekiq start" as uid jim and gid jim with timeout 250 seconds stop program = "/bin/bash -l -c 'bundle exec sidekiq stop" as uid jim and gid jim with timeout 120 seconds if cpu usage > 25% for 18 cycles […]