Installing BMC Helix Logging
Before you begin
- Make sure that BMC Helix Platform Common Services 25.3.00 is installed.
Make sure that the following ports are available for Elasticsearch and Kibana services:
Service
Ports
ElasticSearch
9200, 9300
Kibana
5601
- Make sure that you have a separate namespace to install BMC Helix Logging.
See System requirements. - Download the bmc-helix-logging-25.3.00.tgz file from EPD by using the BMC Helix Platform CommonServices Logging Bundle option.
See Downloading the installation files.
To install BMC Helix Logging
- Extract the bmc-helix-logging-25.3.00.tar file to the helix-on-prem-deployment-manager/utilities folder in the working directory.
- Perform the following procedures that are relevant to your deployment.
Deployment
Procedure
Kubernetes
- Use the default namespace or create a namespace in Kubernetes; for example, bmc-helix-logging.
- Navigate to helix-on-prem-deployment-manager/utilities/bmc-helix-logging/efk/fluent-bit/ and replace the efk-fluent-bit-clusterrole.yaml namespace with the namespace that was created in step a.
- Run the following command:
kubectl apply -f efk-fluent-bit-clusterrole.yaml Use the cluster admin permission and apply the privileged policy to the new namespace.
kubectl label namespace <namespace-name> pod-security.kubernetes.io/enforce=privileged
kubectl label namespace <namespace-name> pod-security.kubernetes.io/enforce-version=latest
kubectl label namespace <namespace-name> pod-security.kubernetes.io/audit=privileged
kubectl label namespace <namespace-name> pod-security.kubernetes.io/audit-version=latest
kubectl label namespace <namespace-name> pod-security.kubernetes.io/warn=privileged
kubectl label namespace <namespace-name> pod-security.kubernetes.io/warn-version=latest- To use a different namespace, navigate to bmc-helix-logging.config and set the variable BMC_HELIX_LOGGING_NAMESPACE to a new namespace.
OpenShift
- Use the default namespace or create a namespace in Openshift; for example, bmc-helix-logging.
- Make sure that you have the cluster administrator permissions.
Navigate to helix-on-prem-deployment-manager/utilities/bmc-helix-logging/efk/fluent-bit/ and run the following commands:
- To replace the efk-fluent-bit-scc.yaml namespace, run the oc apply -f efk-fluent-bit-scc.yaml command.
- To replace the efk-fluent-bit-clusterrole.yaml namespace, run the oc apply -f efk-fluent-bit-clusterrole.yaml command.
- To add adm policy scc to the service account in the namespace, run the oc adm policy add-scc-to-user efk-fluent-bit -z efk-fluent-bit -n <namespace> command.
- Add bmc-helix-logging UID in bmc-helix-logging.config; for example,
- LOGGING_RUN_AS_USER=1000750000
- LOGGING_RUN_AS_GROUP=1000750000
- LOGGING_FS_GROUP=1000750000
- Navigate to the helix-on-prem-deployment-manager/utilities/bmc-helix-logging/bmc-helix-logging.config file and set the following values:
Parameter
Description
KIBANA_LB_HOST
Specify a URL to create a Kibana load balancer host.
The BMC Helix Logging Ingress uses the value of this parameter.
Example: KIBANA_LB_HOST= kibana-private-poc.mydomain.comESLOG_MASTER_STORAGE_CLASS
Specify a storage class for Elasticsearch master nodes.
Usually, a single storage class by using block storage is configured for all the infra services.Example: ESLOG_MASTER_STORAGE_CLASS=acme-block-storage
ESLOG_DATA_STORAGE_CLASS
Specify a storage class for Elasticsearch data nodes.
Usually, a single storage class by using block storage is configured for all the infra services.Example: ESLOG_DATA_STORAGE_CLASS=acme-block-storage
ESKIBANA_SERVER_HOST
- To allow connections to Kibana service from any IPv4 address, set ESKIBANA_SERVER_HOST ="0.0.0.0"
- To allow connections to Kibana service from any IPv6 address, set ESKIBANA_SERVER_HOST ="::"
- Run the bmc-helix-logging-deployer.sh script by using the following command:
./bmc-helix-logging-deployer.sh fresh
The BMC Helix Logging EFK is deployed in the BMC Helix Logging namespace.
To set the ILM policy for log retention
If you enable BMC Helix Logging, you must set the Index Lifecycle Management (ILM) policy for log retention in Kibana UI.
To set up an ILM policy to retain the logs for 10 days, perform the following steps:
- To create an ILM policy, perform the following steps:
Download the
file and copy its contents.- Go to helix-on-prem-deployment-manager/utilities/bmc-helix-logging/bmc-helix-logging.config.
- Obtain the URL to access the Kibana UI.
This is the value that you had set for the parameter KIBANA_LB_HOST.
For example, https://kibana.apexglobal.bmc.com.
See Configuration-file-settings. - Click
, and select Management > Dev Tools.
- If the Console tab has any data, delete it.
- Paste the contents of the HelixLogDeletePolicy.json file in the Console tab and click
.
You will get the following message and a policy is created with the name HelixLogDelete10DaysLog-Policy:
- To apply the ILM policy to all indices that are already created, perform the following steps:
- Click
, and select Management > Stack Management.
- Select Data > Index Management
- Select an index; for example, logstash-2024.01.04.
- From the Manage Index list, select Add lifecycle policy.
- In the Add lifecycle policy to "<Index name>" box, from the Lifecycle policy list, select the policy that you created, and click Add policy.
The policy is applied only to the index that you had selected; for example, logstash-2024.01.04. - Repeat the steps to apply the ILM policy to all indices.
- Click
- To verify that the policy is applied an index, perform the following steps:
- Click
, and select Management > Stack Management.
- Select Data > Index Management
- Click an index to view the summary.
- In the Index lifecycle management area, click Show definition to verify that the policy is applied.
- Click
- To create a ILM policy template, perform the following steps:
To apply the ILM policy to all new indices that might get created, you must create the ILM policy template.Download the
file and copy its contents.- Click
and select Management > Devtools.
- In the Console tab, paste the contents of the HelixLogIndexTemplate.json file and click
.
You will get the following message:
The index template HelixLogIndexTemplate gets created with the policy name HelixLogDelete10DaysLog-Policy.
The new template will apply to all new indices.
- To verify the ILM policy template created, perform the following steps:
- Click
, and select Management > Stack Management.
- Select Data > Index Management
- Go to the Index Templates tab and verify that the template is created.
- Click
For more information, see ILM: Manage the index lifecycle.
Where to go from here