]> granicus.if.org Git - icinga2/commitdiff
Update auto-discovery scripts.
authorGunnar Beutner <gunnar.beutner@netways.de>
Fri, 28 Mar 2014 22:14:37 +0000 (23:14 +0100)
committerGunnar Beutner <gunnar.beutner@netways.de>
Fri, 28 Mar 2014 22:15:50 +0000 (23:15 +0100)
Refs #5878

contrib/discover-snmp.py
contrib/discover.py

index ca0820188882087c5cfd7756118c7fdcbe40eb6b..a7dec81fe72300386aa163269740c44c02ba87d2 100755 (executable)
@@ -48,14 +48,15 @@ for line in out.split("\n"):
     plugin = "".join([chr(int(ch)) for ch in plugin])
     plugins.append(plugin)
 
-print("template Host \"snmp-extend:%s\" {" % (ipaddr))
-print("  macros[\"community\"] = \"%s\"," % (community))
 for plugin in plugins:
-    print("  services[\"%s\"] = {" % (plugin))
-    print("    templates = [ \"snmp-extend-service\" ],")
-    print("    check_command = \"snmp-extend\",")
-    print("    macros[\"plugin\"] = \"%s\"" % (plugin))
-    print("  },")
-print("}")
+    print("apply Service \"%s\" {" % (plugin))
+    print("  import \"snmp-extend-service\",")
+    print()
+    print("  check_command = \"snmp-extend\",")
+    print("  macros[\"community\"] = \"%s\"," % (community))
+    print()
+    print("  assign where host.macros.address == \"%s\"" % (ipaddr))
+    print("}")
+    print()
 
 sys.exit(0)
index ddbdaf3ec2cbd621030f95b778969375286d1c21..a24d35f41ca06f60653bbab4444ada376f39debd 100755 (executable)
@@ -106,21 +106,22 @@ def process_host(host_element):
     hosts[name] = { "name": name, "address": address, "services": services }
 
 def print_host(host):
-    print "object Host \"%s\" inherits \"discovered-host\" {" % (host["name"])
-    print "\tmacros[\"address\"] = \"%s\"," % (host["address"])
+    print "object Host \"%s\" {" % (host["name"])
+    print "\timport \"discovered-host\","
+    print ""
+    print "\tmacros.address = \"%s\"," % (host["address"])
+    print "}"
+    print ""
 
     for serv, service in host["services"].iteritems():
+        print "apply Service \"%s\" {" % (serv)
+        print "\timport \"discovered-service\","
         print ""
-        print "\tservices[\"%s\"] = {" % (serv)
-        print "\t\ttemplates = [ \"discovered-service\" ],"
+        print "\tcheck_command = \"%s\"," % (service["command"])
         print ""
-        print "\t\tcheck_command = \"%s\"," % (service["command"])
+        print "\tmacros.port = %s" % (service["port"])
+        print "}"
         print ""
-        print "\t\tmacros[\"port\"] = %s" % (service["port"])
-        print "\t},"
-
-    print "}"
-    print ""
 
 for arg in sys.argv[1:]:
     # Expects XML output from 'nmap -oX'