git://git.onelab.eu
/
monitor.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
aremoved hard coded values to MONITOR_SCRIPT_ROOT.
[monitor.git]
/
zabbix
/
zabbixsite.py
diff --git
a/zabbix/zabbixsite.py
b/zabbix/zabbixsite.py
index
e3bcfb4
..
241e739
100755
(executable)
--- a/
zabbix/zabbixsite.py
+++ b/
zabbix/zabbixsite.py
@@
-90,6
+90,8
@@
def setup_global():
print "checking zabbix server host info"
zabbixserver = Host.get_by(host="ZABBIX Server")
if zabbixserver:
print "checking zabbix server host info"
zabbixserver = Host.get_by(host="ZABBIX Server")
if zabbixserver:
+ # TODO: verify that this works. it has failed once on fresh
+ # install... not sure why.
print "Removing default Zabbix server entry"
zabbixserver.delete()
print "Removing default Zabbix server entry"
zabbixserver.delete()
@@
-98,7
+100,7
@@
def setup_global():
# copying that the php code does during a host add.
# NOTE: Instead, reformat any *xml.in templates and import those
# during /etc/plc.d/monitor sync
# copying that the php code does during a host add.
# NOTE: Instead, reformat any *xml.in templates and import those
# during /etc/plc.d/monitor sync
- for file in glob.glob("
/usr/share/monitor/templates/*.xml.in"
):
+ for file in glob.glob("
%s/zabbix/templates/*.xml.in" config.MONITOR_SCRIPT_ROOT
):
if 'zabbix_server' in file:
buf = loadFile(file)
args = {'hostname' : config.MONITOR_HOSTNAME, 'ip' : config.MONITOR_IP}
if 'zabbix_server' in file:
buf = loadFile(file)
args = {'hostname' : config.MONITOR_HOSTNAME, 'ip' : config.MONITOR_IP}
@@
-110,7
+112,7
@@
def setup_global():
print "checking scripts"
script1 = Script.find_or_create(name="RebootNode",
set_if_new = {
print "checking scripts"
script1 = Script.find_or_create(name="RebootNode",
set_if_new = {
- 'command':"
/usr/share/monitor-server/reboot.py {HOST.CONN}"
,
+ 'command':"
%s/reboot.py {HOST.CONN}" % config.MONITOR_SCRIPT_ROOT
,
'host_access':3 # r/w)
})
script2 = Script.find_or_create(name="NMap",
'host_access':3 # r/w)
})
script2 = Script.find_or_create(name="NMap",
@@
-129,8
+131,16
@@
def setup_site(loginbase, techemail, piemail, iplist):
# TODO: remove old users that are no longer in the plcdb.
# TODO: consider creating two user groups for Tech & PI emails
# TODO: remove old users that are no longer in the plcdb.
# TODO: consider creating two user groups for Tech & PI emails
+ # NOTE: setup default valus for EMAIL
+ mailtxt.reformat({'hostname' : config.MONITOR_HOSTNAME,
+ 'support_email' : config.support_email})
+
+ # NOTE: verify arguments
+ if len(iplist) > 255:
+ raise Exception("iplist length is too long!")
+
BI_WEEKLY_ESC_PERIOD = int(60*60*24)
BI_WEEKLY_ESC_PERIOD = int(60*60*24)
- BI_WEEKLY_ESC_PERIOD = int(60) # testing...
+
#
BI_WEEKLY_ESC_PERIOD = int(60) # testing...
# User Group
site_user_group = UsrGrp.find_or_create(name=USERGROUP_NAME % loginbase)
# User Group
site_user_group = UsrGrp.find_or_create(name=USERGROUP_NAME % loginbase)
@@
-169,10
+179,7
@@
def setup_site(loginbase, techemail, piemail, iplist):
key_="system.uname", ports=10050) )
)
if dr.iprange != iplist:
key_="system.uname", ports=10050) )
)
if dr.iprange != iplist:
- if len(iplist) < 255:
- dr.iprange = iplist
- else:
- raise Exception("iplist length is too long!")
+ dr.iprange = iplist
# DISCOVERY ACTION for these servers
# DISCOVERY ACTION for these servers
@@
-228,7
+235,11
@@
def setup_site(loginbase, techemail, piemail, iplist):
]
else:
# TODO: verify iplist is up-to-date
]
else:
# TODO: verify iplist is up-to-date
- pass
+ # NOTE: len(a.actioncondition_list) > 0
+ ip_condition = a.actioncondition_list[0]
+ assert ip_condition.conditiontype == defines.CONDITION_TYPE_DHOST_IP
+ if ip_condition.value != iplist:
+ ip_condition.value = iplist
# ESCALATION ACTION for these servers
ea = Action.find_or_create(name=escalation_action_name,
# ESCALATION ACTION for these servers
ea = Action.find_or_create(name=escalation_action_name,
@@
-276,7
+287,7
@@
def setup_site(loginbase, techemail, piemail, iplist):
esc_step_from=10, esc_step_to=10,
esc_period=0,
shortdata="",
esc_step_from=10, esc_step_to=10,
esc_period=0,
shortdata="",
- longdata="%s:
/usr/share/monitor-server/checkslices.py {HOSTNAME} disablesite" % config.MONITOR_HOSTNAME
,
+ longdata="%s:
%s/checkslices.py {HOSTNAME} disablesite" % ( config.MONITOR_HOSTNAME, config.MONITOR_SCRIPT_ROOT )
,
operationcondition_list=[ OperationConditionNotAck() ]),
ActionOperation(operationtype=defines.OPERATION_TYPE_MESSAGE,
shortdata=mailtxt.nodedown_two_subject,
operationcondition_list=[ OperationConditionNotAck() ]),
ActionOperation(operationtype=defines.OPERATION_TYPE_MESSAGE,
shortdata=mailtxt.nodedown_two_subject,
@@
-300,7
+311,7
@@
def setup_site(loginbase, techemail, piemail, iplist):
esc_step_from=17, esc_step_to=17,
esc_period=0,
shortdata="",
esc_step_from=17, esc_step_to=17,
esc_period=0,
shortdata="",
- longdata="%s:
/usr/share/monitor-server/checkslices.py {HOSTNAME} disableslices" % config.MONITOR_HOSTNAME
,
+ longdata="%s:
%s/checkslices.py {HOSTNAME} disableslices" % ( config.MONITOR_HOSTNAME, config.MONITOR_SCRIPT_ROOT )
,
# TODO: send notice to users of slices
operationcondition_list=[ OperationConditionNotAck() ]),
ActionOperation(operationtype=defines.OPERATION_TYPE_MESSAGE,
# TODO: send notice to users of slices
operationcondition_list=[ OperationConditionNotAck() ]),
ActionOperation(operationtype=defines.OPERATION_TYPE_MESSAGE,
@@
-316,7
+327,7
@@
def setup_site(loginbase, techemail, piemail, iplist):
esc_step_from=21, esc_step_to=0,
esc_period=int(BI_WEEKLY_ESC_PERIOD*3.5),
shortdata="",
esc_step_from=21, esc_step_to=0,
esc_period=int(BI_WEEKLY_ESC_PERIOD*3.5),
shortdata="",
- longdata="%s:
/usr/share/monitor-server/checkslices.py {HOSTNAME} forever" % config.MONITOR_HOSTNAME
,
+ longdata="%s:
%s/checkslices.py {HOSTNAME} forever" % ( config.MONITOR_HOSTNAME, config.MONITOR_SCRIPT_ROOT)
,
operationcondition_list=[ OperationConditionNotAck() ]),
ActionOperation(operationtype=defines.OPERATION_TYPE_MESSAGE,
shortdata=mailtxt.nodedown_four_subject,
operationcondition_list=[ OperationConditionNotAck() ]),
ActionOperation(operationtype=defines.OPERATION_TYPE_MESSAGE,
shortdata=mailtxt.nodedown_four_subject,