Als ich das Seminar "Fully Automatic Zabbix" auf der OSC2015 in Tokio / Frühjahr hörte, dauerte es lange, bis NetArc Discovery in einem breiten Spektrum registriert war. Daher hörte ich, dass es besser ist, sich separat zu registrieren ... Aber "Es ist mühsam, die Reichweite zu berechnen und zu teilen" ... Nachdem ich Python studiert hatte, dachte ich über die Logik nach, / 22 oder / 23 durch Angabe des IP-Bereichs in 24 Einheiten zu unterteilen.
Es ist die Logik, die IP zu teilen. Da dies ein Logiktest ist, sind Variablennamen angemessen. (Ausrede) Es ist chaotisch-A (^ _ ^;
import sys
io = sys.argv[1]
tmp = io.split("/")
ip = tmp[0]
prefix = tmp[1]
tmp = ip.split(".")
o1 = tmp[0]
o2 = tmp[1]
o3 = tmp[2]
o4 = tmp[3]
sum = (int(o1) << 24 | int(o2) << 16 | int(o3) << 8 | int(o4) ) & 0xFFFFFF00
sum = sum >> (32-int(prefix))
sum = sum << (32-int(prefix))
for i in range(0, 2 << (24 - int(prefix) - 1)):
a = sum | i<<8
o1 = (a & 0xFF000000) >> 24
o2 = (a & 0x00FF0000) >> 16
o3 = (a & 0x0000FF00) >> 8
o4 = 0
a = str(o1) + "." + str(o2) + "." + str(o3) + "." + str(o4) + "/24"
print a
Ausführungsergebnis
Python unter Windows ... A (^ _ ^;
Danach können Sie die geteilte IP mit der Zabbix API registrieren ...
Das Ausführen der Zabbix-API in Python ist mit dem folgenden Artikel einfach. [Berühren Sie die ZABBIX-API mit Pyhton](http://www.zumwalt.info/blog/2012/11/pyhton%E3%81%A7zabbix-api%E3%82%92%E8%A7%A6%E3 % 81% A3% E3% 81% A6% E3% 81% BF% E3% 82% 8B /)
Wie im Artikel erwähnt, habe ich zuerst auch Pycurl verwendet, aber auf urllib2 umgestellt. A (^ _ ^;
Bei Verwendung der Zabbix-API in Python ist es praktisch, xxx.json für die Anforderung zu erstellen. Wenn Sie die Datei mit json.load lesen, die Authentifizierung von Parametern durch verschiedene Parameter ersetzen und auslösen, müssen Sie nicht alle Anforderungen im Programm als Entschuldigung schreiben, was praktisch ist.
Recommended Posts