[FIX] Return value of disk-used was a disk-used string instead of the variable - reed-alert - Lightweight agentless alerting system for server
HTML git clone git://bitreich.org/reed-alert/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/reed-alert/
DIR Log
DIR Files
DIR Refs
DIR Tags
DIR README
DIR LICENSE
---
DIR commit 9b5e9bd4a8ff642b8a7408fc0f3e3dec11aa613d
DIR parent c3f594da02f5b2a394be84fc115677d22cf75fbf
HTML Author: solene rapenne <solene@dataswamp.org>
Date: Mon, 10 Oct 2016 20:35:49 +0200
[FIX] Return value of disk-used was a disk-used string instead of the variable
Diffstat:
M probes.lisp | 24 +++++++++++++++++++++++-
1 file changed, 23 insertions(+), 1 deletion(-)
---
DIR diff --git a/probes.lisp b/probes.lisp
@@ -1,6 +1,10 @@
(defmacro create-probe(name &body code)
`(progn (defun ,name(params) ,@code)))
+(defun get-file-size(path)
+ (with-open-file (stream path)
+ (and stream (file-length path))))
+
(defun command-return-code(command)
(let ((code (nth-value 2 (uiop:run-program command :ignore-error-status t))))
(if (= 0 code)
@@ -44,7 +48,7 @@
percent-character-pos))))
(if (< used-disk (getf params :limit))
t
- (list nil "used-disk"))))))
+ (list nil used-disk))))))
(defun system-load(time)
(read-from-string
@@ -76,6 +80,24 @@
(list nil load))))
(create-probe
+ file-more-than
+ (if (probe-file (getf params :path))
+ (let ((result (get-file-size (getf params :path))))
+ (if (< result (getf params :limit))
+ t
+ (list nil result)))
+ "file not found"))
+
+(create-probe
+ file-less-than
+ (if (probe-file (getf params :path))
+ (let ((result (get-file-size (getf params :path))))
+ (if (> result (getf params :limit))
+ t
+ (list nil result)))
+ "file not found"))
+
+(create-probe
command
(command-return-code (getf params :command)))