Agent für z/OS installieren
Hier finden Sie eine Anleitung für die Neuinstallation eines z/OS Agenten.
Die folgende Anleitung beschreibt die Installation des Agenten in einem Automation Engine System, das keine Authentifizierung einsetzt. Wenn Sie eine der Authentifizierungsmethoden nutzen möchten, sind noch zusätzliche Schritte nötig, bevor Sie den Agenten starten und einsetzen können. Lesen Sie näheres im Dokument zur Advanced Security.
Voraussetzungen
- JES2 oder JES3
- TCP/IP V3R2M0 oder höher werden vorausgesetzt
- APF-Authorisierung für die Ladebibliothek
- Die C-Runtimebibliothek ab V1R5M0 wird verwendet
- Eine MSGCLASS ohne nachfolgendes Programm (External-Writer) im HOLD-Status und ein File-Qualifier für temporäre Dateien, Logs und Traces wird benötigt.
- UPDATE-Rechte für JESSPOOL RACF Class (um Job Outputs verarbeiten zu können)
- Ein File Qualifier für temporäre Dateien, Logs und Traces
Ausgelieferte Dateien
Die Dateien liegen binär gepackt und als ASCII-Dateien im Verzeichnis IMAGE:AGENTS\MVS vor.
Dateiname AE-CD |
Beschreibung |
Dateiname z/OS |
UCXJM25-IBM.BIN |
z/OS-Agent mit TSO TRANSFER Utility erstellt |
UC4.UCXJM25.LOAD |
UCXJM25.INI |
INI-Datei des z/OS-Agenten |
UC4.UCXJM25.INI |
UCXEM25.INI
|
INI-Datei des Ereignis-Monitors
|
UC4.UCXEM25.INI
|
UCX.MSL
|
Meldungsbibliothek
|
UC4.UC.MSL
|
STC25.TXT
|
JCL für die Started Task
|
|
UC4JCLE.ASM
|
Beispiel-Modul für den JCL-Exit.
|
|
UC4EJM.INI |
INI-Datei des externen Job-Monitors
|
|
Die Dateien des CallAPI und deren Implementierung werden gesondert beschrieben.
Load-Module:
-
CADSDEL - Ein Dienstprogramm mit dem Sie einen Common Dataspace (CADS), der vom Ereignis-Monitor allokiert wurde, freigeben können.
- UC4END - Endmelder für die SMF-Meldetechnik (schreibt die StepList und gibt Codes an JESMSGLG zurück)
- UC4RESTR - Neustartmelder für die SMF-Meldetechnik (Dummy-Programm, wie z.B. IEFBR14)
- UC4START - Startmelder für die SMF-Meldetechnik (Dummy-Programm, wie z.B. IEFBR14)
Ablauf
|
1.
|
Übertragen der Dateien zum Host
|
- Host
- Übertragen der entsprechenden Dateien von IMAGE:AGENTS\MVS\ mittels eines Dateitransfers.
open Host
Verwenden Sie einen FTP-Benutzer mit entsprechenden Rechten
Benutzername = UC4
Passwort = <as set>
bin
quote site recfm=fb lrecl=80 blksize=6080
quote site pri=1 sec=1 CY
put UCXJM25-???.bin 'UC4.UCXJX.WORK'
asci
put UCXJM25.ini 'UC4.UCXJM25.INI'
put UCXEM25.ini 'UC4.UCXEM25.INI'
quote site recfm=vb lrecl=500 blksize=27998
put ucx.msl 'UC4.UC.MSL'
Beenden
|
2.
|
Erstellen der AE Ladebibliothek
|
- Host
- Die LOAD-Bibliothek mit Hilfe des TSO RECEIVE Utilitys erstellen. Die fettgedruckten Parameter sind systemspezifische Angaben.
//UC4LOAD JOB (ACCT#),'UC4USER',
// CLASS=A,MSGCLASS=X,MSGLEVEL=(1,1),NOTIFY=UC4USER
//*************************************************
//STEP01 EXEC PGM=IKJEFT01,DYNAMNBR=30
//SYSPRINT DD SYSOUT=*
//SYSTSPRT DD SYSOUT=*
//SYSTSIN DD *
PROFILE NOPREFIX
RECEIVE USERID(UC4USER) INDSN('MYDSN.UCXJ.WORK')
DSNAME('UC4.UCXJM25.LOAD') -
UNIT(3390) VOLUME(??????)
/*
Sie können es auch folgendermaßen erstellen:
Am z/OS Host:
TSO RECEIVE indsn('MYDSN.UCXJ.WORK')
Enter drücken und die folgende Zeile eingeben:
dsname('UC4.UCXJM25.LOAD')
|
3.
|
APF-Authorisierung der AE Ladebibliothek |
- Host
- Die Ladebibliothek braucht APF Authorisierung. Diese muss fix vergeben werden bzw. kann dynamisch auf der Systemconsole mit dem folgenden Command hinzugefügt werden:
SETPROG APF,ADD,DSN=UC4.UCXJM25.LOAD, [SMS] [VOLUME=xxx]
|
4.
|
Erstellen des AE Started Task für den Agenten |
- Der Agent läuft am Host als Started Task. In der Auslieferung befindet sich ein Beispiel für die JCL. Diese JCL wird in eine Prozedur-Bibliothek kopiert. In der JCL muss noch der Name des INI-Files und die Load-Library eingetragen werden. Der User der STC benötigt zusätzlich folgende Berechtigungen:
- USER, GROUPS und DATA SET PROFILES
Über die Benutzer- oder Gruppen-Definition muss der Benutzer mit dem der Agent läuft, die entsprechenden Rechte auf Datasets besitzen. Dies erfolgt über die entsprechende Zuordnung zu den DATA SET PROFILES.
Es wird das ALTER-Recht auf den AE Dataset-Qualifier benötigt.
Beachten Sie, dass der Agent Benutzer-Rechte auf alle Datasets benötigt, mit denen er arbeiten soll.
- OMVS Segment (TCP/IP Berechtigung)
Achten Sie unbedingt darauf, dass in der USER und DEFAULT-GROUP die Rechte für OMVS eingestellt sind!
- GENERAL RESOURCE
Üblicherweise gibt es eine General Resource für Started Tasks (STC). Hier werden allgemeine Rechte vergeben, damit das Agent Programm als STC laufen darf. Definieren Sie auch, mit welchem Benutzer der Agent laufen soll (STDATA).
- Benötigte RACF-Einstellungen für Filetransfers, wenn das USS-Dateisystem verwendet wird:
FACILITY class BPX.DAEMON Profil mit UACC(READ)
PROGRAM class * profile, MEMBER(loadlib//NOPADCHK)
Für das Starten der Jobs/FileTransfer aus AE kann entweder der STC-User oder ein beliebig anderer User verwendet werden.
Verwendung des STC-Users für die gesamte Durchführung:
In diesem Fall muss der STC-User Zugriff auf alle in den Jobs, FileTransfer verwendeten z/OS Ressourcen haben. Dieser User ist auch in das verwendete Login-Objekt einzutragen. Wenn dieser User kein Passwort hat (Batch-User), ist dieser User im Login-Objekt ohne die Eingabe eines Passwortes einzutragen. Außerdem muss dann im INI-File des Agenten der Parameter askRACF auf "0" oder "4"gesetzt werden, damit vor dem Jobstart keine Passwortprüfung erfolgt.
Verwendung von unterschiedlichen Usern:
Zusätzlich zu den benötigten Ressourcen müssen diese User für die TCP/IP-Verbindung zur Automation Engine auch ein entsprechendes OMVS Segment definiert haben. In den Attributen des Jobs wird das gewünschte Login-Objekt angegeben. Soll für die Durchführung ein Batch-User (d.h. User ohne Passwort) verwendet werden, so braucht der STC User eine Surrogate Berechtigung auf die gewünschten User. In diesem Fall ist der gewünschte User ohne Passwort in das Login-Objekt einzutragen, und die Passwortüberprüfung muss ausgeschaltet sein (im INI-File des Agenten der Parameter askRACF auf "0" oder "4").
- Beispiel für eine gestartete Aufgabe:
//UC4RUN PROC
//UCEX EXEC PGM=UCXJM25,PARM='TRAP(OFF),HEAP(4M,4M,ANY,FREE)/UC4.UCXJM25.INI',REGION=4M
//STEPLIB DD DISP=SHR,DSN=UC4.UCXJM25.LOAD
//SSTORE DD DISP=SHR,DSN=UC4.UCXJM25.SSTORE
//SYSPRINT DD SYSOUT=*
//STDOUT DD SYSOUT=*
//SYSCPRT DD SYSOUT=*
//JOBOUT DD SYSOUT=(A,INTRDR)
//SYSUDUMP DD SYSOUT=*
//*
- Der Started Task benötigt die Berechtigung, JES-Listen auszulesen.
- Zusätzlich müssen folgende Dateien in der Linkkette enthalten sein:
CEE.V1R5M0.SCEERUN - (Language Environment dynamic runtime library)
CEE.V1R5M0.SCEELKED - (Language Environment linkage editor library)
TCPIP.V3R1.SEZACMTX - (TCP/IP runtime library)
Wollen Sie dies nicht in Ihrem System vornehmen, gibt es noch eine andere Möglichkeit. Sie können die AE LOAD-Bibliothek nicht nur in der STEPLIB eintragen, sondern auch in der C-Umgebungs DD-Karte EDCMTF. Nähere Informationen finden Sie in der IBM-Dokumentation unter dem STEPLIB DD Statement.
- Nehmen Sie unbedingt den folgenden Schritt vor, wenn der MVS oder der Language Environment Resolver nicht korrekt funktionieren:
Die DD-Statements für TCP/IP müssen in die Started Task mit aufgenommen werden. Ansonsten kann der Agent keine TCP/IP-Verbindung herstellen.
Beispiel:
//SYSTCPD DD DSN=TCPIP.SYSTSMS.TCPPARMS(DT20OEDA),DISP=SHR
//PROFILE DD DSN=TCPIP.SYSTSMS.TCPPARMS(DT20VIPA),DISP=SHR
Die vollständigen Statements finden Sie in dem Started-Task des TCP/IP selbst.
Die DD-Statements für TCP/IP müssen auch in das Include-Objekt MVS.JOBMD_DEFINITIONS aufgenommen werden, da sonst der Jobmelder keine TCP/IP-Verbindung öffnen kann und die Jobs in den Status ENDED_VANISHED gehen.
- Kopieren dieser Prozedur 'UC4RUN' in eine Prozedur-Bibliothek, zum Beispiel 'SYS1.PROCLIB'.
- Notwendige Berechtigungen für den STC-User im RACF:
- OMVS-Segment
- ALTER-Berechtigung auf eigene Datasets (z.B.: UC4.*)
- Der Started-Task benötigt die Berechtigung, JES-Listen auszulesen.
- Erzeugen der Datasets für den StatusStore
Beispiel:
//CREATESS EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
DEFINE -
CLUSTER ( -
NAME(UC4.UCXJM25.SSTORE) -
INDEXED -
VOLUMES(volume) -
CYLINDERS(10 5) -
) -
DATA ( -
NAME(UC4.UCXJM25.SSTORE.DATA) -
KEYS(16 0) -
RECORDSIZE(256 4096) -
FREESPACE(10 10) -
) -
INDEX ( -
NAME(UC4.UCXJM25.SSTORE.INDEX) -
)
//* Dummy Record laden
//DUMMYREC EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//OUT1 DD DISP=SHR,DSN=UC4.UCXJM25.SSTORE
//SYSIN DD * REPRO INFILE(IN1) OFILE(OUT1)
//IN1 DD *
DUMMY
/*
Die Übertragungsinformationen für jedes Dataset/jede Datei werden als Einträge im VSAM Dataset gespeichert. Die Größe dieser Einträge hängt von der Größe des Datasets und der Datei ab. Der Durchschnittswert liegt bei 260 Bytes. Der empfohlene Space Value liegt bei 10,5 Cylinders = (10 + 15 * 5) * 849.960 Bytes ~ 75.553 Kilobytes, was für ca. 282k Einträge ausreichen sollte.
|
5.
|
Einrichten des Systemumfeldes
|
- Host
- INI-Datei anpassen. Die INI-Datei darf nicht das Dateiattribut NUMBER ON verwenden!
- Eventuell HEADER.MVS, TRAILER.MVS und RESTART.MVS anpassen. Siehe: Job - Ausführen
|
6.
|
Starten des Agenten |
- Server-Rechner
- Automation Engine System muss laufen.
- Host
- Über die Systemkonsole mit start UC4RUN starten.
Es wird im Systemmandant 0000 ein Agenten-Objekt automatisch angelegt und im Ordner "HOST" gespeichert.
- Admin-Rechner oder Server-Rechner
- Prüfen, ob sich der Agent angemeldet hat.
- UserInterface für Mandant 0000 starten. In der Systemübersicht die Informationen über Agenten abrufen. Da ein neu angemeldeter Agent noch keinem Mandanten zugewiesen ist, wird er nur im Mandant 0000 sichtbar. Der neu installierte Agent kann nun über das Agenten-Objekt den Mandanten mit den gewünschten Rechten zugewiesen werden.
|
7.
|
Beenden des Agenten |
- Host
- Den Started Task für den Agenten durch ein MODIFY-Kommando beenden, zum Beispiel mit modify UC4RUN,end über die Systemkonsole. Alternativ können Sie auch das STOP-Kommando stop UC4RUN verwenden.
|
8.
|
Ereignis-Monitor als eigenständiger Started Task |
- Anpassen der INI-Datei.
- Erstellen des AE Started Task für den Event Monitor.
Beispiel:
//UC4EMRUN PROC
//EVENTM EXEC PGM=UCXEM25,REGION=0M,
// PARM='TRAP(OFF),HEAP(4M,4M,ANY,FREE)/UC4.UCXJM25.EM.INI'
//STEPLIB DD DISP=SHR,DSN=UC4.UCXJM25.LOADLIB
//SYSPRINT DD SYSOUT=*
//UCEVENT DD DISP=SHR,DSN=UC4.UCEVENT.VSAM
//UCFILTER DD DISP=SHR,DSN=UC4.UCFILTER
- Erzeugen der Datasets (UCFILTER und UCEVENT)
Beispiel:
//CRTEMDS JOB ####,'XXX',NOTIFY=&SYSUID,MSGLEVEL=(1,1)
//* Erstellt Datasets für UC4 EventMonitor
//UCFILTER EXEC PGM=IEFBR14
//UCFILTER DD DISP=(NEW,CATLG,CATLG),DSN=UC4.UCFILTER,
// RECFM=VB,LRECL=1024,BLKSIZE=8192,SPACE=(CYL,(1,1))
//UCEVENT EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
DEFINE -
CLUSTER ( -
NAME(UC4.UCEVENT.VSAM) -
INDEXED -
VOLUMES(DSK30D) -
TRACKS(1 1) -
) -
DATA ( -
NAME(UC4.UCEVENT.VSAM.DATA) -
KEYS(20 0) -
RECORDSIZE(1024 1024) -
FREESPACE(10 5) -
) -
INDEX ( -
NAME(UC4.UCEVENT.VSAM.INDEX) -
)
/*
- Initialisierung des Datasets
Beispiel:
//INITEMDS JOB ####,'XXX',NOTIFY=&SYSUID,MSGLEVEL=(1,1)
//INITVSAM EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//OUT1 DD DISP=SHR,DSN=UC4.UCEVENT.VSAM
//SYSIN DD *
REPRO INFILE(IN1) OFILE(OUT1)
//IN1 DD *
DUMMY
/*
- Ereignis-Monitor starten mit start UC4EMRUN
- Ereignis-Monitor beenden mit modify UC4EMRUN,end
-
Beachten Sie, dass für den Betrieb des Ereignis-Monitors die RACF-Berechtigung READ notwendig ist, sofern die MVS Extended Console geschützt ist.
|
9. |
Externer Job-Monitor als eigenständiger Started Task |
- INI-Dateianpassen
- Erstellen des AE Started Task für den externen Job Monitor.
Beispiel:
//UC4EJM PROC
//UCZEJM EXEC PGM=UC4EJM,PARM='TRAP(OFF)/ ZUC800A1.EJM.INI',REGION=0M
//STEPLIB DD DISP=SHR,DSN=UC800A.LOADLIB
//SYSPRINT DD SYSOUT=*
//STDOUT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
- Externen Job Monitor starten mit start UC4EJM
- Externen Job Monitor beenden mit modify UC4EJM,end
Siehe auch:
Agent - Zusammenwirken Automation Engine und z/OS
SMF Exit
Ereignis-Monitor
Automatische Dateisystem-Ereignisse
Externer-Job-Monitor