Automation Engine für UNIX installieren
Hier finden Sie eine Anleitung für die Neuinstallation einer Automation Engine für UNIX.
Da die Automation Engine für UNIX für verschiedenen Plattformen verfügbar ist, wurde für jede unterstützte UNIX-Plattform ein dreistelliges Kürzel vergeben. Die Kürzel entsprechen denen der Agenten und sind in der Terminologie beschrieben. In diesem Dokument wird das relevante Kürzel durch die Zeichen "???" ersetzt. Hier wird die Installation der Automation Engine sowohl mit einer Oracle-Datenbank, als auch mit einer DB2-Datenbank beschrieben. Auf die jeweiligen Unterschiede wird in den einzelnen Arbeitsschritten eingegangen.
Installieren Sie die Automation Engine unbedingt in ein eigenes Verzeichnis (z.B: /opt/uc4/server).
Voraussetzungen
Allgemein:
- root-Berechtigung während der Installation. Nicht erforderlich für den Betrieb der Automation Engine.
- Nach der Installation ist kein Reboot des UNIX-Systems erforderlich.
- Eigene UNIX-Benutzerkennung für die Automation Engine (Default: uc4, Home = /opt/uc4/, Shell: ksh). Die Shell ist nur während der Installation notwendig.
- Für Solaris: Aktuellstes Patch-Cluster für Sun OS.
-
Beachten Sie, dass sich die Datei syntax.bin unbedingt im selben Verzeichnis wie die INI-Datei befinden muss!
-
Beachten Sie unbedingt den Hinweis zu Prozessen auf AIX!
-
Beachten Sie, dass auf AIX die Größe für Core-Dateien erweitert werden muss!
Voraussetzungen bei Verwendung einer Oracle-Datenbank:
- Funktionsfähige Oracle-Installation (sqlplus-Zugriff auf Datenbank muss möglich sein).
- Benutzer-ID für die Oracle-Datenbank
Bei Verwendung einer DB2-Datenbank:
- Funktionstüchtige DB2-Installation
- Benutzer-ID für die DB2-Datenbank
- Berechtigungen prüfen oder zuweisen:
Control Center öffnen und rechten Host auswählen. Datenbank für AE auswählen und auf "Benutzer und Gruppen-Objekte" klicken. Durch Auswählen von "Benutzer" werden alle Benutzer im Fenster auf der rechten Seite angezeigt. Mit dem Kontextmenü das Berechtigungsfenster des gewünschten Benutzers öffnen.
In der Registerkarte Datenbank sollten mindestens folgende Optionen aktiviert sein:
- Datenbank verbinden
- Tabellen erstellen
- Pakete erstellen
- Schemata implizit erstellen.
- Die LANG-Variable des Benutzers, unter dem die Automation Engine gestartet wird, sollte mit der Variablen DB2CODEPAGE ident sein, um Probleme beim Serverstart zu vermeiden.
Ausgelieferte Dateien
Daten für Automation Engine für UNIX werden in komprimierter Form geliefert. Die jeweilige TAR-Datei finden Sie in einem zur UNIX-Plattform passenden Unterverzeichnis: IMAGE:AUTOMATIONENGINE\UNIX\.
UCS???.tar.gz ( Automation Engine Dateien).
Dateiname |
Beschreibung |
ucsrvcp |
Kommunikationsprozess |
ucsrvwp |
Arbeitsprozess |
uc.msl |
Meldungsbibliothek |
ucsrv.ori.ini |
INI-Datei |
libsysapi, libuccache, libucudb32, libzu00132, libzusynchk, libuc001, libucdsfun, libucmsgq, libucmsgxml, libucrtl, libucsbepm, libzuxml, libucsj, ucsj_1, ucsj_2, ucsj_3, libgcc_s, libstdc++, libucldap, libssp für Oracle-Datenbank: ucuoci für DB2-Datenbank: ucucli |
Laufzeitbibliotheken Dateiendung "a" für AIX. Dateiendung "sl" für HP-UX. Dateiendung "so" für Solaris, Linux und zLinux |
syntax.bin
|
Beschreibung der Script-Sprache
|
Ablauf
|
1.
|
Automation Engine installieren
|
- Server-Rechner bei Verwendung einer Oracle-Datenbank
- Anmeldung als "AE".
- Verzeichnis /opt/uc4/server erstellen.
- Datei ucs???.tar.gz aus /cdrom/cdrom0/<version>/AutomationEngine/unix/<plattform> mit ftp binär in das angelegte Verzeichnis übertragen.
- Auspacken der übertragenen TAR-Datei mit einem der folgenden Befehle:
gzip -d ucs???.tar.gz
gunzip ucs???.tar.gz
tar xvf ucs???.tar
- Wenn die Automation Engine nicht am selben Rechner läuft wie die Dienstprogramme, so müssen Sie nun die Umgebungsvariablen in $HOME/.profile setzen. Wie dies beispielsweise aussehen kann, finden Sie in der Installationsanleitung zu den Dienstprogrammen.
- Die ucsrv.ori.ini in ucsrv.ini umbenennen:
mv ucsrv.ori.ini ucsrv.ini
- Anpassen der INI-Datei ucsrv.ini an die Systemumgebung. In der folgenden Auflistung sehen Sie jene Einträge, die in der INI-Datei auf jeden Fall anzupassen sind. Alle anderen Parameter können bei Bedarf konfiguriert werden.
- Name des Automation Engine Systems (system=)
- Sofern verwendet die Aktivierung der SNMP-Kopplung (snmp= )
- Portnummer des primären Arbeitsprozesses (pwpport= )
- Zuordnung von Kommunikationsprozessen und Portnummern (cp1= ... cpn= ).
- Zuordnung von Arbeitsprozessen und Portnummern (wp1= ... wpn= ).
- Verbindung zur Datenbank (SQLDRIVERCONNECT= ).
- AE-CD zur Entnahme freigeben:
umount /cdrom bzw.eject cdrom
- Kontrolle der Bibliotheken:
Für AIX:
- Kontrolle der Oracle-Bibliothek libclntst9.a (siehe: Einrichten einer Oracle-Datenbank).
- Kontrolle, ob alle Bibliotheken gefunden werden.
dump -H ucsrvcp > wk.txt (Leerzeichen nach "dump")
- Mit einem Texteditor (sed oder vi) die so erstellte Datei öffnen. Kontrollieren, ob alle Bibliotheken gefunden wurden.
- Obigen Vorgang mit ucuoci.a und ucsrvwp wiederholen. Bei der Datei ucuoci.a werden einige fehlende Einsprungadressen (Entries) gemeldet, da diese kein Hauptprogramm ist, sondern eine Bibliothek. Ist in Ordnung, solange es sich um die Bibliotheken ucuoci.a, libzu00132.a und libucudb32.a handelt, die gemeldet werden. Wenn eine Einsprungadresse in einer anderen Bibliothek nicht gefunden wird (Oracle etc.), so ist dieses ein Fehler.
Für HP-UX:
- Kontrolle der Oracle-Bibliothek libclntsh.so.9.0 (siehe: Einrichten einer Oracle-Datenbank).
- Kontrolle, ob alle Bibliotheken gefunden werden:
ldd -r ucsrvcp > wk.txt
Gegebenenfalls kann beim ldd auch die Option -s anstatt -r verwendet werden.
- Mit einem Texteditor (sed oder vi) die so erstellte Datei öffnen. Kontrollieren, ob alle Bibliotheken gefunden wurden.
- Obigen Vorgang mit ucuoci.sl und ucsrvwp wiederholen. Bei der Datei ucuoci.sl werden einige fehlende Einsprungadressen (Entries) gemeldet, da diese kein Hauptprogramm ist, sondern eine Bibliothek. Ist in Ordnung, solange es sich um die Bibliotheken ucuoci.sl, libzu00132.sl und libucudb32.sl handelt, die gemeldet werden. Wenn eine Einsprungadresse in einer anderen Bibliothek nicht gefunden wird (Oracle etc.), so ist dieses ein Fehler.
Für Linux, Solaris und zLinux:
- Kontrolle der Oracle-Bibliothek libclntsh.so.9.0 (siehe: Einrichten einer Oracle-Datenbank).
- Kontrolle, ob alle Bibliotheken gefunden werden:
ldd -r ucsrvcp > wk.txt
Gegebenenfalls kann beim ldd auch die Option -s anstatt -r verwendet werden.
- Mit einem Texteditor (sed oder vi) die so erstellte Datei öffnen. Kontrollieren, ob alle Bibliotheken gefunden wurden.
- Obigen Vorgang mit ucuoci.so und ucsrvwp wiederholen. Bei der Datei ucuoci.so werden einige fehlende Einsprungadressen (Entries) gemeldet, da diese kein Hauptprogramm ist, sondern eine Bibliothek. Ist in Ordnung, solange es sich um die Bibliotheken ucuoci.so, libzu00132.so und libucudb32.so handelt, die gemeldet werden. Wenn eine Einsprungadresse in einer anderen Bibliothek nicht gefunden wird (Oracle etc.), so ist dieses ein Fehler.
- Server-Rechner bei Verwendung einer DB2-Datenbank
- Anmeldung als "AE".
- Verzeichnis /opt/uc4/server erstellen.
- Datei ucs???.tar.gz aus /cdrom/cdrom0/<version>/AutomationEngine/unix/<plattform> mit ftp binär in das angelegte Verzeichnis übertragen.
- Entpacken der übertragenen TAR-Datei:
gzip -d ucs???.tar.gz
gunzip ucs???.tar.gz
tar xvf ucs???.tar
-
Wenn der Automation Engine-Server nicht am selben Rechner läuft wie die Dienstprogramme, so müssen Sie nun die Umgebungsvariablen in $HOME/.profile setzen. Wie dies beispielsweise aussehen kann, finden Sie in der Installationsanleitung zu den Dienstprogrammen.
- Die ucsrv.ori.ini in ucsrv.ini umbenennen:
mv ucsrv.ori.ini ucsrv.ini
- Anpassen der INI-Datei ucsrv.ini an die Systemumgebung. In der folgenden Auflistung sehen Sie jene Einträge, die in der INI-Datei auf jeden Fall anzupassen sind. Alle anderen Parameter können bei Bedarf konfiguriert werden.
- Name des Automation Engine Systems (system=)
- Sofern verwendet, die Aktivierung der SNMP-Kopplung (snmp= )
- Portnummer des primären Arbeitsprozesses (pwpport= )
- Zuordnung von Kommunikationsprozessen und Portnummern (cp1= ... cpn= ).
- Zuordnung von Arbeitsprozessen und Portnummern (wp1= ... wpn= ).
- Verbindung zur Datenbank (SQLDRIVERCONNECT= ).
- AE-CD zur Entnahme freigeben:
umount /cdrom bzw. eject cdrom
- Kontrolle der DB2-Bibliothek:
Für AIX:
- AE verwendet $DB2DIR/lib/libdb2.a.
- Kontrolle, ob alle Bibliotheken gefunden werden:
dump -H ucsrvcp > wk.txt
- Mit einem Texteditor (sed oder vi) die so erstellte Datei öffnen. Kontrollieren, ob alle Bibliotheken gefunden wurden.
- Obigen Vorgang mit ucucli.so und ucsrvwp wiederholen. Bei der Datei ucucli.sl werden einige fehlende Einsprungadressen (Entries) gemeldet, da diese kein Hauptprogramm ist, sondern eine Bibliothek. Ist in Ordnung, solange es sich um die Bibliotheken ucucli.a, libzu00132.a und libucudb32.a handelt, die gemeldet werden. Wenn eine Einsprungadresse in einer anderen Bibliothek nicht gefunden wird (DB2 etc.), so ist dieses ein Fehler.
Für HP-UX:
- AE verwendet $DB2DIR/lib/libdb2.sl.
- Kontrolle, ob alle Bibliotheken gefunden werden:
ldd -r ucsrvcp > wk.txt
Gegebenenfalls kann beim ldd auch die Option -s anstatt -r verwendet werden.
- Mit einem Texteditor (sed oder vi) die so erstellte Datei öffnen. Kontrollieren, ob alle Bibliotheken gefunden wurden.
- Obigen Vorgang mit ucucli.so und ucsrvwp wiederholen. Bei der Datei ucucli.sl werden einige fehlende Einsprungadressen (Entries) gemeldet, da diese kein Hauptprogramm ist, sondern eine Bibliothek. Ist in Ordnung, solange es sich um die Bibliotheken ucucli.sl, libzu00132.sl und libucudb32.sl handelt, die gemeldet werden. Wenn eine Einsprungadresse in einer anderen Bibliothek nicht gefunden wird (DB2 etc.), so ist dieses ein Fehler.
Für Linux, Solaris und zLinux:
- Die AE verwendet $DB2DIR/lib/libdb2.so
- Kontrolle, ob alle Bibliotheken gefunden werden:
ldd -r ucsrvcp > wk.txt
Gegebenenfalls kann beim ldd auch die Option -s anstatt -r verwendet werden.
- Mit einem Texteditor (sed oder vi) die so erstellte Datei öffnen. Kontrollieren, ob alle Bibliotheken gefunden wurden.
- Obigen Vorgang mit ucucli.so und ucsrvwp wiederholen. Bei der Datei ucucli.so werden einige fehlende Einsprungadressen (Entries) gemeldet, da diese kein Hauptprogramm ist, sondern eine Bibliothek. Ist in Ordnung, solange es sich um die Bibliotheken ucucli.so, libzu00132.so und libucudb32.so handelt, die gemeldet werden. Wenn eine Einsprungadresse in einer anderen Bibliothek nicht gefunden wird (DB2 etc.), so ist dieses ein Fehler.
|
2.
|
Installation des SNMP-Subagents (optional) |
- Server-Rechner
- Installieren Sie den SNMP-Subagent, wenn Sie dessen Funktionalität nutzen möchten.
|
3.
|
Automation Engine starten
|
Für einen Test kann nun die Automation Engine manuell gestartet werden.
- Server-Rechner
- Anmeldung unter der Automation Engine Benutzerkennung.
- Wechseln in das Installationsverzeichnis der ausführbaren Programme.
cd $UC4/bin
- Starten des Kommunikationsprozesses in den Hintergrund.
./ucsrvcp &
- Starten des Arbeitsprozesses in den Hintergrund.
./ucsrvwp &
- Kontrolle ob die Automation Engine läuft.
ps -ef|grep ucsrv bzw. ps -fu uc4
- Es sollte nun möglich sein, sich mit einem UserInterface am aktiven Automation Engine anzumelden. In der Systemübersicht können die relevanten Informationen zum laufenden Automation Engine abgerufen werden.
|
4.
|
Automation Engine beenden
|
Geordnetes Herunterfahren (Shutdown)
- Herausfinden der Prozess-ID pid.
ps -ef|grep ucsrv
- Beenden eines Serverprozesses.
kill -TERM pid
Abbrechen:
- Herausfinden der Prozess-ID pid.
- Beenden des Serverprozesses:
kill -KILL pid
Die Serverprozesse können mit dem ServiceManager gestartet und beendet werden.
Mögliche Probleme
Beim Programmstart:
- Automation Engine beendet sich beim Hochfahren:
Traces einschalten (vor allem Datenbank-Trace).
Fehlende shared libraries oder andere Fehler findet man am Besten durch Start der Automation Engine mit
truss 2>truss.out -f ucsrvcp
Die dabei entstehende Datei truss.out enthält alle Systemaufrufe des Automation Engine-Servers und auch alle Versuche zum Laden von shared objects.
Wenn eine Bibliothek fehlt, so kann es sein, dass sie am System existiert, aber der Pfad nicht in der Umgebungsvariable (LIBPATH, SHLIB_PATH bzw. LD_LIBRARY_PATH) eingetragen ist. Suchen Sie in diesem Fall als "root" mittels:
find / -name 'library' -print
(Wildcardzeichen sind erlaubt).
Gefundenen Pfad in die Umgebungsvariable hinzufügen. Falls die Bibliothek nicht gefunden wurde, ist sie nicht auf diesem System installiert oder wurde gelöscht. Dies kann man feststellen, indem man die Bibliothek sucht:
Für AIX, Linux, Solaris und zLinux: /var/sadm/install/contents
Für HP-UX: /var/adm/sw/ sw install.log und in der Datei /var/adm/sw/ sw remove.log
- Ist sie dort nicht vorhanden, so wurde sie gelöscht. Der Name der Pakete, in denen die Bibliotheken enthalten sind, steht am Ende der jeweiligen Zeile. Am Besten installiert man das Paket in diesem Fall noch einmal.
- Automation Engine schleift und/oder scheint nicht zu reagieren.
Mit
truss -f -p pid 2>&1 | tee -a truss.out
können Sie die Systemaufrufe eines laufenden Prozesses verfolgen. Dabei erfolgt die Ausgabe mittels "tee" sowohl auf den Bildschirm als auch in die Datei truss.out.
- Entfernen von <CR> (^M) aus Textdateien:
vi Textdatei
%s/<Ctrl-V><Ctrl-M>$//g
:wq!
Siehe auch:
Anzahl Serverprozesse
AE-SNMP-Subagent installieren (UNIX)