Installing BMC Helix Logging


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

  • Elasticsearch: A search engine also used to store and analyze logs.
  • Fluent Bit: Aggregates the application logs collected by the log shipper and sends them to Elasticsearch.
  • Kibana: A web user interface for data visualization and a log exploration tool.

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

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 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.
  1. Perform the following prerequisites that are relevant to your deployment.

    Deployment

    Procedure

    Kubernetes

    1. Use the default namespace or create a namespace in Kubernetes: 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 created in step a.
    3. 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
    4. To use a different namespace, go 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: Example: bmc-helix-logging.
    2. Using admin privileges, navigate to helix-on-prem-deployment-manager/utilities/bmc-helix-logging/efk/fluent-bit/ and run the following commands:
      • oc apply -f efk-fluent-bit-scc.yaml to replace the efk-fluent-bit-scc.yaml namespace.

      • oc apply -f efk-fluent-bit-clusterrole.yaml to replace the efk-fluent-bit-clusterrole.yaml namespace.
      • oc adm policy add-scc-to-user efk-fluent-bit -z efk-fluent-bit -n <namespace> to add adm policy scc to the service account in the namespace.
    1. Add bmc-helix-logging GID in bmc-helix-logging.config. Example:
      • LOGGING_RUN_AS_USER=1000750000
      • LOGGING_RUN_AS_GROUP=1000750000
      • LOGGING_FS_GROUP=1000750000
  2. Go 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 ="::"
  3. Run the ./bmc-helix-logging-deployer.sh script.
    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*