mirror of
https://github.com/Icinga/icinga2.git
synced 2025-07-26 15:14:07 +02:00
parent
a4b9cf33cc
commit
90d1118cb5
@ -30,7 +30,7 @@
|
|||||||
|
|
||||||
import subprocess, json
|
import subprocess, json
|
||||||
|
|
||||||
inventory_json = subprocess.check_output(["icinga2-list-agents"])
|
inventory_json = subprocess.check_output(["icinga2-list-agents", "--batch"])
|
||||||
inventory = json.loads(inventory_json)
|
inventory = json.loads(inventory_json)
|
||||||
|
|
||||||
for host, hostinfo in inventory.items():
|
for host, hostinfo in inventory.items():
|
||||||
|
@ -31,7 +31,7 @@ cn = sys.argv[1]
|
|||||||
inventory_file = "@CMAKE_INSTALL_FULL_LOCALSTATEDIR@/lib/icinga2/agent/inventory/" + hashlib.sha256(cn).hexdigest()
|
inventory_file = "@CMAKE_INSTALL_FULL_LOCALSTATEDIR@/lib/icinga2/agent/inventory/" + hashlib.sha256(cn).hexdigest()
|
||||||
|
|
||||||
if not os.path.isfile(inventory_file):
|
if not os.path.isfile(inventory_file):
|
||||||
warning("There's no inventory file for agent '%s'.")
|
warning("There's no inventory file for agent '%s'." % (cn))
|
||||||
sys.exit(0)
|
sys.exit(0)
|
||||||
|
|
||||||
os.unlink(inventory_file)
|
os.unlink(inventory_file)
|
||||||
|
@ -16,12 +16,8 @@
|
|||||||
# along with this program; if not, write to the Free Software Foundation
|
# along with this program; if not, write to the Free Software Foundation
|
||||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
|
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
|
|
||||||
from __future__ import print_function
|
|
||||||
import sys, os, json
|
import sys, os, json
|
||||||
|
|
||||||
def warning(*objs):
|
|
||||||
print(*objs, file=sys.stderr)
|
|
||||||
|
|
||||||
inventory_dir = "@CMAKE_INSTALL_FULL_LOCALSTATEDIR@/lib/icinga2/agent/inventory/"
|
inventory_dir = "@CMAKE_INSTALL_FULL_LOCALSTATEDIR@/lib/icinga2/agent/inventory/"
|
||||||
|
|
||||||
inventory = {}
|
inventory = {}
|
||||||
@ -47,5 +43,19 @@ for root, dirs, files in os.walk(inventory_dir):
|
|||||||
except:
|
except:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
if len(sys.argv) > 1 and sys.argv[1] == "--batch":
|
||||||
json.dump(inventory, sys.stdout)
|
json.dump(inventory, sys.stdout)
|
||||||
|
else:
|
||||||
|
for host, host_info in inventory.items():
|
||||||
|
if "peer" in host_info:
|
||||||
|
peer_info = host_info["peer"]
|
||||||
|
peer_addr = " (%s:%s)" % (peer_info["agent_host"], peer_info["agent_port"])
|
||||||
|
else:
|
||||||
|
peer_addr = ""
|
||||||
|
|
||||||
|
print "* %s%s" % (host, peer_addr)
|
||||||
|
|
||||||
|
for service in host_info["services"]:
|
||||||
|
print " * %s" % (service)
|
||||||
|
|
||||||
sys.exit(0)
|
sys.exit(0)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user