21 lines
1.1 KiB
Python
21 lines
1.1 KiB
Python
import json, ssl, urllib.request
|
|
|
|
ctx = ssl.create_default_context()
|
|
ctx.check_hostname = False
|
|
ctx.verify_mode = ssl.CERT_NONE
|
|
|
|
payload = {'jsonrpc': '2.0', 'method': 'user.login', 'params': {'username': 'Admin', 'password': 'zabbix'}, 'id': 1}
|
|
req = urllib.request.Request('http://140.44.4.60:8888/api_jsonrpc.php', data=json.dumps(payload).encode('utf-8'), headers={'Content-Type': 'application/json-rpc'}, method='POST')
|
|
with urllib.request.urlopen(req, timeout=10, context=ctx) as r:
|
|
token = json.loads(r.read().decode())['result']
|
|
|
|
payload = {'jsonrpc': '2.0', 'method': 'problem.get', 'params': {'output': ['eventid', 'name', 'severity', 'clock']}, 'id': 2}
|
|
req = urllib.request.Request('http://140.44.4.60:8888/api_jsonrpc.php', data=json.dumps(payload).encode('utf-8'), headers={'Content-Type': 'application/json-rpc', 'Authorization': f'Bearer {token}'}, method='POST')
|
|
with urllib.request.urlopen(req, timeout=10, context=ctx) as r:
|
|
problems = json.loads(r.read().decode())['result']
|
|
|
|
print(f"Total Active Problems in Zabbix: {len(problems)}")
|
|
for p in problems:
|
|
print(f" - [Severity {p['severity']}] {p['name']}")
|
|
|