Monit

監控“方法未定義”

  • May 5, 2015

我目前正在嘗試使用 monit/var/log在分區用完可用磁碟空間時從特定文件中清除我的分區。我創建了一個名為的文件toto並在閱讀文件後嘗試了這個測試:

check filesystem log path /var/log
   if space usage > 1% for 3 cycles then exec "/usr/bin/find /var/log/ -iname 'toto' -type f -exec rm -f {} \;"

當我開始監視時,它會列印出來'log' start skipped -- method not defined,但我還沒有找到它的含義?

查看我自己的監控日誌,我發現如果出於某種原因 Monit 試圖啟動一個沒有start聲明任何方法的服務,就會發生這種情況。這是文件中的一個範例:

check process mmonit with pidfile /usr/local/mmonit/mmonit/logs/mmonit.pid
  start program = "/usr/local/mmonit/bin/mmonit" as uid "mmonit" and gid "mmonit"
  stop program = "/usr/local/mmonit/bin/mmonit stop" as uid "mmonit" and gid "mmonit"

該服務定義了startandstop方法。您沒有為您的服務指定此類方法,因此它們是未定義的,並且如果以某種方式向、或(這是第三種方法)服務log請求,Monit 將無法執行任何操作。start``stop``restart``log

如果 Monit 實際上不負責啟動或停止服務,則不需要定義它們。我有一個未定義方法的磁碟空間測試,它工作得很好。

引用自:https://serverfault.com/questions/688710