feat: add infrastructure automation and diagnostic scripts for Zabbix, Nginx, and Authentik
This commit is contained in:
32
scripts/add_media_to_snarf.py
Normal file
32
scripts/add_media_to_snarf.py
Normal file
@@ -0,0 +1,32 @@
|
||||
import json, ssl, urllib.request
|
||||
|
||||
ctx = ssl.create_default_context()
|
||||
ctx.check_hostname = False
|
||||
ctx.verify_mode = ssl.CERT_NONE
|
||||
|
||||
ZABBIX_URL = 'http://140.44.4.60:8888/api_jsonrpc.php'
|
||||
|
||||
payload = {'jsonrpc': '2.0', 'method': 'user.login', 'params': {'username': 'Admin', 'password': 'zabbix'}, 'id': 1}
|
||||
req = urllib.request.Request(ZABBIX_URL, data=json.dumps(payload).encode(), headers={'Content-Type': 'application/json-rpc'})
|
||||
token = json.loads(urllib.request.urlopen(req, context=ctx).read())['result']
|
||||
|
||||
media_payload = {
|
||||
'jsonrpc': '2.0',
|
||||
'method': 'user.update',
|
||||
'params': {
|
||||
'userid': '3',
|
||||
'medias': [
|
||||
{
|
||||
'mediatypeid': '70',
|
||||
'sendto': 'snarf@snarfnet.net',
|
||||
'active': 0,
|
||||
'severity': 63, # 1+2+4+8+16+32
|
||||
'period': '1-7,00:00-24:00'
|
||||
}
|
||||
]
|
||||
},
|
||||
'id': 2
|
||||
}
|
||||
req = urllib.request.Request(ZABBIX_URL, data=json.dumps(media_payload).encode(), headers={'Content-Type': 'application/json-rpc', 'Authorization': f'Bearer {token}'})
|
||||
res = json.loads(urllib.request.urlopen(req, context=ctx).read())
|
||||
print("User update result:", res)
|
||||
Reference in New Issue
Block a user