如果文件夹大小超过一定数量,Monit会发送警报吗?

时间:2015-07-20 16:08:23

标签: monit

我使用Monit以下列方式监控文件大小:

check file mydb with path /data/mydatabase.db
  if size > 1 GB then alert

我可以做类似的事情来监控目录大小吗?

2 个答案:

答案 0 :(得分:2)

不要认为他们有一个,但我的解决方法是以下列方式使用check program

check program the_folder_size 
  with path "/path/to/bashscript /path/to/folder_to_monitor 500"
  if status != 0 then alert

其中bash脚本包含两个参数,即要监视的文件夹的路径以及文件夹不允许超过的大小(以kB为单位)。 echo部分是让monit输出monit web gui中的文件夹大小。

#!/bin/bash
FOLDER_PATH=$1
REFERENCE_SIZE=$2
SIZE=$(/usr/bin/du -s $FOLDER_PATH  | /usr/bin/awk '{print $1}')
echo "$FOLDER_PATH  -  ${SIZE}kB"
if [[ $SIZE -gt $(( $REFERENCE_SIZE )) ]]; then exit 1;fi

答案 1 :(得分:0)

您可以在配置中编写bash命令以检查目录大小。

单位为KB。

CHECK PROGRAM data_size
   WITH PATH /bin/bash -c '[ $(du -s /data/path/ | awk "{print \$1}") -lt 500 ]'

   IF status != 0
   THEN alert