Compare commits

..

6 Commits

Author SHA1 Message Date
Markus Opolka
027af5f3f5
Merge pull request #104 from drewkerrigan/fix/multiple-flags
Fix the use of multiple similar CLI flags
2025-06-06 12:21:22 +02:00
Markus Opolka
6eef16b85b Fix the use of multiple similar CLI flags 2025-06-06 12:17:51 +02:00
Markus Opolka
ccf05d469a
Merge pull request #101 from drewkerrigan/bump-ci
Bump GH Actions
2025-04-11 15:53:39 +02:00
Markus Opolka
115acc06fd Bump GH Actions 2025-04-11 15:52:16 +02:00
Markus Opolka
164632faa5 Bump dev requirements 2025-04-11 15:51:07 +02:00
Markus Opolka
039cb0adb6 Update example configuration 2025-04-11 15:45:06 +02:00
5 changed files with 50 additions and 16 deletions

View File

@ -1,6 +1,11 @@
name: CI
on: [push, pull_request]
on:
push:
branches: [main, master]
tags:
- v*
pull_request:
jobs:
gitHubActionForPytest:
@ -11,7 +16,7 @@ jobs:
name: GitHub Action
steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v4
- name: Install dependencies
run: |
python -m pip install -r requirements-dev.txt

View File

@ -8,7 +8,7 @@ This is a generic plugin for Nagios which checks json values from a given HTTP e
Requirements:
* Python 3.6+
* Python 3.8+
### Nagios

View File

@ -551,19 +551,21 @@ def parseArgs(args):
parser.add_argument('-e', '--key_exists', dest='key_list', nargs='*',
help='''Checks existence of these keys to determine
status. Return warning if key is not present.''')
parser.add_argument('-E', '--key_exists_critical',
dest='key_list_critical',
parser.add_argument('-E', '--key_exists_critical', dest='key_list_critical',
nargs='*',
help='''Same as -e but return critical if key is
not present.''')
parser.add_argument('-q', '--key_equals', dest='key_value_list', nargs='*',
parser.add_argument('-q', '--key_equals', dest='key_value_list',
action='extend',
nargs='*',
help='''Checks equality of these keys and values
(key[>alias],value key2,value2) to determine status.
Multiple key values can be delimited with colon
(key,value1:value2). Return warning if equality
check fails''')
parser.add_argument('-Q', '--key_equals_critical',
dest='key_value_list_critical', nargs='*',
parser.add_argument('-Q', '--key_equals_critical', dest='key_value_list_critical',
action='extend',
nargs='*',
help='''Same as -q but return critical if
equality check fails.''')
parser.add_argument('--key_time', dest='key_time_list', nargs='*',
@ -571,7 +573,7 @@ def parseArgs(args):
(key[>alias],value key2,value2) to determine status.
Multiple key values can be delimited with colon
(key,value1:value2). Return warning if the key is older
than the value (ex.: 30s,10m,2h,3d,...).
than the value (ex.: 30s,10m,2h,3d,...).
With at it return warning if the key is jounger
than the value (ex.: @30s,@10m,@2h,@3d,...).
With Minus you can shift the time in the future.''')
@ -594,7 +596,9 @@ def parseArgs(args):
dest='key_value_list_not_critical', nargs='*',
help='''Same as -q but return critical if equality
check succeeds.''')
parser.add_argument('-m', '--key_metric', dest='metric_list', nargs='*',
parser.add_argument('-m', '--key_metric', dest='metric_list',
action='extend',
nargs='*',
help='''Gathers the values of these keys (key[>alias],
UnitOfMeasure,WarnRange,CriticalRange,Min,Max) for
Nagios performance data. More information about Range

View File

@ -1,4 +1,6 @@
object CheckCommand "http_json" {
// Example configuration for Icinga
import "plugin-check-command"
command = [ PluginDir + "/check_http_json.py" ]
@ -53,6 +55,13 @@ object CheckCommand "http_json" {
value = "$http_json_headers$"
description = "additional http headers in JSON format to send with the request"
}
"--unreachable-state" = {
value = "$http_json_unreachable_state$"
description = "Exit with specified code when the URL is unreachable."
}
"--invalid-json-state" = {
value = "$http_json_invalid_json_state$"
description = "Exit with specified code when no valid JSON is returned."
"--field_separator" = {
value = "$http_json_field_separator$"
description = "JSON Field separator, defaults to '.'; Select element in an array with '(' ')'"
@ -64,46 +73,62 @@ object CheckCommand "http_json" {
"--warning" = {
value = "$http_json_warning$"
description = "Warning threshold for these values, WarningRange is in the format [@]start:end"
repeat_key = true
}
"--critical" = {
value = "$http_json_critical$"
description = "Critical threshold for these values, CriticalRange is in the format [@]start:end"
repeat_key = true
}
"--key_exists" = {
value = "$http_json_key_exists$"
description = "Checks existence of these keys to determine status. Return warning if key is not present."
repeat_key = true
}
"--key_exists_critical" = {
value = "$http_json_key_exists_critical$"
description = "Checks existence of these keys to determine status. Return critical if key is not present."
repeat_key = true
}
"--key_equals" = {
value = "$http_json_key_equals$"
description = "Checks equality of these keys and values. Return warning if equality check fails"
repeat_key = true
}
"--key_equals_critical" = {
value = "$http_json_key_equals_critical$"
description = "Checks equality of these keys and values. Return critical if equality check fails"
repeat_key = true
}
"--key_equals_unknown" = {
value = "$http_json_key_equals_unknown$"
description = "Checks equality of these keys and values. Return unknown if equality check fails"
}
"--unreachable-state" = {
value = "$http_json_unreachable_state$"
description = "Exit with specified code if URL unreachable. Examples: 1 for Warning, 2 for Critical, 3 for Unknown (default: 3)"
repeat_key = true
}
"--key_not_equals" = {
value = "$http_json_key_not_equals$"
description = "Checks equality of these keys and values (key[>alias],value key2,value2) to determine status. Multiple key values can be delimited with colon (key,value1:value2). Return warning if equality check succeeds."
repeat_key = true
}
"--key_not_equals_critical" = {
value = "$http_json_key_not_equals_critical$"
description = "Checks equality of these keys and values (key[>alias],value key2,value2) to determine status. Multiple key values can be delimited with colon (key,value1:value2). Return critical if equality check succeeds."
repeat_key = true
}
"--key_metric" = {
value = "$http_json_key_metric$"
description = "Gathers the values of these keys"
repeat_key = true
}
"--key_time" = {
value = "$http_json_key_time$"
description = " Checks a Timestamp of these keys and values (key[>alias],value key2,value2) to determine status."
repeat_key = true
}
"--key_time_critical" = {
value = "$http_json_key_time_critical$"
description = "Same as --key_time but return critical if Timestamp age fails."
repeat_key = true
}
}
}

View File

@ -1,2 +1,2 @@
coverage==6.5.0
pylint==2.17.7
coverage==7.8.0
pylint==3.3.6