Skip to content
Snippets Groups Projects
Commit e68f10ce authored by Hahn Axel (hahn)'s avatar Hahn Axel (hahn)
Browse files

add check "httpd_status_codes"

parent 2bc13792
No related branches found
No related tags found
1 merge request!155add check "httpd_status_codes"
......@@ -20,11 +20,12 @@
# 2023-08-28 v0.5 <axel.hahn@unibe.ch> add checks "open_databases" + "open_os_files"
# 2023-08-28 v0.6 <axel.hahn@unibe.ch> add check "httpd_methods"
# 2023-08-29 v0.7 <axel.hahn@unibe.ch> add check "httpd"
# 2023-08-29 v0.8 <axel.hahn@unibe.ch> add check "httpd_status_codes"
# ======================================================================
. $(dirname $0)/inc_pluginfunctions
export self_APPVERSION=0.7
export self_APPVERSION=0.8
cfgfile=/etc/icingaclient/.couchdb
export RESPONSE
......@@ -45,21 +46,22 @@ SYNTAX:
$_self [-h] [-t FILE] -m MODE
OPTIONS:
-h or --help show this help.
-c CFGFILE set a custom config file
default: /etc/icingaclient/.couchdb
-m MODE test a value; for debugging purposes the full json
response will be shown
-h or --help show this help.
-c CFGFILE set a custom config file
default: /etc/icingaclient/.couchdb
-m MODE test a value; for debugging purposes the full json
response will be shown
MODE is one of
httpd Show counters for http request types
httpd_methods Show counters for http request methods
open_databases show number of open databases
open_os_files show number of file descriptors CouchDB has open
replication show last replication status
pending show count of pending updates for nodes, dbs and users
replication show last replication status
up show general couchdb health status
httpd Show counters for http request types
httpd_methods Show counters for http request methods
httpd_status_codes Show counters per http status code
open_databases show number of open databases
open_os_files show number of file descriptors CouchDB has open
replication show last replication status
pending show count of pending updates for nodes, dbs and users
replication show last replication status
up show general couchdb health status
EXAMPLE:
$_self -m up
......@@ -146,7 +148,7 @@ case "${sMode}" in
for myVar in $( grep "[a-z\_]" <<< "$_status" | cut -f 1 -d ':' )
do
_iValue=$( grep "^${myVar}:" <<< "$_status" | cut -f 2 -d ':' )
_label="couchdb-${myVar//_/-}" # underscrore to minus
_label="couchdb-hp-${myVar//_/-}" # underscrore to minus
_iDelta=$( ph.perfdeltaspeed "${_label}" $_iValue )
printf "%30s %10s %10s per sec\n" "$myVar" $_iValue $_iDelta
ph.perfadd "${myVar}" "$_iDelta" "" ""
......@@ -174,7 +176,8 @@ case "${sMode}" in
for myVar in $( grep "[A-Z]" <<< "$_status" | cut -f 1 -d ':' )
do
_iValue=$( grep "$myVar" <<< "$_status" | cut -f 2 -d ':' )
_iDelta=$( ph.perfdeltaspeed "couchdb-method-${myVar}" $_iValue)
_label="couchdb-hm-${myVar//_/-}" # underscrore to minus
_iDelta=$( ph.perfdeltaspeed "${_label}" $_iValue)
printf "%10s %10s %10s per sec\n" "$myVar" $_iValue $_iDelta
ph.perfadd "${myVar}" "$_iDelta" "" ""
done
......@@ -182,6 +185,34 @@ case "${sMode}" in
# echo "${_status}" | jq
;;
# ............................................................
"httpd_status_codes")
REQ=/_node/_local/_stats/couchdb/httpd_status_codes
abortOnWrongResponse "${REQ}" '"value":'
typeset -i _iValue
typeset -i _iDelta
_status=$( jq 'with_entries(.value |= .value)' <<< "${RESPONSE}" | sed 's#[", ]##g' | grep '^[1-9]' )
# this returns:
# 200:199460
# 201:0
# 202:0
# 204:0
# ...
ph.status "Couchdb :: Http status codes"
printf "%10s %10s %10s\n" "Status" "Counter" "Delta" | tr ' ' '_'
for myVar in $( grep "[1-9]" <<< "$_status" | cut -f 1 -d ':' )
do
_iValue=$( grep "$myVar" <<< "$_status" | cut -f 2 -d ':' )
_label="couchdb-hs-${myVar//_/-}" # underscrore to minus
_iDelta=$( ph.perfdeltaspeed "${_label}" $_iValue)
printf "%10s %10s %10s per sec\n" "$myVar" $_iValue $_iDelta
ph.perfadd "http${myVar}" "$_iDelta" "" ""
done
;;
# ............................................................
"open_databases"|"open_os_files")
REQ=/_node/_local/_stats/couchdb/${sMode}
abortOnWrongResponse "${REQ}" '"value":'
......
......@@ -160,6 +160,43 @@ ____Method____Counter______Delta
|copy=0;; delete=0;; get=1;; head=0;; options=0;; post=0;; put=0;;
```
### httpd_status_codes
Show counters per http status code.
All values are taken from ``/_node/_local/_stats/couchdb/httpd_status_codes``
``check_couchdb -m httpd_status_codes`` returns
```txt
OK: Couchdb :: Http status codes
____Status____Counter______Delta
200 199970 1 per sec
201 0 0 per sec
202 0 0 per sec
204 0 0 per sec
206 0 0 per sec
301 0 0 per sec
302 0 0 per sec
304 0 0 per sec
400 0 0 per sec
401 2 0 per sec
403 0 0 per sec
404 9 0 per sec
405 0 0 per sec
406 0 0 per sec
409 0 0 per sec
412 0 0 per sec
413 0 0 per sec
414 0 0 per sec
415 0 0 per sec
416 0 0 per sec
417 0 0 per sec
500 0 0 per sec
501 0 0 per sec
503 0 0 per sec
|http200=1;; http201=0;; http202=0;; http204=0;; http206=0;; http301=0;; http302=0;; http304=0;; http400=0;; http401=0;; http403=0;; http404=0;; http405=0;; http406=0;; http409=0;; http412=0;; http413=0;; http414=0;; http415=0;; http416=0;; http417=0;; http500=0;; http501=0;; http503=0;;
```
### open_databases
Show number of open databases
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment