URI: 
       support services running check - 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 40f1c64c97fbe921f2c45392b3280ab12b4b77c9
   DIR parent 71df6de766a87c6455bf293247d4dac72ff556e4
  HTML Author: solene rapenne <solene@dataswamp.org>
       Date:   Thu, 26 Jan 2017 17:38:06 +0100
       
       support services running check
       
       Diffstat:
         M example.lisp                        |       7 ++++++-
         M probes.lisp                         |       8 ++++++++
       
       2 files changed, 14 insertions(+), 1 deletion(-)
       ---
   DIR diff --git a/example.lisp b/example.lisp
       @@ -33,6 +33,11 @@
        (=> mail number-of-processes (:limit 200))
        (=> mail number-of-processes (:limit 1)) ;; failure
        
       +;; check if service is running
       +(=> mail service (:name "httpd"))
       +(=> mail service (:name "ospfd"))   ;; failure : not started
       +(=> mail service (:name "unknown")) ;; failure : not known
       +
        ;; check if load average on (1/5/15) minutes is more than :limit
        (=> mail load-average-1  (:limit 4))
        ;;(=> mail load-average-5  (:limit 2))
       @@ -52,7 +57,7 @@
        ;; check if web page :url answer under :limit
        (=> void http-response-time (:url "http://google.fr/" :limit 10))
        
       -;; check if the web page :url contains the text :pattern
       +;; check if the web page :url contains the text regex :pattern
        (=> void http-text-present  (:url "http://google.fr/" :pattern "html"))
        (=> void http-text-present  (:url "http://google.fr/" :pattern "hello")) ;; error
        
   DIR diff --git a/probes.lisp b/probes.lisp
       @@ -18,6 +18,14 @@
             (list nil "file not found")))
        
        (create-probe
       + service
       + (command-return-code
       +  #+openbsd
       +  (list "rcctl" "check" (getf params :name))
       +  #+(or freebsd linux)
       +  (list "service" (getf params :name) "status")))
       +
       +(create-probe
         pid-running
         (if (probe-file (getf params :path))
             (let ((pid-number (with-open-file (stream (getf params :path)) (read-line stream))))