IBM Support

How to bypass IBM FileNet P8 Content Engine (CE) server tracing in container deployment

Question & Answer


Question

In some circumstances for container deployment, a server problem may prevent loading of the trace logging configuration or may prevent access to the Administration Console for Content Platform Engine or the API to enable tracing logging. For an instance, while FileNet content operator is trying to initialize FileNet P8 domain and running into some issue, it is extremely helpful to troubleshooting the issue given CE server-side tracing can be enabled.
We are trying to refer the following IBM Documentation link:
https://www.ibm.com/docs/en/filenet-p8-platform/5.5.x?topic=logging-server
We found the following statement, but it is not very clear how to implement those 2 parts in container deployment.

To obtain diagnostic information to repair such problems it may therefore be necessary to enable tracing without reference to the trace logging configuration. This is accomplished in two parts:

  • Set the configuration parameter skipTLC to true, for example by adding -DskipTLC=true to the startup command for the application server JVM hosting the Content Platform Engine.
  • Configure tracing using the Content Engine API mechanism appropriate to the version of the server.

Answer

Here is steps detail for Cloud Pak for Business Automation(CP4BA) V21.0.3, later V22.0.1 and stand-alone FileNet container 5.5.6 and later version.
1 Edit FileNetLogging.properties file
a)Sample Content of FileNetLogging.properties
LogFile=/opt/ibm/wlp/usr/servers/defaultServer/FileNet/ce_trace_custom.log
CELogLevel=error
CESubSystem.LDAP=detail
CESubSystem.EJB=detail
CESubSystem.DB=detail
CESubSystem.ERR=detail
Be noted, for trace flags abbreviation name in CESubSystem.<traceflag_abbreviation_name>, refer the following IBM Documentation link:
https://www.ibm.com/docs/en/filenet-p8-platform/5.5.x?topic=logging-server
Where you can find a table below the statement, please refer the abbreviation column for the values:
The following table identifies the FileNet P8 subsystems for which trace logging can be enabled and the Trace Logging Configuration property by which that is done. In addition, the abbreviation that is used to identify a particular subsystem in the output trace log file is also provided.
b) Copy the file to one of FileNet pod using the following command
For CP4BA deployed in OpenShift Container Platform
$ oc login -u <kubeadmin> -p <kubeadmin_password> https://api-<ocp_cluster>:6443  --insecure-skip-tls-verify=true
Login successful.
You have access to 68 projects, the list has been suppressed. You can list all projects with 'oc projects'                                                                                                           
Using project "xxxx".

$oc get pods
...
icp4adeploy-cpe-deploy-xxxx-xxxx       1/1     Running     0                3h14m
....

 
Or for stand-alone FileNet container deployed in CNCF platform
 
$kubectl get pods
NAME                                          READY   STATUS    RESTARTS      AGE
fncmdeploy-cpe-deploy-xxx-xxxxx               1/1     Running   0             5h47m
...
c) Using kubectl to copy the local file named FileNetLogging.properties into FileNet pod
For CP4BA deployed in OpenShift Container Platform
kubectl cp /root/FileNetLogging.properties icp4adeploy-cpe-deploy-xxxx-xxxx:/opt/ibm/wlp/usr/servers/defaultServer/configDropins/overrides/ -c icp4adeploy-cpe-deploy
Or for stand-alone FileNet container deployed in CNCF platform
kubectl cp /root/FileNetLogging.properties fncmdeploy-cpe-deploy-xxxx-xxxx:/opt/ibm/wlp/usr/servers/defaultServer/configDropins/overrides/ -c fncmdeploy-cpe-deploy
2 CR yaml change (ibm_cp4ba_cr.yaml)
Locate the JVM customize option parameter in  ecm_configuration.cpe. cpe_production_setting.jvm_customize_options, and add the following 2 JVM arguments:
cpe_production_setting:
  time_zone: Etc/UTC

  ## The initial use of available memory.
  jvm_initial_heap_percentage: 18
  ## The maximum percentage of available memory to use.
  jvm_max_heap_percentage: 33

  ## Use this "jvm_customize_options" parameter to specify JVM arguments using comma separation. For example, if you want to set the following JVM arguments:
  ##  -Dmy.test.jvm.arg1=123
  ##  -Dmy.test.jvm.arg2=abc
  ##  -XX:+SomeJVMSettings
  ##  -XshowSettings:vm"
  ## Then set the following: jvm_customize_options="-Dmy.test.jvm.arg1=123,-Dmy.test.jvm.arg2=abc,-XX:+SomeJVMSettings,-XshowSettings:vm"
  jvm_customize_options: "-DskipTLC=true,-Dcom.filenet.logging.ConfigFile=/opt/ibm/wlp/usr/servers/defaultServer/configDropins/overrides/FileNetLogging.properties"
3 Then apply CR yaml
oc apply -f ibm_cp4ba_cr.yaml
Or
kubectl apply -f ibm_cp4ba_cr.yaml
4 restart operator pod and FileNet pod
a) For CP4BA deployed into OpenShift Container Platform
oc scale deployment/ibm-cp4a-operator --replicas=0
oc scale deployment/icp4adeploy-cpe-deploy --replicas=0
oc scale deployment/ibm-cp4a-operator --replicas=1
oc scale deployment/icp4adeploy-cpe-deploy --replicas=<replica_count_in_cr>
Noted: please check replica_count in CR yaml at section ecm_configuration.cpe
a) For stand-alone FileNet container deployed into CNCF Platform
kubectl scale --replicas=0 deployment/ibm-fncm-operator 
kubectl scale --replicas=0 deployment/fncmdeploy-cpe-deploy
kubectl scale --replicas=1 deployment/ibm-fncm-operator
kubectl scale --replicas=<replica_count_in_cr> deployment/fncmdeploy-cpe-deploy
Noted: please check replica_count in CR yaml at section ecm_configuration.cpe
5 Then you can verify if the ce_trace_custom.log is generated in the specified path
a) For CP4BA deployed into OpenShift Container Platform
$oc exec -it icp4adeploy-cpe-deploy-xxxx-xxxx -- /bin/bash
Defaulted container "icp4adeploy-cpe-deploy" out of: icp4adeploy-cpe-deploy, cpe-copy-jdbc (init)
bash-4.4$ pwd
/opt/ibm/wlp/usr/servers/defaultServer
bash-4.4$ cd FileNet
bash-4.4$ ls -lrt
total 400
-rw-r-----.  1 1000650000 root    234 Oct 26 00:49 topology.names
-rw-r--r--.  1 1000650000 root    220 Nov 15 13:40 icp4adeploy_SIRegistry.bak
-rw-r--r--.  1 1000650000 root    220 Nov 15 13:40 icp4adeploy_SIRegistry.txt
drwxr-x---.  9 1000650000 root    230 Nov 15 13:40 icp4adeploy-cpe02
-rw-r-----.  1 1000650000 root      0 Nov 15 13:42 ce_trace_custom.log.lck
drwxr-x---. 11 1000650000 root   4096 Nov 15 13:42 icp4adeploy-cpe01
-rw-r-----.  1 1000650000 root 391117 Nov 15 13:43 ce_trace_custom.log
b) For stand-alone FileNet container deployed into CNCF Platform
$kubectl exec -it fncmdeploy-cpe-deploy-xxxx-xxxx -- /bin/bash
Defaulted container "fncmdeploy-cpe-deploy" out of: fncmdeploy-cpe-deploy, cpe-copy-jdbc (init)
bash-4.4$ pwd
/opt/ibm/wlp/usr/servers/defaultServer
bash-4.4$ cd FileNet
bash-4.4$ ls -lrt
total 400
-rw-r-----.  1 1000650000 root    234 Oct 26 00:49 topology.names
-rw-r--r--.  1 1000650000 root    220 Nov 15 13:40 fncmdeploy_SIRegistry.bak
-rw-r--r--.  1 1000650000 root    220 Nov 15 13:40 fncmdeploy_SIRegistry.txt
drwxr-x---.  9 1000650000 root    230 Nov 15 13:40 fncmdeploy-cpe02
-rw-r-----.  1 1000650000 root      0 Nov 15 13:42 ce_trace_custom.log.lck
drwxr-x---. 11 1000650000 root   4096 Nov 15 13:42 fncmdeploy-cpe01
-rw-r-----.  1 1000650000 root 391117 Nov 15 13:43 ce_trace_custom.log

[{"Type":"MASTER","Line of Business":{"code":"LOB45","label":"Automation"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSBYVB","label":"IBM Cloud Pak for Business Automation"},"ARM Category":[{"code":"a8m0z0000001iUZAAY","label":"Operate-\u003EFNCM Install\\Upgrade\\Setup"}],"ARM Case Number":"","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"21.0.3"}]

Document Information

Modified date:
15 November 2022

UID

ibm16839483