Назад | Перейти на главную страницу

Не удается заставить monit выполнять действия «exec»

У меня есть рабочий monit установка на CentOS 6.5. События обнаруживаются и отправляется письмо с предупреждениями, но я пытаюсь заставить другие вещи происходить, когда событие срабатывает, через exec функция, и ни одна из них не работает.

Например, у меня есть такое правило:

if cpu usage (user) > 10% then 
   exec "/bin/echo 'user limit' >> /tmp/monit-status-log" as uid someuser and gid somegroup

Правило срабатывает при загрузке процессора, но ничего не записывается в файл (чей параметр защиты - rw-rw-rw).

Я думаю, что файл журнала для выполнения выглядит правильно:

[PST Feb 20 09:31:04] info     : 'linux2.example.com' Monit reloaded
[PST Feb 20 09:31:31] info     : Reinitializing monit daemon
[PST Feb 20 09:31:31] info     : Awakened by the SIGHUP signal
[PST Feb 20 09:31:31] info     : Reinitializing monit - Control file '/etc/monit.conf'
[PST Feb 20 09:31:31] info     : Shutting down monit HTTP server
[PST Feb 20 09:31:32] info     : monit HTTP server stopped
[PST Feb 20 09:31:32] info     : Starting monit HTTP server at [*:2812]
[PST Feb 20 09:31:32] info     : monit HTTP server started
[PST Feb 20 09:31:32] info     : 'linux2.example.com' Monit reloaded
[PST Feb 20 09:32:32] error    : 'linux2.example.com' cpu user usage of 24.4% matches resource limit [cpu user usage>10.0%]
[PST Feb 20 09:32:32] info     : 'linux2.example.com' exec: /bin/echo
[PST Feb 20 09:33:32] info     : 'linux2.example.com' 'linux2.example.com' cpu user usage check succeeded [current cpu user usage=0.0%]

Есть мысли или советы?

Я думаю, вам следует настроить exec такую ​​команду, чтобы она работала должным образом:

if cpu usage (user) > 10% then
  exec "/bin/bash -c '/bin/echo user limit >> /tmp/monit-status-log'" as uid someuser and gid somegroup