Binding the Data Streamer to a specific IP address

By default, the Data Streamer does a generic bind and accepts connection requests from any IP address associated with any TCP/IP stacks in the LPAR. The data gatherers, such as Log Forwarder and System Data Engine, connect to the Data Streamer via either the loop back IP address (127.0.0.1) or primary IP address of the default TCP/IP stack. If required, you can configure the Data Streamer to bind to a specific IP address such as a dynamic virtual IP address (DVIPA). Also, you must properly configure the data gatherers, such as Log Forwarder and System Data Engine, so that they can connect to the specific IP address that the Data Streamer is listening on.

About this task

The Z Common Data Provider requires the Data Streamer, Log Forwarder, and System Data Engine to run on the same LPAR. In this scenario, the Data Streamer is configured to bind to the IP address 9.30.243.157, and is running on the same LPAR as the data gatherers.

Procedure

  1. Configure the Data Streamer to bind to a specific IP address.

    Use the parameter host to specify the IP address that the Data Streamer will bind to. The IP address must be a valid IP address that is active on any of the TCP/IP stacks on the LPAR, or a dynamic virtual IP address (DVIPA) which can be activated by any of the TCP/IP stacks on the LPAR.

    The follow example specifies that the Data Streamer will bind to IP address 9.30.243.157 only.
    //STDPARM  DD *                             
    PGM /bin/sh                                 
    /usr/lpp/IBM/zcdp/v5r1m0/DS/LIB/startup.sh  
    /etc/cdpConfig/myPolicy.policy              
    nnnnn start=w trace=n host=9.30.243.157                
    //*  
    For more information about configuring the Data Streamer, see Customizing the Data Streamer started task.
  2. Configure the data gathers to connect to the Data Streamer.
    If the Data Streamer is configured to bind to a specific IP address, you must configure each data gatherer to be able to connect to the Data Streamer successfully.
    • For the Log Forwarder, use the parameter -h to specify the Data Streamer IP address. For example,
      //STDPARM  DD *
      PGM /bin/sh
      /usr/lpp/IBM/zcdp/v5r1m0/LF/samples/startup.sh
      -e /usr/lpp/IBM/zcdp/v5r1m0/LF/samples
      -h 9.30.243.157
      //*
      For more information about configuring the Log Forwarder, see the following topics:
    • For the System Data Engine, add the SET statement SET IBM_DS_HOST=ip_address in the HBOIN DD statement to specify the Data Streamer IP address. For example,
      //HBOIN    DD *                                                  
      SET IBM_DS_HOST = '9.30.243.157';
      SET IBM_UPDATE_TARGET = 'PORT ppppp';                            
      SET IBM_FILE_FORMAT = 'CSV';                                     
      //         DD  PATH='/etc/cdpConfig/hboin.sde', 
      //         PATHDISP=(KEEP),RECFM=V,LRECL=255,FILEDATA=RECORD 
      For more information about configuring the System Data Engine, see the following topics:
    • For user applications using open stream Java™ API, specify the Data Streamer IP address when initializing the CDPSender object. For example,
      CDPSender sender = new CDPSender("9.30.243.157",20201);
      For more information about sending data by using the Java API, see Sending data by using the Java API.
    • For user applications using open stream REXX API, specify the Data Streamer IP address in the hbo.host parameter in the REXX code. For example,
      hbo.host = '9.30.243.157'                                 
      
      meta.0 = 8
      meta.1 = 'encoding=IBM-1047'
      meta.2 = 'sourcetype=HBO-TESTREXX1'
      meta.3 = 'sourcename=TESTREXX1'
      meta.4 = 'path=hbo/test/rexx/one'
      meta.5 = 'sysplex=TESTPLEX'
      meta.6 = 'system=SYS1'
      meta.7 = 'host=somehwere.com'
      meta.8 = 'timezone=+0000'
      For more information about sending data by using the REXX API, see Sending data by using the REXX API.