API Connect

API Connect

Join this online group to communicate across IBM product users and experts by sharing advice and best practices with peers and staying up to date regarding product enhancements.

 View Only
  • 1.  Analytics data synchronization between two data center

    Posted Wed January 31, 2024 07:45 AM

    Hi,

    We are using API Connect 10.0.5.x. 

    Question 1:

    Just want to check by default does API Connect sync analytic data between below data center 1 and data center 2? 

    If yes, how API Connect syncs data. If not, is there any way to sync data between data center 1 and data center 2?

    Question 2:

    Another question about analytic data in API Manager. Is it possible that API Connect filter out some analytic data such as payload? Because customer feels the analytic data size is too big, they want to capture only certain important analytic data.   

    Question 3: 

    Is API Connect using Java? If yes, what Java version it is using?



    ------------------------------
    Guo Jun Qiao
    ------------------------------


  • 2.  RE: Analytics data synchronization between two data center

    Posted Thu February 01, 2024 12:31 AM

    Hi Qiao,

    I'll try to answer pointwise. Here I am assuming you have K8 based deployment in a two datacenter type of scenario.

    Question 1:

    Just want to check by default does API Connect sync analytic data between below data center 1 and data center 2? 

    [Ajitabh]: You need to configure two analytics subsystem for this. 

    If yes, how API Connect syncs data. If not, is there any way to sync data between data center 1 and data center 2?

    [Ajitabh]: Data consistency is prioritized over Data availability. Data replication is handled outside K8 using usual DB tools available for replication. 

    Office reference: Two data center deployment strategy in IBM API connect

    Question 2:

    Another question about analytic data in API Manager. Is it possible that API Connect filter out some analytic data such as payload? Because customer feels the analytic data size is too big, they want to capture only certain important analytic data.   

    [Ajitabh]: The answer is yes. You need to modify analytics_cr.yaml file. Add filter definition like below:

    spec:
      ingestion:
        ... 
        filter: |
          mutate {
            remove_field => ["query_string"]
          }

    The exact filter for your scenario will be:

    mutate {
      remove_field => ["request_body", "response_body"]
    }
    

    Question 3: 

    Is API Connect using Java? If yes, what Java version it is using?

    [Ajitabh]: Question is not clear. Not sure if you are talking about API connect product or APIs that you build on top of it? 



    ------------------------------
    Ajitabh Sharma
    ------------------------------



  • 3.  RE: Analytics data synchronization between two data center

    Posted Thu February 01, 2024 12:46 AM

    Hi Ajitabh Sharma, 

    Thanks a lot for your answer.

    Sorry I did not mention. Actually I use VMWare deployment on on-premises. 

    https://www.ibm.com/docs/en/api-connect/10.0.5.x_lts?topic=connect-vmware

    Question 1:

    [Ajitabh]: You need to configure two analytics subsystem for this. 

    [Guo Jun] Could you provide more details or links about how to configure two analytics subsystem so that the analytics data can be sync from data center 1 to data center 2?

    Question 3:

    [Ajitabh]: Question is not clear. Not sure if you are talking about API connect product or APIs that you build on top of it? 

    [Guo Jun] I am talking about API Connect 10.0.5.x. Is API Connect built by using Java programming language? If yes, what is the java version used for APIC 10.0.5.x?



    ------------------------------
    Guo Jun Qiao
    ------------------------------



  • 4.  RE: Analytics data synchronization between two data center

    Posted Thu February 01, 2024 01:47 AM

    Hi Qiao,

    For analytics subsystem you should be configuring it for HA. See this link. A global load balancer will ensure traffic distribution. As far as data is concerned, a good way is to get rid of local storage and offload it to external system. To do that see https://www.ibm.com/docs/en/api-connect/10.0.1.x?topic=pyt-planning-offload-data-third-party-system. This will simplify your analytics setup, storage and overall working. The external system will present a unified view of all analytics node at the same time will decouple the I/O associated with analytics subsystem. 

    On Java

    I am not sure if IBM API connect product uses it (I mean the microservices which are part of API connect product), so not sure about Java version there. However I am sure that you can't use Java for developing APIs on API connect (neither in assembly or in custom policy). 

    I hope this helps.



    ------------------------------
    Ajitabh Sharma
    ------------------------------



  • 5.  RE: Analytics data synchronization between two data center

    Posted Thu February 01, 2024 03:11 AM

    Hi Ajitabh Sharma,

    Based on APIC documentation, my understanding is that even configure HA (3 Analytics nodes in data center 1 and another 3 Analytics nodes in data center 2),  the analytics data are still not able to sync between data center 1 and 2. Is my understanding correct?

    Thank you.



    ------------------------------
    Guo Jun Qiao
    ------------------------------



  • 6.  RE: Analytics data synchronization between two data center

    Posted Thu February 01, 2024 03:58 AM

    Analytics data will definitely not be synced across data centers - the amount of data involved in analytics is exponentially more than any other component and keeping terabytes of data sychronised between two data centers is simply not feasible.

    The pattern you posted a screenshot of shows 2 gateway services, one in each datacenter. Each of those gateway services has its own local analytics service, so there definitely wouldn't be any synchronisation there since they are two completely different services.



    ------------------------------
    Chris Dudley
    ------------------------------



  • 7.  RE: Analytics data synchronization between two data center

    Posted Thu February 01, 2024 04:00 AM

    Thanks for helping but please can you use 10.0.5 documentation links - the docs can be very different between versions, in this case analytics had a complete rewrite for 10.0.5 and so the earlier documentation does not apply.



    ------------------------------
    Chris Dudley
    ------------------------------



  • 8.  RE: Analytics data synchronization between two data center

    Posted Thu February 01, 2024 04:05 AM

    What programming language it uses is not relevant - thats an internal component and of no relevance to the customer as they have no say over it.
    Keep APIC up to date with fixpacks and it will include all relevant security updates.

    You mention that you are using OVAs - they are virtual appliances and the customer has zero control over them. They cannot install, remove or upgrade anything inside our OVAs, all they can do is apply APIC fixpacks to update them. That is the price of using virtual machines I am afraid.

    We discourage the use of payload logging in analytics because it is disproportionately expensive. If analytics stores on average 5Kb per api event for activity+headers, if you then add say a 200Kb payload to that you have just increased the storage requirements by a factor of 40. This affects both disk space and memory due to the way the analytics database works. Definitely look into the Log policy in the docs, and only enable payload logging where you really need it. You can change the log level per API and also have different levels for success and errors.



    ------------------------------
    Chris Dudley
    ------------------------------



  • 9.  RE: Analytics data synchronization between two data center

    Posted Thu February 01, 2024 04:16 AM

    Hi Chris,

    Thanks a lot for your reply.

    Well noted the Analytics data sync and Java version. 



    ------------------------------
    Guo Jun Qiao
    ------------------------------