bundles/sshmon: import from work repository
This commit is contained in:
parent
eaf268aea9
commit
c7362df6c4
12 changed files with 773 additions and 0 deletions
80
bundles/sshmon/files/check_http_wget
Normal file
80
bundles/sshmon/files/check_http_wget
Normal file
|
@ -0,0 +1,80 @@
|
|||
#!/usr/bin/env python3
|
||||
|
||||
#this is actually a python https requests query, its called check_http_wget cause it got replaced
|
||||
|
||||
from sys import exit
|
||||
from argparse import ArgumentParser
|
||||
|
||||
import requests
|
||||
|
||||
OK = 0
|
||||
CRITICAL = 2
|
||||
|
||||
parser = ArgumentParser()
|
||||
parser.add_argument(
|
||||
'--url',
|
||||
required=True,
|
||||
)
|
||||
parser.add_argument(
|
||||
'--check-string',
|
||||
)
|
||||
parser.add_argument(
|
||||
'--no-follow-redirects',
|
||||
action='store_true',
|
||||
)
|
||||
parser.add_argument(
|
||||
'--timeout',
|
||||
default=15,
|
||||
type=int,
|
||||
)
|
||||
parser.add_argument(
|
||||
'--useragent',
|
||||
)
|
||||
parser.add_argument(
|
||||
'--proxy_url',
|
||||
)
|
||||
|
||||
parser.add_argument('--no-verify-ssl', dest='verify_ssl', action='store_false')
|
||||
parser.set_defaults(verify_ssl=True)
|
||||
|
||||
if __name__ == '__main__':
|
||||
parsed_args = parser.parse_args()
|
||||
requests_kwargs = {
|
||||
'timeout': parsed_args.timeout,
|
||||
}
|
||||
|
||||
if parsed_args.useragent:
|
||||
requests_kwargs['headers'] = {
|
||||
'User-Agent': parsed_args.useragent,
|
||||
}
|
||||
if parsed_args.proxy_url:
|
||||
requests_kwargs['proxies'] = {
|
||||
'http': parsed_args.proxy_url,
|
||||
'https': parsed_args.proxy_url,
|
||||
}
|
||||
|
||||
if not parsed_args.verify_ssl:
|
||||
requests_kwargs['verify'] = False
|
||||
requests.packages.urllib3.disable_warnings()
|
||||
|
||||
if parsed_args.no_follow_redirects:
|
||||
requests_kwargs['allow_redirects'] = False
|
||||
|
||||
try:
|
||||
r = requests.get(parsed_args.url, **requests_kwargs)
|
||||
except Exception as e:
|
||||
print(e)
|
||||
exit(CRITICAL)
|
||||
|
||||
if parsed_args.check_string:
|
||||
if not parsed_args.check_string in r.text:
|
||||
print("String '{}' not found on URL '{}'".format(parsed_args.check_string, parsed_args.url))
|
||||
exit(CRITICAL)
|
||||
else:
|
||||
try:
|
||||
r.raise_for_status()
|
||||
except Exception as e:
|
||||
print("Error: {}".format(repr(e)))
|
||||
exit(CRITICAL)
|
||||
print('OK')
|
||||
exit(OK)
|
Loading…
Add table
Add a link
Reference in a new issue