For the Elasticsearch Metrics component to work with HCL Connections Component Pack, you
must run a script on the Component Pack system to set the Elasticsearch server base URL in Highway.
Also, WebSphere Application Server, which hosts the Metrics component, must run Java 8 and use an
SSL client certificate when sending HTTPS requests to Elasticsearch on the Component Pack
system.
Before you begin
Make sure that secure connections are established in your deployment, as explained in Forcing traffic to use TLS 1.2.Important: Elasticsearch Metrics
requires that the WebSphere Application Server is running Java 8. If you have a new Filenet
deployment and you temporarily switched to Java 6 to update Filenet components after applying
Connections 6.0 CR1, make sure that you switch back to Java 8 before you start the following
procedure.
Procedure
-
If your single sign-on solution includes IBM Security Access Manager, SiteMinder, or SPNEGO
with SiteMinder, update the URLs that require basic authentication to include
/metricssc/configsetter by referring to the appropriate topic:
-
Run the configuration script as follows:
-
On the HCL Connections Component Pack system, verify that the IBM Cloud Private boot server has
the correct fully qualified hostname setting by running hostname on the server.
It should return example.ibm.com. If it returns "example" you must
either fix this or use --pinkhost in step 2b to set the correct value for
running the script.
-
From the extracted zip folder in microservices/hybridcloud/bin, call the
script by running the following Linux command:
python config_blue_metrics.py --skipSslCertCheck true
- You must use --skipSslCertCheck (set to true) on systems that use
self-signed SSL certificates.
- Use --pinkhost on HCL Connections Component Pack deployments that use a
floating hostname.
- Use --namespace on an HCL Connections Component Pack deployment where
connections is not the Kubernetes namespace to use.
Here is a sample of the output from the
script:
[Adminuser@Server127 ~]$ python config_blue_metrics.py --skipSslCertCheck True
Updating Metrics settings on: https://Server127.yourDomain.com/metricssc/configsetter
{"c2.export.elasticsearch.baseurl" : "https://Server127.swg.usma.ibm.com:30099"}
-
Restart MetricsEventCapture and MetricsUI through the wasadmin console.
-
To ensure a secure connection, retrieve the PKCS12 and CA Signer certificates from these
locations on the Component Pack server:
/opt/elasticsearch/elasticsearch-metrics.p12
/opt/elasticsearch/ca/chain-ca.pem
-
Copy the certificate files to the Deployment Manager in a common location readable and writable
by all WebSphere Application Server nodes.
-
Now, run some wsadmin commands:
-
Open wsadmin, making sure that you use the -lang jython option. For example,
on Unix, run the following commands to open wsadmin:
cd /opt/IBM/WebSphere/AppServer/profiles/Dmgr01/bin
./wsadmin.sh -lang jython
-
Run the following commands to merge the signer certificate into the
elasticsearch-
metrics.p12 keystore:
execfile('esSecurityAdmin.py')
enableSslForMetrics('KEYSTORE_FULL_PATH', 'STORE_PASSWORD', 'SIGNER_CA_FULL_PATH', 'ELASTICSEARCH_HTTPS_PORT')
quit
For
example:
execfile('esSecurityAdmin.py')
enableSslForMetrics('/opt/IBM/elasticsearch-metrics.p12', 'Elasticsearch_CA_password', '/opt/IBM/chain-ca.pem', '30099')
Note:
- The password is the one that the administrator supplied for the
--set_elasticsearch_ca_password option during the IBM Cloud Private
install.
- See the sample output in step 2b for where to find your HTTPS port (the HTTPS port in the
example in step 2b is 30099).
-
Copy the updated elasticsearch-metrics.p12 file from the Deployment
Manager to the common location on the WebSphere Application Server nodes.