iAdd new probe write-to-file - reed-alert - Lightweight agentless alerting system for server Err bitreich.org 70
hgit clone git://bitreich.org/reed-alert/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/reed-alert/ URL:git://bitreich.org/reed-alert/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/reed-alert/ bitreich.org 70
1Log /scm/reed-alert/log.gph bitreich.org 70
1Files /scm/reed-alert/files.gph bitreich.org 70
1Refs /scm/reed-alert/refs.gph bitreich.org 70
1Tags /scm/reed-alert/tag bitreich.org 70
1README /scm/reed-alert/file/README.gph bitreich.org 70
1LICENSE /scm/reed-alert/file/LICENSE.gph bitreich.org 70
i--- Err bitreich.org 70
1commit 13cf2712556758a985dc315ae25eea2aa7b3b0dd /scm/reed-alert/commit/13cf2712556758a985dc315ae25eea2aa7b3b0dd.gph bitreich.org 70
1parent 98918e04dc8835f5dd3c4634cbc246dc89037fe9 /scm/reed-alert/commit/98918e04dc8835f5dd3c4634cbc246dc89037fe9.gph bitreich.org 70
hAuthor: Solene Rapenne <solene@perso.pw> URL:mailto:solene@perso.pw bitreich.org 70
iDate: Thu, 11 Jul 2019 10:06:26 +0200 Err bitreich.org 70
i Err bitreich.org 70
iAdd new probe write-to-file Err bitreich.org 70
i Err bitreich.org 70
iDiffstat: Err bitreich.org 70
i M README | 19 +++++++++++++++++++ Err bitreich.org 70
i M example-full.lisp | 4 ++++ Err bitreich.org 70
i M example-simple.lisp | 2 ++ Err bitreich.org 70
i M probes.lisp | 14 ++++++++++++++ Err bitreich.org 70
i M test/test.lisp | 3 +++ Err bitreich.org 70
i Err bitreich.org 70
i5 files changed, 42 insertions(+), 0 deletions(-) Err bitreich.org 70
i--- Err bitreich.org 70
1diff --git a/README b/README /scm/reed-alert/file/README.gph bitreich.org 70
i@@ -370,6 +370,25 @@ Example: `(=> alert ssl-expiration :host "domain.local" :seconds 86400 :port 669 Err bitreich.org 70
i Example: `(=> alert ssl-expiration :host "smtp.domain.local" :seconds 86400 :starttls "smtp" :port 25) Err bitreich.org 70
i Err bitreich.org 70
i Err bitreich.org 70
i+write-to-file Err bitreich.org 70
i+-------------------- Err bitreich.org 70
i+Write content to a file, create it if non existent. Err bitreich.org 70
i+ Err bitreich.org 70
i+The purpose of this probe is to be used at the end of a reed-alert Err bitreich.org 70
i+script to update the modification time of a file, and use file-updated Err bitreich.org 70
i+on this file at the beginning of a script to monitor if reed-alert did Err bitreich.org 70
i+finish correctly on last run. Err bitreich.org 70
i+ Err bitreich.org 70
i+> Set the path of the file. Err bitreich.org 70
i+ :path "STRING" Err bitreich.org 70
i+ Err bitreich.org 70
i+> Set the content of the file (OPTIONAL). Err bitreich.org 70
i+ :text "STRING" (default to current time in seconds) Err bitreich.org 70
i+ Err bitreich.org 70
i+Example: `(=> alert write-to-file :path "/tmp/reed-alert.txt")` Err bitreich.org 70
i+Example: `(=> alert write-to-file :path "/tmp/reed-alert.txt" :text "hello world")` Err bitreich.org 70
i+ Err bitreich.org 70
i+ Err bitreich.org 70
i The configuration file Err bitreich.org 70
i ====================== Err bitreich.org 70
i Err bitreich.org 70
1diff --git a/example-full.lisp b/example-full.lisp /scm/reed-alert/file/example-full.lisp.gph bitreich.org 70
i@@ -19,6 +19,7 @@ Err bitreich.org 70
i ;; check if :path file exists and has been updated since :limit minutes Err bitreich.org 70
i (=> empty file-updated :path "/var/log/messages" :limit 400) Err bitreich.org 70
i (=> mail file-updated :path "/bsd.rd" :limit 1 :desc "OpenBSD kernel") ;; failure Err bitreich.org 70
i+(=> mail file-updated :path "/tmp/reed-alert.txt" :limit 10) Err bitreich.org 70
i Err bitreich.org 70
i ;; check if :path pid file process is running Err bitreich.org 70
i (=> mail pid-running :path "/var/run/xdm.pid" :desc "XDM pid") Err bitreich.org 70
i@@ -58,6 +59,9 @@ Err bitreich.org 70
i (=> mail ssl-expiration :host "freenode.net" :seconds (* 7 24 60 60)) Err bitreich.org 70
i (=> mail ssl-expiration :host "freenode.net" :seconds 1296000 :port 6697) Err bitreich.org 70
i Err bitreich.org 70
i+;; update a file modification time Err bitreich.org 70
i+(=> mail write-to-file :path "/tmp/reed-alert.txt") Err bitreich.org 70
i+ Err bitreich.org 70
i ;; we declare a new probe here Err bitreich.org 70
i (create-probe Err bitreich.org 70
i check-http-pattern Err bitreich.org 70
1diff --git a/example-simple.lisp b/example-simple.lisp /scm/reed-alert/file/example-simple.lisp.gph bitreich.org 70
i@@ -6,6 +6,7 @@ Err bitreich.org 70
i Err bitreich.org 70
i ;; this is a comment Err bitreich.org 70
i ; this is also a comment Err bitreich.org 70
i+(=> mail file-updated :path "/tmp/reed-alert" :limit 100) Err bitreich.org 70
i (=> mail disk-usage :path "/" :limit 90) Err bitreich.org 70
i Err bitreich.org 70
i (=> mail service :name "dovecot") Err bitreich.org 70
i@@ -16,3 +17,4 @@ Err bitreich.org 70
i (=> mail ping :host "bitreich.org" :desc "Ping Bitreich") Err bitreich.org 70
i (=> mail ping :host "openbsd.org" :desc "Ping OpenBSD.org") Err bitreich.org 70
i (=> mail ssl-expiration :host "freenode.net" :seconds (* 7 24 60 60) :desc "SSL IRC Freenode") Err bitreich.org 70
i+(=> mail write-to-file :path "/tmp/reed-alert") Err bitreich.org 70
1diff --git a/probes.lisp b/probes.lisp /scm/reed-alert/file/probes.lisp.gph bitreich.org 70
i@@ -140,3 +140,17 @@ Err bitreich.org 70
i "openssl x509 -inform pem -noout " Err bitreich.org 70
i (when starttls (strcat " -starttls " starttls)) Err bitreich.org 70
i " -checkend " seconds)))) Err bitreich.org 70
i+ Err bitreich.org 70
i+(create-probe Err bitreich.org 70
i+ write-to-file Err bitreich.org 70
i+ (let ((filepath (getf params :path nil)) Err bitreich.org 70
i+ (text (getf params :text Err bitreich.org 70
i+ (princ-to-string Err bitreich.org 70
i+ (get-universal-time))))) Err bitreich.org 70
i+ (when filepath Err bitreich.org 70
i+ (with-open-file Err bitreich.org 70
i+ (stream-out filepath Err bitreich.org 70
i+ :direction :output Err bitreich.org 70
i+ :if-exists :supersede) Err bitreich.org 70
i+ (format stream-out "~a~%" text)) Err bitreich.org 70
i+ t))) Err bitreich.org 70
1diff --git a/test/test.lisp b/test/test.lisp /scm/reed-alert/file/test/test.lisp.gph bitreich.org 70
i@@ -22,3 +22,6 @@ Err bitreich.org 70
i (or Err bitreich.org 70
i (=> notification disk-usage :path "/" :limit 1 :reminder 2 :desc "always error, should be followed by always ok") Err bitreich.org 70
i (=> notification disk-usage :path "/" :limit 99 :reminder 2 :desc "always OK")) Err bitreich.org 70
i+ Err bitreich.org 70
i+(=> notification write-to-file :path "/tmp/hello.txt") Err bitreich.org 70
i+(=> notification write-to-file :path "/tmp/hello2.txt" :text "hi") Err bitreich.org 70
.
Response:
text/plain