我正在努力寻找一个php-fpm的监控工具。 这是我试过的: ### Monitoring php-fpm: the parent process. check process php-fpm with pidfile /var/run/php-fpm/php-fpm.pid group phpcgi # phpcgi group start program = "/etc/init.d/php-fpm start" stop program = "/etc/init.d/php-fpm stop" ## Test the UNIX socket. Restart if down. if failed unixsocket /var/run/php-fpm.sock then restart ## If the restarts attempts fail then alert. if 3 restarts within […]
我正在用monit监视mysqld,但是如果我停止监视,那么mysqld服务也会停止。
在monit文档中,我可以看到有一个检查目录命令,但是我看不到有关如何使用它来查看目录是否存在以及是否不使用mkdir命令创build目录的任何示例。
我有一些用户笔记本电脑/桌面上安装monit,所以它可以确保几个进程总是运行/得到重新启动需要。 但是由于设备定期关机/重新启动,我经常会收到类似下面的消息,我不想或不在意,因为他们告诉我系统已经重新启动。 我想抑制monit开始/停止时自动发生的消息。 Subject: monit alert — Monit instance changed Service – system_slaveone Event – Monit instance changed Action – start Date – Thu, 18 Apr 2013 07:53:51 Host – slaveone.example.local (slaveone) Description – Monit started. 但是,一旦系统启动,我确实希望得到一些关于我想要通知的服务/资源的警报,所以简单地禁用电子邮件并不是我想要的。 如何在不完全禁用电子邮件的情况下抑制启动/重新启动时的消息?
有什么办法来监视和杀死使用太多的内存或CPU与监视的Phusionsubprocess? Apache有很多例子,但是由于Phusion运行在自己的进程中,失控的Rails线程不会触发Apache的monit规则。 谢谢!
我有两个相同的EC2实例(第二个是第一个副本),运行Gentoo。 一审具有监控单个进程的监控function,一些系统资源和function很好。 在第二种情况下,monit运行,但立即退出。 两个实例的configuration都是类似的,monit的版本也是如此。 monit.log显示: [GMT Oct 3 08:36:41] info : monit daemon with PID 5 awakened strace monit最后一行显示: write(2, "monit daemon with PID 5 awakened"…, 33monit daemon with PID 5 awakened ) = 33 time(NULL) = 1349252827 open("/etc/localtime", O_RDONLY) = 4 fstat64(4, {st_mode=S_IFREG|0644, st_size=118, …}) = 0 fstat64(4, {st_mode=S_IFREG|0644, st_size=118, …}) = 0 mmap2(NULL, […]
在我的Monit 5.4安装下,我有兴趣抑制特定服务检查的所有警报。 鉴于以下节: check process nslcd with pidfile "/var/run/nslcd/nslcd.pid" every 2 cycles start program = "/sbin/service nslcd start" stop program = "/sbin/service nslcd stop" if 10 restarts within 11 cycles then timeout if cpu usage > 95% for 11 cycles then restart if totalmemory > 64 MB then restart 什么是最干净的方法来抑制这项服务检查的所有行动的所有警报? 我对noalert函数很熟悉,但是对于我的用例来说,这似乎不太合适。 其他服务/守护进程的其他Monit警报可以继续。
我已经使用AWS Opsworks来创build一些服务器。 我有Sidekiq作为我的Rails应用程序的一部分运行。 当我部署Sidekiq很好地重新启动。 我正在configurationMonit来观看pid,如果有任何问题,请启动并停止Sidekiq。 但是,当Monit试图启动Sidekiq时,我发现错误的Ruby看起来被使用了。 Oct 17 13:52:43 daitengu sidekiq: /usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.3.4/lib/bundler/definition.rb:361:in `validate_ruby!': Your Ruby version is 1.8.7, but your Gemfile specified 1.9.3 (Bundler::RubyVersionMismatch) Oct 17 13:52:43 daitengu sidekiq: from /usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.3.4/lib/bundler.rb:116:in `setup' Oct 17 13:52:43 daitengu sidekiq: from /usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.3.4/lib/bundler/setup.rb:17 当我从cli运行命令Sidekiq正确启动。 $> cd /srv/www/myapp/current && RAILS_ENV=production nohup /usr/local/bin/bundle exec sidekiq -C config/sidekiq.yml >> /srv/www/myapp/shared/log/sidekiq.log 2>&1 & […]
我们只想在服务无法重启的时候收到提醒。 这可能吗? 这就是说,如果在第一次检查服务是closures,然后重新启动它,不要麻烦发送给我们一个警报; 但如果服务仍然在两个周期后,那么我们想知道。 试过if not exist for 2 cycles then alert但发现虽然我们会得到一个警报,它不会尝试重新启动。 所以然后尝试下面,但相同的结果:发送警报,而不尝试重新启动。 check process mysql with pidfile /var/run/mysqld/mysqld.pid start program = "/etc/init.d/mysql start" stop program = "/etc/init.d/mysql stop" if not exist then restart if not exist for 2 cycles then alert 我们可以将其设置为仅在疼痛持续时发送警报吗?
我有一个监视http服务器的几个子域的监视器。 目前,它们是多个检查主机语句,如下所示: CHECK HOST a.example.com with address 1.2.3.4 if failed url https://blah then alert CHECK HOST b.example.com with address 1.2.3.4 if failed url https://blah then alert 整个服务器可能处于失败状态或任何子域。 在整个服务器closures的情况下,或者如果我们丢失了一个负载均衡器的情况下,我不希望收到十几个单独子域的通知。 单个失败的testing可以禁用后续testing吗? 是否有可能将所有这些URL在一个单一的主机部分,并结合他们在OR?