1 import os, sys, time, string
2 from optparse import OptionParser
11 self.url="https://localhost:443/PLCAPI/"
12 self.server=xmlrpclib.Server(self.url,allow_none=True)
13 self.path="/etc/nagios/config-sample/"
14 self.path1="/etc/nagios/"
16 def create_hostgroup(self, file, nodes_infos):
23 site_name=nodes_infos[0]['Site_name']##initialize the first site name
26 if(i<len(nodes_infos) and site_name==nodes_infos[i]['Site_name']):
27 memberhost=memberhost+nodes_infos[i]['node_hostname']+","
29 elif (i<len(nodes_infos) and site_name!=nodes_infos[i]['Site_name']):
30 alias.append(site_name)
31 list.append(memberhost)
33 memberhost=memberhost+nodes_infos[i]['node_hostname']+","
34 site_name=nodes_infos[i]['Site_name']
35 alias.append(site_name)
38 elif (i>=len(nodes_infos)):
39 alias.append(site_name)
40 list.append(memberhost)
46 while (j < len(list)):
47 f1.write("\ndefine hostgroup { \n")
48 f1.write("hostgroup_name "+str(j)+"\n")
49 f1.write("alias %s\n"%alias[j])
50 f1.write("members %s\n } \n"%list[j])
54 def generate_file(self,sample_file, file,login,nodes_infos):
56 f1=open(self.path+sample_file,"rb")
57 f2=open(self.path1+file,"wb")
62 self.create_host(self.path1+file,nodes_infos)
64 self.create_service(self.path1+file,nodes_infos)
66 self.create_hostgroup(self.path1+file, nodes_infos)
70 def create_host(self,file,nodes_infos):
73 while (i<len(nodes_infos)):
74 f1.write("\n define host { \n")
75 f1.write("host_name %s\n"%nodes_infos[i]['node_hostname'])
76 f1.write("use linux-server\n")
77 f1.write("alias %s\n"%nodes_infos[i]['node_hostname'])
78 f1.write("address %s\n } \n"%nodes_infos[i]['node_ip'])
83 def create_service(self,file,nodes_infos):
86 f2=open("ServiceName","r")
87 while (i<len(nodes_infos)):
94 f1.write("\ndefine service { \n")
95 f1.write("host_name %s\n"%nodes_infos[i]['node_hostname'])
96 f1.write("use remote-service\n")
97 f1.write("service_description %s\n"%service)
98 f1.write("check_command %s!%s \n } \n"%(service,nodes_infos[i]['node_hostname']))