SaveConfigs 0.8 Features: - Per Knopfdruck im neuen Host-Template wird die Konfiguration gesichert und verglichen: - automatischer Aufbau einer Telnet/SSH Verbindung zu Netzkomponenten - automatische Erkennung des Modells: Huawei, Cisco IOS/CatOS getestet. - Absetzung der korrekten Befehle zur Anzeige der Running-Config (oder beliebig anderer Informationen, die erwünscht sind) - Vergleich der neuen Konfiguration mit bereits gesicherter Konfiguration - und Archivierung der alten Config - Das Ganze auch als Cronjob für alle (bis auf 127.0.0.1) hinterlegten Hosts aus der Datenbank durchführbar. - Misc: IP-Adresse als Telnetlink zur Netzkomponente verfuegbar I. Installation für die Weboberfläche: (Alle folgenden Befehlsbeispiele sind auf Ubuntu zugeschnitten) 1. Pakete "nmap" und "expect" nachinstallieren: sudo apt-get install nmap expect 2a. Dateien kopieren: "saveconfigs.sh" und "commands.exp" nach /usr/local/icinga/cgi-bin/ kopieren Rechte anpassen, damit der Webuser diese Dateien ausfuehren darf. Ggf. Ausfuehrung von *.sh Dateien in der entsprechenden Webserver-Konfigurationsdatei erlauben. 2b. Logincredentials in "saveconfigs.sh" anpassen 3. Ordner /tftpboot erstellen und für alle Benutzer freigeben?! Hier werden die Konfigurationen später gesichert und auch archiviert. 4. Erstellen einer neuen Grid Ansicht: "icinga-my-host-template.xml" kopieren nach /usr/local/icinga-web/app/modules/Cronks/data/xml/grid/ 5. Anlegen einer neuen Grid-Ansicht im "Data" Cronk-Container: Editieren von cronks.xml im Unterverzeichnis /usr/local/icinga-web/app/modules/Cronks/config/ und hinzufügen von: Cronks System.ViewProc false Saving Configuration SaveConfig data icinga-my-host-template 6. Cache leeren und Services neustarten (folgendes Beispiel unter Ubuntu): sudo service icinga restart sudo service apache2 restart sudo rm -rf /usr/local/icinga-web/app/cache/config/*.php II. Installation des Cronjobs: 1. Zugriff auf die Datenbank in "CRONsaveconfigs.sh" anpassen 2. Cronjob einrichten, welcher die "Cronsaveconfigs.sh" Datei ausführt: sudo vi /etc/crontab oder crontab -e * * * * * - - - - - ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ +---- Wochentag (0-7) (Sonntag =0 oder =7) ¦ ¦ ¦ +------ Monat (1-12) ¦ ¦ +-------- Tag (1-31) ¦ +---------- Stunde (0-23) +------------ Minute (0-59) //// Beispiele // Täglich 0 Uhr: 0 0 * * * ./CRONsaveconfigs.sh >/dev/null 2>&1 // Sonntags um 23:59 Uhr: 59 23 * * 0 ./CRONsaveconfigs.sh >/dev/null 2>&1 // Am 1. jeden Monats um 1:00 Uhr: 0 1 1 * * ./CRONsaveconfigs.sh >/dev/null 2>&1 TODO: - Code vereinfachen - Weitere Netzkomponenten in "commands.exp" hinzufügen (Enterasys, Nortel, Extreme, ...) und testen - In "saveconfigs.sh" den eigentlichen Konfigurationsausschnitt besser erkennen