Installing and Configuring HERO

Checking system prerequisites

Before starting to install HERO, you must check the following system prerequisites:

  1. Verify that Docker and Docker Compose are installed, configured, and ready to use. For the required version, see System Requirements.  

If you don't have Docker and Docker Compose already installed, see Installing Docker and Docker Compose.

  1. HERO requires some values to be set for ulimit parameter, for Linux OS. See: How to verify and set ulimit parameter.

  2. Verify the available virtual memory. See: How to verify and set the available virtual memory.

  3. If you are installing HERO on RHEL or CentOS distros, SELinux must be set to Permissive or Disabled. See: How to set SELinux to permissive.

  4. If you are planning to install HERO on Windows with Hyper-V (Linux containers) see Running Linux containers on Windows Server 2019.

Installation procedure

To install and configure HERO, run the following procedure.

 

  1. From HCL License Portal download the appropriate HERO installation package.  

  2. Extract the content of the tar.gz file into <BUILD_DIR>, a directory of your choice using one of the extraction tools available on your system or downloadable from the Internet. The tool you use must be able to keep the file permissions on the extracted files.

  3. Depending on your environment, download the DB2 or Oracle JDBC driver .jar file from your database provider, and copy it to the <BUILD_DIR>/EXT directory. Use the same JDBC drivers configured in  Workload Automation for DB2 or Oracle connectivity.  

  4. HERO supports SSL encryption for JDBC connection.  If you want to use a custom SSL truststore file, replace the file <BUILD_DIR>/devops/cert/hero.jks with a custom one. During the installation process you will be prompted to provide the truststore password. You can also change the truststore password during the installation.

  5. If you want to enable IPv6 connectivity in Docker containers, you must properly set the subnet values (gateway and ipv6_address)  in the <BUILD_DIR>/devops/templates/ipv6/docker-compose.yml file. For details, see Docker documentation.

  6. Hero server uses Tomcat standard time zone (UTC). If the monitored servers use a different time zone, this might impact HERO monitoring activities. To set up a different time zone in HERO, before starting with the installation, you must edit the <BUILD_DIR>/docker-compose.yml file in the following way:

  7. - CATALINA_OPTS=-Xmx4g -Xms4g -Dnashorn.args=--no-deprecation-warning  

    add the following parameter:

    -Duser.timezone=selected_time_zone

     

    Configuration example for GMT time zone:   

    - CATALINA_OPTS=-Xmx4g -Xms4g -Dnashorn.args=--no-deprecation-warning  -Duser.timezone=GMT

     

    Note:

    Make sure you do not change file indentation.

     

    For the list of supported time zones in Tomcat, see the section Available Time Zones in the Java documentation.  

  8. To install HERO on Windows operating system, user must have administrator permissions. To install HERO on Linux operating system, user must have read and write permissions for the  <BUILD_DIR>  directory. The user must have execute permissions for Docker commands. This means that the user must be a member of sudoers group or Docker group. If the user is a member of sudoers group but not of Docker group, the installation script must be run with sudo. Also, in order for Docker containers to access HERO configuration files, all sub-folders and files in the <BUILD_DIR>/EXT directory must have permission set to 775 .

  9. For Windows, open a PowerShell console. For Linux, open a Bash shell.

  10. From the <BUILD_DIR> directory, start the installation script:  

              To get the command help, type: ./installHERO.sh --help

      Note: By default HERO installation script will start offline but if the installation script is executed with “-o” flag, HERO will be installed online.

  11. You can supply the required parameters either within the command:

    or when the installHERO script requires them during the installation process. Required parameters are:

  12. If you want to configure alerting by email, you are required to enter the following SMTP parameters:

  13. If you are using a custom SSL truststore file for your JDBC connection, you are required to enter the following parameter:

  14. The installation script runs the installation process and verifies its successful completion.

 

Post installation steps

When the installation is complete, the following link is prompted to access the HERO dashboard: https://<your_host_machine_address:port>/Dashboard  

The installation script generates two HERO users:

Use the Keycloak administration console to define new users, new roles, or change default passwords. You can access Keycloak administration console at the following link: https://<IP:PORT>/keycloak/auth/admin by using the following credentials:

 If you want, you can change Keycloak default password. For instructions, see Configuring Security.

 

Before adding environments to the HERO dashboard, verify that the installation process has created a Kibana default index pattern:

 

To stop HERO, from the <BUILD_DIR> directory, type docker-compose stop

To restart HERO, from the <BUILD_DIR> directory, type docker-compose start

 

For any reference, you can find the manual installation procedure in the Appendix. It guides you to manually execute the steps run by the automatic installation script.  

 

 

Managing containers

To manage HERO containers, run the following procedures from the <BUILD_DIR> directory.

 

    1. docker-compose stop

    2. docker-compose start

    1. docker-compose down

    2. docker-compose up --build -d

This procedure doesn't reset the custom client secret if you have created one (see Configuring Security).

    1. docker-compose down

    2. docker volume rm <BUILD_DIR>_hero-home

    3. docker-compose up --build -d

This procedure doesn't reset the custom client secret if you have created one (see Configuring Security).

    1. docker-compose down

    2. docker volume rm <BUILD_DIR>_hero-home <BUILD_DIR>_ build_hero-db-data <BUILD_DIR>_ build_hero-es-data <BUILD_DIR>_ build_keycloak-nginx-ssl <BUILD_DIR>_ build_pgdata

    3. docker-compose up --build -d

This procedure resets also the custom client secret if you have created one (see Configuring Security). Reconfigure HERO with the default client secret or create a new one.  

docker rmi <BUILD_DIR>] _tomcat <BUILD_DIR>_prediction <BUILD_DIR>_keycloak <BUILD_DIR>_nginx <BUILD_DIR>_licensesrv <BUILD_DIR>_kibana docker.elastic.co/kibana/kibana-oss docker.elastic.co/elasticsearch/elasticsearch-oss

This command completely uninstall HERO.  

 

Applying changes to Runbooks and Monitors

Every time a runbook is added, or a new monitor is created, run the following commands from the <BUILD_DIR> directory:

  1. docker stop hero-tomcat

  2. docker rm hero-tomcat

  3. docker volume rm <BUILD_DIR>_hero-home   (to remove the configuration volume)

  4. docker-compose up --build -d

 

Configuration Files

The dashboard.properties file contains general configuration parameters:

 

disk-space

Minimum percentage for the disk space monitor to generate an alert

IPdashboard

The URL of the HERO server used by the monitoring scripts

IPdashboard_curl_options

The options used by the CURL command run by the monitoring scripts. Used for authentication purposes on the HERO server

elasticsearch_external

The historical database (ES) URL to be used by the monitoring scripts running on the workstation

elasticsearch_curl_options

The options for the CURL command run by the KPI scripts.  Used for authentication purposes on the  Elastichsearch

 

Queue_< queue name >_limit

Warning that notifies when the queue availability is lower than the limit that you set. Supported only for Workload Automation.

esClientLink

The link used by the HERO server to reach the Historical Database (ES)

kibanaLink

Link to Kibana

scheduledTime

The frequency of the scheduling operations for HERO monitors

esQueueMapping

Template for creating the index on ES

esQueueDashboardTemplate

Template for creating the queue dashboard

esQueueChartVisualizationTemplate

Template for creating the chart visualization for the queue

esQueueGaugeVisualizationTemplate

Template for creating the Gauge visualization for the chart in the dashboard.

esQueuePanelJSONTemplate

Template for creating the Queue panel

esThroughputMapping

Template for creating the ES index for throughput

esThroughputChartVisualizationTemplate

Template for the throughput visualization for the chart in the dashboard

esThroughputPanelJSONTemplate

Template for creating the throughput panel

LaunchInContextUrl

The url of the HERO UI that will be used in the alert emails

tempPath

The path on the HERO Server where the monitor files will be stored before deploying

runbookLimit

Maximum number of visualized runbooks

alertSmtpEmail

The recipients to whom alerts by email must be sent. Can be a comma separated list of email accounts [Example: username1@gmail.com, username2@gmail.com]

alertSmtpPassword

The password associated to the sender email account

alertSmtpServer

Fully qualified hostname of the SMTP Server that will be used by HERO to send alerts by email [Example: smtp.gmail.com]

alertSmtpPort

The port of the SMTP mail server [Must be a TLS Port. Example for gmail: 587]

senderEmail

The sender email account [Example: username@gmail.com]  

maxLogsShown

Maximum number of visualized logs

   licenseServer

The URL of HCL License Portal, for license validation

   licenseID

The HERO license

   pwdNeedsEncryption

Require that alertSmtpPassword must be encrypted on the first execution of SMTP application

   taskSchedulerThreadPoolSize

Max number of threads for scheduled monitors

predictionIndexMapping

Template to create the prediction index on ES

deployPath

Home directory in which monitoring scripts are deployed

 

The ui.properties file configures the connection to the HERO web application services:

 

ip

The hostname or IP address of the HERO server

port

The port of the HERO server

kibanaHost

The hostname of the dashboarding service (Kibana) that is reachable by the browser

kibanaPort

The port of the dashboarding service (Kibana) that is reachable by the browser

protocol

The protocol to be used (http or https)

wsProtocol

The protocol used for the shell inside HERO, this protocol should be ws if the protocol property is http, otherwise this should be wss

sshPort

The ssh port for the connection to other machines (usually 22)

keycloak

Used to configure the connection to Keycloak. Set this variable to the same value at which you set the Keycloak_URL  parameter in

the .tomcat.env file. For details, see Configuring Security.

roles

Available roles in the HERO Keycloak security configuration, separated by comma

clientSecret

Used to configure HERO with a new secret in place of the default one. For details, see Configuring Security.