Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
I
icinga-checks
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Container registry
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
IML Open Source
icinga-checks
Commits
e68f10ce
Commit
e68f10ce
authored
1 year ago
by
Hahn Axel (hahn)
Browse files
Options
Downloads
Patches
Plain Diff
add check "httpd_status_codes"
parent
2bc13792
No related branches found
No related tags found
1 merge request
!155
add check "httpd_status_codes"
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
check_couchdb
+47
-16
47 additions, 16 deletions
check_couchdb
docs/20_Checks/check_couchdb.md
+37
-0
37 additions, 0 deletions
docs/20_Checks/check_couchdb.md
with
84 additions
and
16 deletions
check_couchdb
+
47
−
16
View file @
e68f10ce
...
...
@@ -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":'
...
...
This diff is collapsed.
Click to expand it.
docs/20_Checks/check_couchdb.md
+
37
−
0
View file @
e68f10ce
...
...
@@ -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
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment