Registering an analytics service

Configure at least one analytics service in your API Connect on-premises cloud. The analytics service is always associated with a gateway service, from which it collects API event data.

Before you begin

You must complete the following tasks:

About this task

The analytics service collects API event data from the gateway service. In Cloud Manager, you configure the analytics service and then associate it with one or more gateways. Multiple gateways can be associated with a single analytics service, but each gateway can be associated with only one analytics service.

One of the following roles is required to register and manage analytics services:

  • Administrator
  • Topology Administrator
  • Owner
  • A custom role with the Topology:Manage permission

When you register the analytics service, you must select from one of three inter-subsystem communication methods. Before you decide which method to use, familiarize yourself with the difference between external and in-cluster communication: In-cluster or external communication between subsystems. If you are an OVA user, or are in doubt as to what communication method to use, then use the default external setting.

The analytics subsystem has two separate communication flows:
  • Management to analytics. The management service communicates with the analytics subsystem to query for analytics data to present in the UI dashboards. This flow is known as analytics queries.
  • Gateway to analytics. The gateway sends API event data to the analytics service. This flow is known as analytics ingestion.
What you select depends on what is most suitable for your network configuration. The options are:
Use external communication for both ingestion and queries
This option is the default, and is what is used for analytics services that are upgraded from a pre-10.0.5.3 release. For OVA deployments, or if your analytics subsystem is in a different environment then external is the only option that you can use. Both the gateway and the management service communicate with the analytics service by using the external endpoint, which is a Kubernetes ingress or OpenShift route depending on your platform.
Use in-cluster communication for both ingestion and queries
You can select in-cluster if you have a Kubernetes or OpenShift deployment where all subsystems are within the same cluster. When this option is selected, the management, gateway, and analytics subsystems communicate with each other through internal service endpoints rather than externally accessible ingresses (Kubernetes) or routes (OpenShift).
Use in-cluster for ingestion and external for queries, or vice versa
You can select this option if you have a Kubernetes or OpenShift deployment and you have some of your subsystems installed in the same cluster. When this option is selected, you can use different communication methods for the different analytics communication flows. For example, the management to analytics communication can use in-cluster, and the gateway to analytics can use external. You might choose this configuration if your gateway is in a different cluster to the rest of your subsystems.

Procedure

Complete the following steps to configure the analytics services for your cloud:

  1. In the Cloud Manager, click TopologyTopology.
  2. Select Register Services > Analytics in the Availability Zone where you have the gateways you want to associate with the analytics service.
  3. Enter the values to configure the analytics service:

Field Description
Title Enter a descriptive title for the analytics service.
Name This field is auto-populated by the system and used as the internal field name.
Summary Enter a brief description.
Service endpoint configuration: Communication method. Select your communication method, for more information on the options see, Communication types. If your API Connect deployment is OVA then you must select the first option: Use external communication for both ingestion and queries.
Service endpoint configuration: External analytics endpoint. Enter the fully qualified domain name for the analytics ingestion endpoint that you defined during installation. To determine the endpoint, run the following command:
  • Kubernetes
    kubectl get ingress -n <namespace>
     
    The endpoint has -ai- in its name:
    NAME                     CLASS   HOSTS                        ADDRESS   PORTS     AGE
    def-analytics-ai-endpoint   nginx   a7s-in.example.com                     80, 443   87d
    
  • OpenShift
    oc get routes -n <namespace> 
     
    The endpoint has -ai- in its name:
    NAME                     CLASS   HOSTS                        ADDRESS   PORTS     AGE
    def-analytics-ai-endpoint   nginx   a7s-in.example.com                     80, 443   87d
    
  • VMware
    apicup subsys get <analytics subsystem>
    The endpoint is the value of property analytics-ingestion.
This field is disabled if Use in-cluster communication for both ingestion and queries is set as the communication type.
Service endpoint configuration: TLS client profile for external analytics endpoint. Select the TLS Client Profile to use for management to analytics subsystem communication. The Client Profile applies to the endpoint that you specified in the previous row. The default is Analytics Ingestion TLS client profile.

This field is disabled if Use in-cluster communication for both ingestion and queries is set as the communication type.

Service endpoint configuration: In-cluster analytics endpoint. Enter the fully qualified domain name for the analytics ingestion service endpoint. The format of the service endpoint is
https://<name>.<namespace>.svc
where:
  • <name> is the name property from the analytics subsystem CR. If you are using the top-level CR this is <apic instance name>-a7s.
  • <namespace> is the namespace that the analytics CR exists in.
This field is disabled if Use external communication for both ingestion and queries is set as the communication type.
Service endpoint configuration: TLS client profile for in-cluster endpoint. Select the TLS Client Profile to use for management to analytics subsystem communication. The Client Profile applies to the Endpoint that you specified in the previous row. The default is Analytics Ingestion TLS client profile.

This field is disabled if Use external communication for both ingestion and queries is set as the communication type.

Service endpoint configuration: Use in-cluster endpoint for analytics queries. If you want the management subsystem to use the in-cluster service endpoint to communicate with the analytics subsystem, then select this option. If this option is not selected, then the management subsystem uses the external endpoint. Selection of external or in-cluster communication between the gateway and analytics subsystem is done when the gateway is associated with the analytics service, see Associating an analytics service with a gateway service.

This setting is enabled when Use in-cluster for ingestion and external for queries, or vice versa is selected.

  1. Click Save to complete the operation.
  2. If you want, you can delete the analytics service as follows;
    1. If a gateway service is associated with the analytics service, you must unassociate the gateway service as follows:
      1. Log in to the Cloud Manager user interface.
      2. In the navigation list, click Topology Topology.
      3. Click the options menu icon options icon alongside the corresponding gateway service, then select Unassociate.
    2. Locate the analytics service to delete.
    3. Click the options menu icon options icon alongside the analytics service, then select Delete.
    4. Click Delete on the confirmation prompt.

Results

The analytics service is added to your cloud settings.

What to do next