Installing BMC Helix Logging


As a system administrator, you must deploy and configure BMC Helix Logging to collect logs, and then configure the Kibana to view logs.

BMC Helix Logging uses Elasticsearch, Fluent Bit, and Kibana (EFK) to collect, store, and view logs:

  • Elasticsearch: A search engine which is also used to store and analyze logs.
  • Fluent BitA data agent aggregates the application logs collected by the log shipper and sends them to Elasticsearch.
  • KibanaA log exploration tool, which has a web interface for data visualization.

 

Before you begin

  • Make sure that BMC Helix Platform Common Services 25.1.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.1.00-45.tar file from EPD by using the BMC Helix Platform CommonServices Logging Bundle option.
    See Downloading-the-installation-files.

To install BMC Helix Logging

  1. Extract the bmc-helix-logging-25.1.00-45.tar file to the helix-on-prem-deployment-manager/utilities folder in the working directory.
  2. Perform the following procedures that are relevant to your deployment.

    Deployment

    Procedure

    Kubernetes

    1. Use the default namespace or create a namespace in Kubernetes; for example, bmc-helix-logging.
    2. 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.
    3. Run the following command:
      kubectl apply -f efk-fluent-bit-clusterrole.yaml
    4. 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
    5. To use a different namespace, navigate to bmc-helix-logging.config and set the variable BMC_HELIX_LOGGING_NAMESPACE to a new namespace.

    OpenShift

    1. Use the default namespace or create a namespace in Openshift; for example, bmc-helix-logging.
    2. Make sure that you have the cluster administrator permissions.
    3. 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.
    4. 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
  3. 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.com

    ESLOG_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 use IPv4, set ESKIBANA_SERVER_HOST ="0.0.0.0"
    • To use IPv6, set ESKIBANA_SERVER_HOST ="::"
  4. Run the bmc-helix-logging-deployer.sh script by using the following command:
    ./bmc-helix-logging-deployer.sh 
    The BMC Helix Logging EFK is deployed in the BMC Helix Logging namespace.

Where to go from here

Setting-up-the-installation-environment

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*