Install and configure the PingIntelligence bundle
Installing and configuring the PingIntelligence bundle for CA API gateway consists of following steps:
-
Configure properties in
pingintelligence-properties.bundle
file. -
Import the bundle file and the properties file into the CA API gateway using the import script.
-
Configure a certificate and the ASE token using CA API Policy Manager
Configure PingIntelligence bundle
Complete the following steps to configure the CA API gateway PingIntelligence policy:
-
Download the PingIntelligence policy files from the download site. The downloaded package will have the following files and properties:
-
ASE Check Request: The assertion used to analyze API requests.
-
ASE Check Response: The assertion used to analyze API responses.
-
Cluster-wide Properties:
-
ase_host_https
: The default is https://ase-server.example.com -
ase_host2_https
: The default is https://ase-server-2.example.com -
ase_path_request
andase_path2_request
: The default path is /ase/request -
ase_path_response
andase_path2_response
: The default path is /ase/response
-
-
API examples:
-
/shop
- Example API that may be called by an external client. The API shows how to support both failing and non-failing policies. -
/shop/backend
- An example shop-backend for demo purposes.
-
-
-
Untar the package
-
Edit the
pingintelligence-properties.bundle
to configure the following properties:-
ase_host_https
andase_host2_https
: Primary and secondary PingIntelligence ASE IP address and port number. If the primary ASE is not available, the request is sent to the secondary ASE. -
ase_request_connection_timeout
: The time in milliseconds for which API gateway waits to establish a TCP connection for the client request with ASE. After the timeout period, the request is directly sent to the backend server. The default value is 30,000 milliseconds. -
ase_request_read_timeout
: The time in milliseconds for which API gateway waits to get a response from ASE for the request. After the timeout period, the request is directly sent to the backend server. The default value is 60,000 milliseconds. -
ase_response_connection_timeout
: The time in milliseconds for which API gateway waits to establish a TCP connection with ASE for the response from the backend server. After the timeout period, the response is directly sent to the client. The default value is 30,000 milliseconds. -
ase_response_read_timeout
: The time in milliseconds for which API gateway waits to get a response from ASE for the request. After the timeout period, the request is directly sent to the backend server. The default value is 60,000 milliseconds. -
ase_path_request
andase_path2_request
: Use default value in sample file. -
ase_path_response
andase_path2_response
: Use default value in sample file.
-
Following is a sample pingintelligence-properties.bundle
file:
<?xml version="1.0" encoding="UTF-8"?><l7:Bundle xmlns:l7="http://ns.l7tech.com/2010/04/gateway-management">
<l7:References>
<l7:Item>
<l7:Name>ase_host_https</l7:Name>
<l7:Id>f33082fa66314439b5d7e8703ac0963a</l7:Id>
<l7:Type>CLUSTER_PROPERTY</l7:Type>
<l7:TimeStamp>2019-07-09T20:18:03.316Z</l7:TimeStamp>
<l7:Resource>
<l7:ClusterProperty id="f33082fa66314439b5d7e8703ac0963a" version="1">
<l7:Name>ase_host_https</l7:Name> <l7:Value>https://your-ase-host-and-port</l7:Value>
</l7:ClusterProperty>
</l7:Resource>
</l7:Item>
<l7:Item>
<l7:Name>ase_path_request</l7:Name>
<l7:Id>f33082fa66314439b5d7e8703ac09636</l7:Id>
<l7:Type>CLUSTER_PROPERTY</l7:Type>
<l7:TimeStamp>2019-07-09T20:18:03.316Z</l7:TimeStamp>
<l7:Resource>
<l7:ClusterProperty id="f33082fa66314439b5d7e8703ac09636" version="0">
<l7:Name>ase_path_request</l7:Name> <l7:Value>/ase/request</l7:Value>
</l7:ClusterProperty>
</l7:Resource>
</l7:Item>
<l7:Item>
<l7:Name>ase_path_response</l7:Name>
<l7:Id>f33082fa66314439b5d7e8703ac09633</l7:Id>
<l7:Type>CLUSTER_PROPERTY</l7:Type>
<l7:TimeStamp>2019-07-09T20:18:03.316Z</l7:TimeStamp>
<l7:Resource>
<l7:ClusterProperty id="f33082fa66314439b5d7e8703ac09633" version="0">
<l7:Name>ase_path_response</l7:Name> <l7:Value>/ase/response</l7:Value>
</l7:ClusterProperty>
</l7:Resource>
</l7:Item>
<l7:Item>
<l7:Name>ase_request_connection_timeout</l7:Name>
<l7:Id>07b5ecd6fc3baca9518885b71dbcee8e</l7:Id>
<l7:Type>CLUSTER_PROPERTY</l7:Type>
<l7:TimeStamp>2019-07-09T20:18:03.316Z</l7:TimeStamp>
<l7:Resource>
<l7:ClusterProperty id="07b5ecd6fc3baca9518885b71dbcee8e" version="0">
<l7:Name>ase_request_connection_timeout</l7:Name> <l7:Value>30000</l7:Value>
</l7:ClusterProperty>
</l7:Resource>
</l7:Item>
<l7:Item>
<l7:Name>ase_request_read_timeout</l7:Name>
<l7:Id>07b5ecd6fc3baca9518885b71dbcee90</l7:Id>
<l7:Type>CLUSTER_PROPERTY</l7:Type>
<l7:TimeStamp>2019-07-09T20:18:03.316Z</l7:TimeStamp>
<l7:Resource>
<l7:ClusterProperty id="07b5ecd6fc3baca9518885b71dbcee90" version="0">
<l7:Name>ase_request_read_timeout</l7:Name> <l7:Value>60000</l7:Value>
</l7:ClusterProperty>
</l7:Resource>
</l7:Item>
<l7:Item>
<l7:Name>ase_response_connection_timeout</l7:Name>
<l7:Id>07b5ecd6fc3baca9518885b71dbcee92</l7:Id>
<l7:Type>CLUSTER_PROPERTY</l7:Type>
<l7:TimeStamp>2019-07-09T20:18:03.316Z</l7:TimeStamp>
<l7:Resource>
<l7:ClusterProperty id="07b5ecd6fc3baca9518885b71dbcee92" version="0">
<l7:Name>ase_response_connection_timeout</l7:Name> <l7:Value>30000</l7:Value>
</l7:ClusterProperty>
</l7:Resource>
</l7:Item>
<l7:Item>
<l7:Name>ase_response_read_timeout</l7:Name>
<l7:Id>07b5ecd6fc3baca9518885b71dbcee94</l7:Id>
<l7:Type>CLUSTER_PROPERTY</l7:Type>
<l7:TimeStamp>2019-07-09T20:18:03.316Z</l7:TimeStamp>
<l7:Resource>
<l7:ClusterProperty id="07b5ecd6fc3baca9518885b71dbcee94" version="0">
<l7:Name>ase_response_read_timeout</l7:Name> <l7:Value>60000</l7:Value>
</l7:ClusterProperty>
</l7:Resource>
</l7:Item>
<l7:Item>
<l7:Name>ase_path2_response</l7:Name>
<l7:Id>753f4df53a2f3daf040f9807a4f9a126</l7:Id>
<l7:Type>CLUSTER_PROPERTY</l7:Type>
<l7:TimeStamp>2019-07-18T17:04:41.043Z</l7:TimeStamp>
<l7:Resource>
<l7:ClusterProperty id="753f4df53a2f3daf040f9807a4f9a126" version="0">
<l7:Name>ase_path2_response</l7:Name> <l7:Value>/ase/response</l7:Value>
</l7:ClusterProperty>
</l7:Resource>
</l7:Item>
<l7:Item>
<l7:Name>ase_path2_request</l7:Name>
<l7:Id>753f4df53a2f3daf040f9807a4f9a124</l7:Id>
<l7:Type>CLUSTER_PROPERTY</l7:Type>
<l7:TimeStamp>2019-07-18T17:04:41.043Z</l7:TimeStamp>
<l7:Resource>
<l7:ClusterProperty id="753f4df53a2f3daf040f9807a4f9a124" version="0">
<l7:Name>ase_path2_request</l7:Name> <l7:Value>/ase/request</l7:Value>
</l7:ClusterProperty>
</l7:Resource>
</l7:Item>
<l7:Item>
<l7:Name>ase_host2_https</l7:Name>
<l7:Id>753f4df53a2f3daf040f9807a4f9a122</l7:Id>
<l7:Type>CLUSTER_PROPERTY</l7:Type>
<l7:TimeStamp>2019-07-18T17:04:41.043Z</l7:TimeStamp>
<l7:Resource>
<l7:ClusterProperty id="753f4df53a2f3daf040f9807a4f9a122" version="1">
<l7:Name>ase_host2_https</l7:Name> <l7:Value>https://your-second-ase-host-and-port</l7:Value>
</l7:ClusterProperty>
</l7:Resource>
</l7:Item>
</l7:References>