[NEWSboard IBMi Forum]
Seite 1 von 2 1 2 Letzte
  1. #1
    Registriert seit
    Nov 2009
    Beiträge
    208

    IP einer ACS / CA Sitzung auslesen

    Guten Tag.
    um Netzwerkausfälle besser zu analysieren sollen wir dem Anbieter IP Informationen der betroffenen Sitzungen melden.

    kann ich diese IP-Adressen auslesen?

    Dietlinde Beck

  2. #2
    Registriert seit
    Apr 2008
    Beiträge
    72
    Wenn du das entsprechende Device schon kennst, dann ganz einfach mit DSPDEVD.
    'DSPDEVD QPADEVxxxx' so in der Art.

  3. #3
    Registriert seit
    Nov 2009
    Beiträge
    208
    Ich weis nur den Job (Vollständig)
    Der ist auf DSC gegangen und hat CPF5140 gesendet.
    Das habe ich mit STRWCH und einem kleinen PGM abgefangen.
    Hier habe ich den JOB mit User und Nr.
    Der Job IST interaktiv.
    Von dem brauche ich die IP.

  4. #4
    Registriert seit
    Apr 2008
    Beiträge
    72
    Ist es bei dir nicht so, dass der JOBNAME gleich der verwendeten DEVICE ist? Dann hast doch schon alles was du brauchst.

  5. #5
    Registriert seit
    Apr 2008
    Beiträge
    72
    Ich sehe gerade, dass ich so ein ähnliches Watcher-CL-PGM schon mal geschrieben habe- wie kann ich dir das am besten zukommen lassen? Email?

    ...Kommando zurück- ich hatte damals die CPIB682 überwacht- hier hatte sich die IP direkt auslesen lassen. Mein PGM nützt dir somit leider nix.

  6. #6
    Registriert seit
    Nov 2009
    Beiträge
    208
    Danke, du hast recht!
    Der Jobname ist das Device, ich haben mich von dem QPADEVxxxx verwirren lassen, entschuldigung.

    Den Watcher habe ich schon länger fertig, ich müsste nur noch einen RTVDEVD (den es ja nicht gibt) zum auslesen der IP haben. ggf gibt es da SQL's?

    oder machst du dspdevd nach *print und liest das aus
    oder ein API?

    Wenn es nicht zu groß ist, ggf hier posten, dann haben alle was davon?

    Danke
    DiBe

  7. #7
    Registriert seit
    Apr 2008
    Beiträge
    72
    Hab meinen obigen Beitrag gerade editiert- mein PGM nützt dir nix.

    Meine API- & SQL-Kenntnis ist seeehr bescheiden. Ich müsste auf dspdevd *print zurückgreifen.

    Evtl. weiß ja sonst einer aus dem Forum mehr?

    Gerne
    Ede

  8. #8
    Registriert seit
    Feb 2001
    Beiträge
    20.236
    Wenn der Job noch läuft bzw. das Joblog da ist, steht die Verbindung ganz am Anfang des Joblogs.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  9. #9
    Registriert seit
    Jun 2001
    Beiträge
    1.975
    https://groups.google.com/g/comp.sys...EdIXHAgY?pli=1

    da ist ein Beispiel von Thomas Raddatz
    Das Notwendige steht über dem technisch machbaren.
    (klingt komisch, funktioniert aber!)

  10. #10
    Registriert seit
    Nov 2009
    Beiträge
    208
    Erst mal vielen Dank Euch.

    Das Pgm von Herrn Raddatz funktioniert erstmal sehr gut, aber in dem Watch von mir nicht.
    Wenn die Jobs auf DSC stehen haben sie keine IP im Wrkdevd.
    Das hilft mir also nicht.

    Ich müsste also beim anmelden die IP ermitteln, in eine Tabelle schreiben und im fehlerfall auslesen.
    Oder kennt Ihr (Frau Hauser?) eine SystemTabelle, in der diese Info steht?

    Dibe

  11. #11
    Registriert seit
    Feb 2001
    Beiträge
    20.236
    Ok, im Dialog-Joblog steht die IP nicht mehr, beim alten CA wurde diese wohl von der Emulation mitgesendet.
    Hier gibts ein Dokument für eine mögliche Lösung:
    Utility to Display the IPv4 Address of Clients Connected to Server Jobs Running on IBM i

    Per Netstat findet man die aktuellen Jobs mit den Remoteadressen für Port 23.
    Dafür gibts die SQL-View:
    NETSTAT_JOB_INFO view - IBM Documentation

    Beim Start eines Dialogs mit dem eigenen Jobnamen einen "insert into logfile select * from ..." ausführen.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  12. #12
    Registriert seit
    Nov 2009
    Beiträge
    208
    so, vielen Dank
    Hier meine Version:

    Die Datei:
    Code:
    create Table  XXXX/DEV_IP
    (DEV char (10) not null with default,
     IP char (15) not null with default)
    Der Wächter:
    Code:
    H DECEDIT('0,')  DATEDIT(*DMY.)  ACTGRP('WCH')              
                                                                   
    D TYPE            S             10                             
    D SESSION         S             10                             
    D ERROR           S             10                             
    D DATA            S           1000                             
    
    
     *---  für unseren Mailversand ---*                                                                
    D/COPY QRPGSRC,CPP055PARM                                      
                                                                   
    C     *ENTRY        PLIST                                      
    C                   PARM                    TYPE               
    C                   PARM                    SESSION            
    C                   PARM                    ERROR              
    C                   PARM                    DATA               
    C                   EVAL      DEV = %SUBST(DATA:33:10)         
     * Zum Testen, da es keine Job gibt, erzeugt MSGW der ignoriert werden kann  
    
    C* **               call      'MKMSGW'                         
    C* **               PARM                    DEV              10
    C                   IF        %SUBST(DATA:5:7) = 'CPF1124'     
    C                   CALL      'RTVDEVD'                        
    C                   PARM                    DEV              10
    C                   PARM                    IP               15      
    C                                                                    
    C/EXEC SQL DELETE FROM XXXX/DEV_IP WHERE DEV = :DEV              
    C/END-EXEC                                                           
    C/EXEC SQL INSERT INTO XXXX/DEV_IP VALUES(:DEV, :IP)             
    C/END-EXEC                                                           
    C                   ELSE                                             
    C/EXEC SQL SET :IP = (SELECT IP FROM XXXX/DEV_IP WHERE DEV=:DEV) 
    C/END-EXEC  
    
     * versenden einer mail im HTML Format (Externe Lösung)                                                         
    C                   CLEAR                   P055PARM                 
    C                   EVAL      P055ERPG = 'MAILTOC'                   
    C                   EVAL      P055VPGM = 'WCHCPF'                    
    C                   EVAL      P055SART = 'WCHCP'                     
     
    C                   EVAL      P055BTR = 'Temporär gestoppter Job: ' +
    C                              %SUBST(DATA:33:30)                    
    C                   EVAL      P055TX01 = '<HTML>Job         ' +      
    C                                          %SUBST(DATA:33:10) +      
    C                                                      '<BR>' +      
    C                             'vom User    ' +%SUBST(DATA:43:10) +   
    C                                                         '<BR>' +         
    C                             'mit der Nr.  ' +%SUBST(DATA:53:6)  +         
    C                                                   '<BR>' +               
    C                             'und der <h1>IP ' + IP + '</h1>'  +          
    C                                                         '<BR>' +         
    C                                                         '<BR>' +         
    C                             'ist soeben in den temporären Stopp gelaufen'
    C                   CALL      'MAILTOC'                                    
    C                   PARM                    P055PARM                       
    C                   ENDIF                                                  
                                                                               
    C                   RETURN
    Das Pgm RTVDEVD ist das Pgm von Herrn Raddatz


    und der Watch
    Code:
    STRWCH SSNID(*GEN) WCHPGM(WCHCPF) WCHMSG((
    CF5140) (CPF1124)) WCHMSGQ((*JOBLOG)) WCHJOB((*ALL/*ALL))

Similar Threads

  1. "Hardcopy" einer telnet-Sitzung
    By samik in forum IBM i Hauptforum
    Antworten: 7
    Letzter Beitrag: 20-01-11, 11:08
  2. Informationen zu EINER Teildatei auslesen
    By Tom74 in forum NEWSboard Programmierung
    Antworten: 1
    Letzter Beitrag: 22-12-07, 11:22
  3. Antworten: 3
    Letzter Beitrag: 12-10-07, 08:20
  4. IP-Adresse einer Outq auslesen
    By Juergen_G in forum NEWSboard Programmierung
    Antworten: 6
    Letzter Beitrag: 15-02-06, 09:26
  5. Antwort einer Nachricht auslesen
    By harkne in forum NEWSboard Programmierung
    Antworten: 5
    Letzter Beitrag: 30-01-06, 15:34

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •