iAdd ssl-expiration probe to check if a ssl certificate is about to expire under a specified time. - 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 c1bb305f9dd246538db890519a70394b4b7c6d1b /scm/reed-alert/commit/c1bb305f9dd246538db890519a70394b4b7c6d1b.gph bitreich.org 70
1parent 72d28cf74b8fd6ff4c21e0f609ab87bd54ec3f14 /scm/reed-alert/commit/72d28cf74b8fd6ff4c21e0f609ab87bd54ec3f14.gph bitreich.org 70
hAuthor: Solene Rapenne <solene@perso.pw> URL:mailto:solene@perso.pw bitreich.org 70
iDate: Sat, 20 Oct 2018 20:28:20 +0200 Err bitreich.org 70
i Err bitreich.org 70
iAdd ssl-expiration probe to check if a ssl certificate is about to Err bitreich.org 70
iexpire under a specified time. Err bitreich.org 70
i Err bitreich.org 70
iContribution from Denis Fondras Err bitreich.org 70
i Err bitreich.org 70
iDiffstat: Err bitreich.org 70
i M README | 25 ++++++++++++++++++++++++- Err bitreich.org 70
i M example-full.lisp | 5 +++++ Err bitreich.org 70
i M probes.lisp | 12 ++++++++++++ Err bitreich.org 70
i Err bitreich.org 70
i3 files changed, 41 insertions(+), 1 deletion(-) 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@@ -294,6 +294,7 @@ This may be the most useful probe because it let the user do any check needed. Err bitreich.org 70
i Err bitreich.org 70
i Example : `(=> alert command :command "tail -n 10 /var/log/messages | grep -v CRITICAL")` Err bitreich.org 70
i Err bitreich.org 70
i+ Err bitreich.org 70
i service Err bitreich.org 70
i ------- Err bitreich.org 70
i Check if a service is started on the system. Err bitreich.org 70
i@@ -303,6 +304,7 @@ Check if a service is started on the system. Err bitreich.org 70
i Err bitreich.org 70
i Example : `(=> alert service :name "mysql-server")` Err bitreich.org 70
i Err bitreich.org 70
i+ Err bitreich.org 70
i file-less-than Err bitreich.org 70
i -------------- Err bitreich.org 70
i Check if a file has a size less than a specified limit. Err bitreich.org 70
i@@ -315,9 +317,11 @@ Check if a file has a size less than a specified limit. Err bitreich.org 70
i Err bitreich.org 70
i Example : `(=> alert file-less-than :path "/var/log/nginx.log" :limit 60)` Err bitreich.org 70
i Err bitreich.org 70
i+ Err bitreich.org 70
i curl-http-status Err bitreich.org 70
i ---------------- Err bitreich.org 70
i-Do a HTTP request and return an error if the return code isn't 200. Requires curl. Err bitreich.org 70
i+Do a HTTP request and return an error if the return code isn't Err bitreich.org 70
i+200. Requires curl. Err bitreich.org 70
i Err bitreich.org 70
i > Set the url to request. Err bitreich.org 70
i :url "STRING" Err bitreich.org 70
i@@ -325,6 +329,25 @@ Do a HTTP request and return an error if the return code isn't 200. Requires cur Err bitreich.org 70
i > Set the time to wait before aborting. Err bitreich.org 70
i :timeout INTEGER Err bitreich.org 70
i Err bitreich.org 70
i+ Err bitreich.org 70
i+ssl-expiration Err bitreich.org 70
i+-------------------- Err bitreich.org 70
i+Check if a remote SSL certificate expires in less than a specified Err bitreich.org 70
i+time. Requires openssl. Err bitreich.org 70
i+ Err bitreich.org 70
i+> Set the hostname for the request. Err bitreich.org 70
i+ :host "STRING" Err bitreich.org 70
i+ Err bitreich.org 70
i+> Set the expiration time limit in seconds. Err bitreich.org 70
i+ :seconds INTEGER Err bitreich.org 70
i+ Err bitreich.org 70
i+> Set the port for the request (OPTIONAL). Err bitreich.org 70
i+ :port INTEGER (default to 443) Err bitreich.org 70
i+ Err bitreich.org 70
i+Example : `(=> alert ssl-expiration :host "domain.local" :seconds (* 7 24 60 60)) Err bitreich.org 70
i+Example : `(=> alert ssl-expiration :host "domain.local" :seconds 86400 :port 6697) 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@@ -55,6 +55,11 @@ Err bitreich.org 70
i ;; check if web page :url answer under :limit Err bitreich.org 70
i (=> empty command :command "curl -m 10 http://google.fr/";) Err bitreich.org 70
i Err bitreich.org 70
i+;; check if a certificate is still valid within a time range Err bitreich.org 70
i+(=> mail ssl-expiration :host "google.fr" :seconds 1296000) 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 ;; 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/probes.lisp b/probes.lisp /scm/reed-alert/file/probes.lisp.gph bitreich.org 70
i@@ -120,3 +120,15 @@ Err bitreich.org 70
i (list "curl" "-f" Err bitreich.org 70
i (format nil "-m~a" (getf params :timeout 5)) Err bitreich.org 70
i (getf params :url)))) Err bitreich.org 70
i+ Err bitreich.org 70
i+(create-probe Err bitreich.org 70
i+ ssl-expiration Err bitreich.org 70
i+ (command-return-code Err bitreich.org 70
i+ (concatenate 'string Err bitreich.org 70
i+ "echo | openssl s_client -showcerts -servername " Err bitreich.org 70
i+ (getf params :host) " -connect " Err bitreich.org 70
i+ (getf params :host) ":" (princ-to-string Err bitreich.org 70
i+ (getf params :port 443)) Err bitreich.org 70
i+ " 2>/dev/null | openssl x509 -inform pem -noout -checkend " Err bitreich.org 70
i+ (princ-to-string Err bitreich.org 70
i+ (getf params :seconds))))) Err bitreich.org 70
.
Response:
text/plain