Managing Runtimes

Important: This content is a technical preview, and should not be relied on in a production environment.

Overview

IBM Cloud Pak® for Multicloud Management Manage Runtimes provides a customizable and central management pane (bridges cross IBM Cloud Pak capabilities) for workloads that run across VMs and Clusters. By default, the Manage Runtimes UI is populated with all resource views available in the master branch of our public GitHub repo. The current behavior of the operator is to pull in updates from the repo every 12 hours.

For each specified runtime type (through custom resource instances), the following elements are provided through the IBM Cloud Pak console:

Prerequisites

  1. Install Runtimes that you want to monitor.
  2. If you want to show metrics in the dropdown portion of the Manage Runtimes table, do the following steps:
    1. After you install Monitoring as instructed in Installing the IBM Cloud Pak for Multicloud Management, you need to do extra configuration and installation steps to enable full monitoring capabilities. For more information, see Enabling monitoring capabilities.
    2. Enable and configure the data collector or agent for the runtime that you want to monitor. In the IBM MQ case, for cluster-based workloads, you must configure and enable the IBM MQ plug-in as outlined in Configuring IBM MQ monitoring in Unified Agent.

Installing and configuring the IBM Cloud Pak® for Multicloud Management Manage Runtimes

To learn how to install the IBM Cloud Pak® for Multicloud Management Manage Runtimes, see Installing the IBM Cloud Pak for Multicloud Management.

Note:

Understanding and viewing the data

  1. In the IBM Cloud Pak console, click Manage Applications > Manage Runtimes.
  2. Click the Runtime that you want to view to open the details, for example, IBM MQ.
  3. In the beginning of the Runtime dashboard, it lists the total number of resources and also the respective number of Container-based and VM-based resources.
  4. In the table, you can see the Name, Infrastructure type, Infrastructure name, Provider, Purpose, Region, Namespace, Version, and Status for each resource. Note: Data that is shown in the table for all runtimes is defined in spec.search by the CR instance.

VM Enablement

To enable VM-based runtimes to show on the Manage Runtimes page, you currently must annotate VM custom resources on your hub to designate which type of runtimes and what instances are running on them. The general process is outlined in the following example scenario.

Example Scenario

Say that you have an example VM, ExampleVM. It is running two instances of IBM MQ and one instance of IBM App Connect. Get the yaml output of the VM from the hub by using kubectl get virtualmachine example-vm -n default -o yaml.

You see the following output:

apiVersion: infra.management.ibm.com/v1alpha1
kind: VirtualMachine
metadata:
  name: example-vm
  namespace: default
spec:
  vmid: "1234"
status:
  vminfo:
    vmName: ExampleVM
    availabilityZone: RTP
    provider: AWS
    hostnames:
    - example.ec2.internal

Navigate to Monitoring > Infrastructure Monitoring > MQ Queue Manager, you can see that you have two VM-based MQ Instances by the names mqInstance1 and mqInstance2.
Navigate to Monitoring > Infrastructure Monitoring > IBM ACE, you can see that you have one instance of VM-based ACE, aceInstance1. Ensure that the hostname that is noted in the Resource properties of each resource dashboard matches status.vminfo.hostnames of the VM instance.

Now, reference the runtime custom resource for your runtimes and note the spec.search.vm-based.label (if there is one). For IBM MQ, it is app.management.ibm.com/ibm-mq=true. For IBM ACE, it is app.management.ibm.com/ibm-ace=true.

Now, edit the VM CR, copy the status.vminfo content into spec.vminfo, and append the following information:

The resulting virtual machine custom resource looks like the following format:

apiVersion: infra.management.ibm.com/v1alpha1
kind: VirtualMachine
metadata:
  name: example-vm
  namespace: default
  labels:
    app.management.ibm.com/ibm-mq: true  # NOTE
    app.management.ibm.com/ibm-ace: true # NOTE
spec:
  vmid: "1234"
  vminfo:
    vmName: ExampleVM
    availabilityZone: RTP
    provider: AWS
    hostnames:
    - example.ec2.internal
    runtimeInstanceNames: # NOTE
    - app.management.ibm.com/ibm-mq=true:mqInstance1
    - app.management.ibm.com/ibm-mq=true:mqInstance2
    - app.management.ibm.com/ibm-ace=true:aceInstance1
status:
  vminfo:
    vmName: ExampleVM
    availabilityZone: RTP
    provider: AWS
    hostnames:
    - example.ec2.internal

Advanced: defining and publishing your own CR

Limitations

Troubleshooting

Agent not installed

Your runtime is not instrumented or configured for monitoring. Go to Installing and configuring agents for installation, and validate that data is flowing.

Navigate to Monitor Health > Infrastructure Monitoring. Choose the resource that represents the resourceType in your Runtime CR, and identify that a dashboard is present and data is flowing on your specific instance. If you do not see data, see agent troubleshooting.

Improper User Account Access

Symptoms

To view monitoring data from Manage Runtimes and navigate smoothly to all links, one of the following scenarios must be true:

Note: To see which tenant agent data is being submitting to, visit Monitoring > Infrastructure Monitoring and note the value X in "/apmui/icam/X/resources" of the URL

Landing page is stuck in spinning

Disconnected network or airgap environment

Symptom

Cause

Resolution