Post-core component installation tasks


Following the installation of the core components, but prior to installing the agents, you must complete the following tasks: 

Warning
Important

Before starting services or any of the post installation tasks, ensure you have applied any service or agent Fix Packs; make sure you follow the instructions in the Fix Pack readme file. The latest Fix Packs can be found under Notices-old.

When you complete the post installation tasks in this section, you can perform one of the following tasks:

Install required RPM packages on Redhat Enterprise Linux 8 (RHEL 8.x)

Run the following command when installing MainView Middleware Monitorservices on RHEL 8.x:

yum install ncurses-compat-libs

yum install libnsl

Install a required compatibiltiy package on SUSE Enterprise Linux 15 (SLES 15.x)

Run the following command when installing MainView Middleware Monitorservices on SLES 15.x:

zypper install libncurses5

Start services

Following installation, you must start the  MainView Middleware Monitor (MVMM ) services in the correct order. 

Success
Tip

Two minutes after starting the MVMM  services, a Monitor Edition or newly installed licensed edition of MainView Middleware Administrator (MVMA) will be configured if it hasn’t already been done so. For more information on how to log in to MVMA for the first time, see Verifying your MVMA integration below.

Start and stop order

 In addition to the required start and stop order for services, the following table includes the program name for the services.

Start order

Services

Program

Stop order

1

MVMM Application Service

qpas

6

2

MVMM Topic Service

qpts

5

3

MVMM Event Service

qpes

4

4

MVMM History Service

qphs

3

5

MVMM Client Gateway Service

qpcgateway

2

6

(Optional) MVMM  ProactiveNet Service

qpps

1

Before you begin

On UNIX systems, ensure that the UNIX userid that starts the services has read access to /dev/random and /dev/urandom.

To start the services on Windows

  1. Open the Windows Service Control Manager.
  2. Scroll through the services, and locate MVMM Application Service. The status of the service is displayed as Started if it is running or blank if it is stopped.
  3. Select MVMM Application Service and click Start. A dialog box appears indicating the service is being started.
  4. If the service does not start, verify that the service is proxy configured with a valid user account and password.
  5. Repeat for the remaining services in the start order listed in the Start and stop order table.

To start and stop the services on Windows or UNIX using the command prompt

  1. Open a command prompt.
  2. Perform the required operation listed in the following table using the corresponding long or short command option.

To do this…

Use long option

Use short option*

Start the service.

--start
-s

Stop (kill) the service.

--stop
-k

Run the program as a console application.

--console
-c

Debug the service configuration startup.

--debug
-d

Specify the service's configuration file.

--conf filename
-f filename

Print the product version and exit.

--version
-v

Install the program as a Windows service, with an automatic startup (Windows only).

--install
-i

Remove the program from the Windows Service Manager (Windows only).

--remove
-r

Print this option list.

--help
-h

Display transient checkpoint data and exit.

--transient
-t

Specify the service to be debug build only, used with third party tools that change process name (for internal use only).

--progname serviceName
-p

*The short options are not valid with the MVMM  Client Gateway Service.

Verify your MVMA integration

By default, two minutes after starting the MVMM services, a Monitor Edition or newly-installed licensed edition of MVMA will be configured if it hasn’t already been done so. During the configuration process, MVMA is restarted and MVMM will wait up to five minutes for MVMA to restart. BMC recommends that you wait about ten minutes before attempting to log in to MVMA for the first time. 

This section includes:

Verifying in the qpas-webmc.log file

After MVMA restarts, or MVMA stops reconnecting if there was a configuration issue, the qpas-webmc.log file contains LM_NOTICE output. Below is an example of the output, where the configuration succeeded: 

...Level=LM_NOTICE) [Client File=AdminControllerImpl.java, Line=265, Thread=Admin - 0] MVMA administrator user admin_user authenticates.
...Level=LM_NOTICE) [Client File=AdminControllerImpl.java, Line=265, Thread=Admin - 0] MVMA ldap user ldap_user authenticates.
...Level=LM_NOTICE) [Client File=AdminControllerImpl.java, Line=265, Thread=Admin - 0] Users and groups used by MVMA are up to date.
...Level=LM_NOTICE) [Client File=AdminControllerImpl.java, Line=265, Thread=Admin - 0] Able to log in to MVMA using initial user admin.
...Level=LM_NOTICE) [Client File=AdminControllerImpl.java, Line=265, Thread=Admin - 0] MVMA version 0.1.0 is sufficient for integration.
...Level=LM_NOTICE) [Client File=AdminControllerImpl.java, Line=265, Thread=Admin - 0] MVMA key installed.
...Level=LM_NOTICE) [Client File=AdminControllerImpl.java, Line=265, Thread=Admin - 0] Default MVMA user id admin has been removed.
...Level=LM_NOTICE) [Client File=AdminControllerImpl.java, Line=265, Thread=Admin - 0] MVMA user id admin_user configured.
...Level=LM_NOTICE) [Client File=AdminControllerImpl.java, Line=265, Thread=Admin - 0] Configured MVMA for LDAP_LDAP using internal LDAP
...Level=LM_NOTICE) [Client File=AdminControllerImpl.java, Line=265, Thread=Admin - 0] MVMA succesfully notified to restart.
...Level=LM_NOTICE) [Client File=AdminControllerImpl.java, Line=265, Thread=Admin - 0] Able to log in to MVMA using configured user admin_user.
...Level=LM_NOTICE) [Client File=AdminControllerImpl.java, Line=265, Thread=Admin - 0] MVMA version 0.1.0 is sufficient for integration.
...Level=LM_NOTICE) [Client File=AdminControllerImpl.java, Line=265, Thread=Admin - 0] Restart succeeded after 16 seconds.
...Level=LM_NOTICE) [Client File=AdminControllerImpl.java, Line=242, Thread=Admin - 0] MVMA integration configuration complete.

Verifying using the mqtool CLI

You can also use the mqtool CLI to verify the configuration.

Below is an example of output when the configuration was successful. 

mqtool --check-config -p BMCSOFTWARE SA 
OPTION SETTINGS: --check-config = true
Able to log in to MVMA using configured user admin_user.
MVMA version 0.1.0 is sufficient for integration.
MVMA has key already installed.
MVMA has a Monitor Edition key.
MVMA uses the same LDAP as MVMM.
MVMA user id admin_user already configured.
MVMA is configured for LDAP_LDAP using internal LDAP.
MVMA has 0 projects defined. 

Logging into MVMA for the first time

When logging into MVMA for the first time, and when using the MVMA security, you can use any user that is a member of the MVMA Administrators group or that has the “MVMA Integration Configuration” permission. For an initial test, you can use the SA user.

When using Active Directory you can use the MVMA administrative user specified during execution of the Security Configuration Tool.

If you are still unable to log in to MVMA, see the instructions in the following sections. 

Warning

Important

The IBM MQ connections need to be discovered as this will not be automatic. See Creating-the-IBM-MQ-Connection-server-connection-channel

If you are using MVMM  Security

When integrating with MVMA located on another host, network interfaces are used by default to determine a hostname or IP address to configure MVMA, so that it can connect to MVMM .

Search the MVMA log (log/bmm.admin.log) for the string “URL”. For example: URL 'ldaps://testhost.bmc.com:15011'.

Verify the host from the log (for example, testhost.bmc.com) is reachable using ping or another network tool. 

If for some reason the hostname or IP address used is not reachable from the MVMA machine, you can specify a hostname or IP address by changing the ldap_hostname keyword of the [App_Service] stanza in services.cfg from localhost to a reachable hostname or IP address. When altering this value, you will have to re-install and re-configure MVMA as outlined in How to re-configure MVMA after configuration issues

If you are using Active Directory

Verify that when the Security Configuration Tool was used, all the values passed validation. If not, re-execute the Security Configuration Tool and correct those values. Otherwise, execute the ADCheck CLI to see if it reports any possible configuration errors that can be corrected. If any configuration values were altered, reconfigure the MVMA integration by executing the following command from the MVMM  installation directory:

mqtool --reconfigure -p BMCSOFTWARE SA

If the old value still seems to be in use, you may need to re-install MVMA and reconfigure, as outlined in How to re-configure MVMA after configuration issues.

Warning

Important

When you log into MVMM , make sure to add groups that match the groups configured in your Active Directory. A group where the MVMA administrative user specified during execution of the Security Configuration Tool is a member and and must have the MVMA Integration Configuration permission. Any group with the  MVMA Integration Configuration permission is configured as an administrator in MVMA. If you add groups or change permissions, you may need to reinstall MVMA and reconfigure as outlined in How to re-configure MVMA after configuration issues.

Contacting BMC Support

If are still unable to log into MVMA, the following is required when contacting BMC Support.

  • Output from executing the mqtool CLI and ADCheck CLI to obtain the current configuration state.
    • Execute from the MVMM  installation directory: mqool -v --check-config -p BMCSOFTWARE SA
    • Execute from the MVMM  installation directory if using Active Directory, ADCheck.
  • MVMM do_support
  • MVMAlogs

How to re-configure MVMA after configuration issues

  1. Stop MVMA
  2. Uninstall MVMA
  3. Re-install MVMA
  4. Start MVMA
  5. Execute from the MVMM  installation directory: mqtool --reconfigure -p BMCSOFTWARE SA

If for some reason you are unable to re-install MVMA you will need to contact BMC Support to assist you in altering the values in the MVMA database.

Secure communication among product componentsThis section describes the post-installation security setup when necessary.

Securing HTTPS in the MVMM  Application Service

You can securely access the MVMM  product launch page, distribute agents, or view and download reports by using HTTPS (configured, by default, on network port 15004). You must have an X.509 TLS Certificate available to use HTTPS.
If you have not installed an 
X.509 TLS Certificate post-install,  the MVMM  Application Service generates a self-signed X.509 TLS Certificate. This certificate and its private key are held in the java keystore file in the following location: InstallDir/jetty/webapps/localhost.jks.

Warning

Important

  • We recommend you install a certificate that must be signed by a trusted Certificate Authority (CA), such as your Active Directory Domain Controller.
  • MVMM  can use two SSL security certificates. One for the MVMM  Application Service in secure mode and the other when you configure Active Directory. These are different certificates and must not be confused.
  • We recommend you install a certificate that supports Subject Alternative Name (SAN) fields. These fields contain alternative names (DNS names or IP address) which you can use to securely address the MVMM Application Service.

That certificate is presented to your web browser whenever you visit a secured web page on the MVMM  Application Service so that you can be certain that you are communicating only with the MVMM  Application Service, and that any information sent or received remains confidential.

Most web browsers do not accept a self-signed certificate by default. Some browsers might let you import or temporarily accept a self-signed X.509 certificate.
Make sure you verify the following before accepting a self-signed certificate:

  • Review the browser dialog boxes.
  • Make sure you are exporting the exact certificate you require.
  • Use trusted, secure, and distributed information to verify a self-signed certificate.

If your local security policies do not permit self-signed certificates, you must install a certificate signed by a trusted Certificate Authority.

To install a Certificate Authority (CA) Signed Certificate

MVMM requires a certificate and key to be provided in a Java keystore (a .jks file). You must acquire or prepare the Java keystore according to your certificate handling processes.

  1. Open services.cfg in a text editor and locate the lines:

    jetty_keystore=jetty/webapps/localhost.jks
    jetty_keystore_password=OBF:1fuk1kl61f9d1mrf1ldm1gu71ldw1mrn1f991klg1fuq
    jetty_keystore_keypassword=OBF:1fuk1kl61f9d1mrf1ldm1gu71ldw1mrn1f991klg1fuq
  2. To generate OBF encoded passwords for both the keystore and key passwords, run the obfpassword program from the installation directory:

    CD InstallDir
    obfpassword.bat password

    In the above example, password is the keystore or key password.

    Information
    Example of the output from the obfpassword.bat command

    password
    OBF:1O4O1ZLY1QW01VU11YM71YM71VV91QXQ1ZLK1O5Y
    MD5:48503DFD58720BD5FF35C102065A52D7 (ignore this line)

  3. Copy and paste the OBF generated passwords into the jetty_keystore_password and jetty_keystore_keypassword lines in services.cfg. Do not use the MD5 string.

    Warning

    Important

    Make sure both the passwords are same (this is for backwards compatibility only).

  4. Replace jetty/webapps/localhost.jks with the path to your certificate and localhost.jks is the name of the new or existing keystore file.
  5. Recycle the services to enable the changes made after editing services.cfg.
  6. To verify that the expected certificates are being used by the MVMM  Application Service, enter https://hostname:15004 in the address bar of the browser.
    The hostname is the IP address or host name of the computer running the MVMM  Application Service.

    Warning

    Important

    Use the browser controls to view the certificate being used.

Certificates for securing TLS communications

The MVMM  services use X.509 certificates to secure TLS communications in several scenarios. The following table summarizes the certificates:

Use

Configuration Section

Certificates

HTTPS

Type

Description

jetty_keystore

HTTPS key and certificate. 

jetty_keystore_password

A self-signed certificate is generated on qpas start if the keystore file does not already exist.

jetty_keystore_keypassword

Password is plain text or OBF encoded. Password and key password must be the same.

https_certificate_cn

A fully qualified host name to use in the generated certificate. The default host name is used if not set.

  • https_certificate_alternative_dns_names

A comma-separated list of alternative DNS names.

  • https_certificate_alternative_ip_addrs

A comma-separated list of alternative IP addresses.

LDAPS

Type

Description

ldaps_keystore

LDAPS key and certificate.

ldaps_keystore_password

A self-signed certificate is generated on qpas start if the keystore file does not already exist.

ldaps_certificate_cn

Password is plain text or Cryptor encoded. A fully qualified host name to use in the generated certificate. The default host name is used if not set.

ldaps_certificate_alternative_dns_names

A comma-separated list of alternative DNS names.

ldaps_certificate_alternative_ip_addrs

A comma-separated list of alternative IP addresses.

javax.net.ssl.trustStore

LDAPS key and certificate.

A trusted entry for the self-signed certificate is added when the certificate is generated (above).

javax.net.ssl.trustStorePassword

Entries for trusted Active Directory servers are also stored here. Password is plain text or Cryptor encoded.

Agent Tunnel

 

 

Type

Description

ssl_truststore_file
ssl_truststore_password

Agent certificates (see Tunneling Agent connections).

Password is plain text or OBF encoded.

ssl_keystore_file
ssl_keystore_password

Services keys & certificates (see Tunneling Agent connections).

Password is plain text or OBF encoded.

ssl_revokestore_file
ssl_revokestore_password

Revoked agent certificates (see Tunneling Agent connections).

Password is plain text or OBF encoded.

N/A (Not used at runtime)

Root key for the tunnel service CA (internal certificates only; see Tunneling Agent connections).

 

Report Access in Secure Mode (HTTPS)

The same SSL certificate that is used to identify the Application Service is used to secure access to reports accessed either through the Management Console, via a browser, or from the command line (if using HTTPS in the report URL – which is the default option).

The SSL certificate is verified by the underlying HTTP client. The HTTP client making the request can attempt to verify the SSL certificate (i.e. verify that the certificate was issued by an already trusted Certificate Authority). If the identity cannot be verified by the HTTP client (usually accessing pre-configured trust stores, such as Java keystores), the report might not render.

Some HTTP clients (e.g. web browsers, the Management Console) can give the user the option to verify the certificate themselves. That verification lasts for the current viewing session. Additionally, some HTTP clients (depending on local security policies) allow the user to import the certificate into a local trust store. That verification persists over future viewing sessions.

Users must consider that local security policies can override default behavior as described above (e.g. a site-wide policy might block users from importing any certificates into their browser).

To understand how to configure the certificates in the Application Service, refer to Services Configuration Examples.

 

Tunneling Agent connections

This section includes:

Overview

Connections between the MVMM  Agent tier and the MVMM  Services tier can, optionally, be routed via a secure tunnel. In this mode all network traffic between the MVMM  Agent host and the MVMM  Services host is tunneled via a single TCP/IP connection, and the traffic is encrypted using TLS.

This both protects the data from eavesdropping and simplifies the network management, since the only port requirements are for the TLS tunnel itself.

When a MVMM  Agent is deployed from a bootstrap configuration it is configured to work against the MVMM  Services from which it was deployed. If tunneling is configured in the Services, the Agent is deployed with the appropriate configuration options already set.

An exception to this is for end-user provided keys and certificates where client authentication is required. In this case, the agent must be configured with its keys and certificates after deployment.

Similarly to configuring the MVMM  Services for end-user provided keys and certificates (see the Services Configuration Examples), the Java Keytool can be used to populate the key stores for the agent.

Configuration options should then be set in the agents configuration file (located in bmmtm_agent/configuration/services/tunnel.properties). Those properties are documented in the following table.

Warning

Important

If the MVMM  Services tunnel configuration is changed after the agent has been deployed the agent's configuration will be out of date. A new agent deployment is required.

Many of the defaults for values are derived from those set in the services configuration (services.cfg). Those parameters are described in Defining-configuration-options-in-services-cfg.

MVMM Agents distributed as part of a bootstrap package have these properties set at the point of distribution.

Property name

Description

tunnel.to.address

Default: [Topic_Service].agent_ts_host
The hostname or IP to which agents connect.
Agent RTServer_Hostname preference overrides this property.

tunnel.to.port

Default: [Tunnel_Service].tunnel_port
The port number to which agents should connect.

tunnel.bind.address

Default: 0.0.0.0
If accepting service-initiated tunnel connections, the interface to which the agent binds.

tunnel.service.proxy.ms.local

Default : [App_Service].web_secure_port
The local port that serves as a proxy for the Media Service.
MVMM  Config Extension ASPort preference overrides this property.

tunnel.service.proxy.ms.remote

Default : [App_Service].web_secure_port
The remote port to which the tunnel terminates Media Service connections.
MVMM  Config Extension ASPort preference overrides this property.

tunnel.service.proxy.ts.local

Default: [Topic_Service].listen_port
The local port that serves as a proxy for the Topic Service.
Agent RTServer_Port preference overrides this property.

tunnel.service.proxy.ts.remote

Default : [Topic_Service].listen_port
The remote port to which the tunnel terminates Topic Service connections.
Agent RTServer_Port preference overrides this property.

tunnel.client.proxy.qpea.local

Default: 2612
The local port to which tunneled connections to the extensible agent are terminated.

tunnel.client.proxy.qpcfg.local

Default: 6002
The local port to which tunneled connections to qpcfg are terminated.

ssl.truststore.file

Default: bmtmAgentTrustStore.jks

ssl.truststore.password

Default : changeit
Password for the store file. Can be OBF encoded.
OBF encoded values must be escaped (e.g. "OBF\:xxx").

ssl.truststore.type

Default: jks

ssl.trustmanager.algorithm

Default: PKIX

ssl.keystore.file

Default: bmtmAgentKeyStore.jks

ssl.keystore.password

Default : changeit
Password for the store file. Can be OBF encoded.
OBF encoded values must be escaped (e.g. "OBF\:xxx").

ssl.keystore.type

Default: jks

ssl.keymanager.algorithm

Default: PKIX

Warning

Important

Tunneling is not a supported configuration for MVMM  Agents and MVMM  Services located on the same host. Starting a MVMM  Configuration Agent that is configured with a tunnel enabled can result in errors – it uses ports that are either already in use, or it listens on ports that the MVMM Services need to operate.

Connection initiation direction

The tunnel connection initiation direction can be configured for each agent via the ConnectionInitiation preference, using the agentpref tool. It can also be set to an initial value when a bootstrap package is provisioned.

ConnectionInitiation

Description

0

No tunnel

1

Agent initiated (TCP connection originates from the Agent tier).

2

Service Initiation (TCP connection originates from the Service tier).

Warning

Important

Service Initiated Tunneling is not a supported configuration for multiple MVMM  Agents located on the same host. Only one MVMM  Agent set per-host can use a tunnel. Whilst it can be configured manually (by mapping the appropriate ports in the agent configuration), it is not a recommended configuration.

Service initiated tunnels for Tunneling Agent connections

Bootstrap packages that are provisioned with a "ConnectionInitiation" preference of "2" (which is equivalent to selecting the "MVMM  Services initiate Secure Tunnel Connection to Agent" option on the Agent Distribution site) must be introduced to the MVMM Services using hosttool. This is required in order that the MVMM  Services know that a tunnel must be initiated. See Managing-HostTool-with-the-CLI for further details.

This step is not required if the Agent is deployed in a different connection initiation mode, and then later switches to a Service initiated tunnel mode (since, at that point, the Agent is already known to the Services).

When migrating an Agent to an alternate MVMM  Service tier and the Agent is running a Service Initiated tunnel, the Agent must be explicitly removed from the previous MVMM  Service tier. To do this, use the Object Repository tab in the Management Console, or hosttool.

Multiple Agents on a host

To support multiple agents using Agent Initiated tunnels, two additional ports must be defined via extension preferences (this is in addition to normal port customization required to support multiple agents – i.e. changes to eaapi.ini, and ServicePort preferences changes for the "WebSphere MQ Monitor" and "WebSphere MQ Configuration" extensions, as appropriate).

Extension name

Preference name

Value

MVMM Tunnel Service

ASProxyPort

Any free, unused port number.

MVMM Tunnel Service

MSProxyPort

Any free, unused port number.

So, for example:

% agentpref --port 2712 --set "BMTM Tunnel Service" ASProxyPort 16009
% agentpref --port 2712 --set "BMTM Tunnel Service" MSProxyPort 17009

Warning

Important

In the above examples a non-default port is used to communicate with qpea (2712 in the example, 2612 is the default). The example assumes that normal port customization has taken place for the additional agent set, and these extension preferences are being applied to that additional agent set.

Warning

Important

Service Initiated Tunneling is not a supported configuration for multiple MVMM  Agents located on the same host. Only one MVMM  Agent set per-host can use a tunnel. Whilst it can be configured manually (by mapping the appropriate ports in the agent configuration), it is not a recommended configuration.

MVMM  Agent keys and certificates

If Agent Authentication is required in the MVMM  Services, and internal certificates are being used, then each MVMM  Agent must be explicitly authenticated to the MVMM  Services after it has been deployed.

For example:

% cd bmtm-agent/bin
% agent –-console
osgi> authClient services.host.name userId password

where services.host.name should be replaced with the hostname of MVMM  Services.

Depending on your configuration, you might be prompted to verify the MVMM  Services certificate. Inspect the presented certificate carefully, and compare the signatures to ensure that you are authenticating with the expected entity.

If a MVMM  Agent needs to trust a different MVMM  Service (rather than the one from which it was deployed), it can add the MVMM  Services to its trust store as follows:

% cd bmtm-agent/bin
% agent –-console
osgi> trustServer services.host.name

where services.host.name should be replaced with the hostname of MVMM Services.

Depending on your configuration, you might be prompted to verify the MVMM  Services certificate. Inspect the presented certificate carefully, and compare the signatures to ensure that you are trusting the expected entity.

A MVMM  Agent only trusts one set of MVMM  Services at a time. If it is directed to a previously trusted MVMM  Service tier it must re-authenticate that server, using the process described above.

 

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

MainView Middleware Monitor 9.2