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

问题描述 投票:1回答:2

我正在通过Monit通过以下方式监视文件大小:

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

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

monit
2个回答
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为单位)。回声部分是使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

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
© www.soinside.com 2019 - 2024. All rights reserved.