Maximo Monitor technical overview

Maximo® Spatial Maximo MonitorMaximo MonitorMaximo Monitor is an application in Maximo Application Suite that provides an end-to-end cloud-like experience on Red Hat® OpenShift®. You can use Maximo Monitor to connect, store, analyze, monitor, and manage data. The Maximo Application Suite framework, which is deployed on a Red Hat OpenShift cluster, handles back-end operations, such as user management, workspace management, application deployment, single-sign on and session management, and application entitlement.

Components

Maximo Monitor offering architecture diagram. This graphic is explained in the surrounding text.

The following table lists the components Maximo Monitor or software that can be used with Maximo Monitor.

Component Details
IoT tool overview

The IoT tool can be used as the IoT device message broker for secure device registration, near real-time analytics, and more. You can access the tool directly by using the APIs or by completing an application integration.

In Maximo Monitor 8.10 and 8.11, you can use the IoT tool to create and manage gateways for Maximo Monitor and view recent events from devices.

In Maximo Monitor 9.0, you can create and mange gateways without using the IoT tool. You can still use the IoT tool to view recent events from devices.

Maximo Application Suite Maximo Application Suite is a collection of applications and add-ons that you can use to build a device management solution. Maximo Application Suite runs in an Red Hat OpenShift cluster.
IBM® Db2® Warehouse Db2 Warehouse is the Maximo Monitor data lake. Db2 Warehouse is a fully-integrated data and API platform for storage and analytics of your IoT data. Db2 Warehouse can run in or external to the Maximo Application Suite Red Hat OpenShift cluster.
MongoDB MongoDB stores configuration data for Maximo Application Suite. If you are not using an external LDAP server, MongoDB is used for user management. MongoDB runs either in or external to the Maximo Application Suite Red Hat OpenShift cluster.
Apache Kafka Kafka supports internal communication between services in Maximo Application Suite.
Edge Data Collector container image (optional)

In Maximo Monitor 8.11, you can use Edge Data Collector to access a library of device details and metrics.

In Maximo Monitor 9.0, Edge Data Collector directly accessible from within Maximo Monitor as the device library. To use the device library, you must deploy the Edge Data Collector container image to related gateways or edge devices.

LDAP server (optional) You can use your own LDAP server for user authentication instead of the local Maximo Application Suite user registry.
External integrations (optional) For more information about external integrations, see Adding data from other sources.
Internal integrations You can integrate with Maximo Manage, Maximo Predict, Maximo real estate and facilities and Maximo Visual Inspection. When you integrate with Maximo Manage, the Asset Data Dictionary is used to add data about organizations, sites, assets, and locations from Maximo Monitor to Maximo Manage. For more information about the Asset Data Dictionary, see Integrating with Asset Data Dictionary.

For more information about the components of Maximo Application Suite, see the IBM Maximo Application Suite documentation.

Data flow

Maximo Monitor collects and retains IoT data for direct access, processing, and historical storage.

  1. Sensors on a device send metrics and dimension data through events to the IoT tool or directly to Maximo Monitor. The IoT tool can act as a message broker and near real-time handler of IoT data but is not required, except for creating and managing gateways and reviewing recent device events. You might connect the devices to a physical gateway or edge device, in which case the data flows through the gateway or edge device before it is ingested into the IoT tool or Maximo Monitor.
  2. The data is associated with a device type and is written to the Db2 Warehouse data lake,.
  3. Maximo Monitor consumes data from the data lake and writes function output to the data lake. The functions might transform and aggregate the data and apply anomaly detectors and alerts.
  4. Input data, calculated data, and alert data is displayed on monitoring dashboards.

If you are using Edge Data Collector or the device library, Maximo Monitor sends the expected data and device information to Db2 Warehouse. Db2 Warehouse sends that information to your gateways or edge devices when you deploy or redeploy the Edge Data Collector container image.

When data is available, devices on your network send data to the gateways or edge devices. If you are using gateways in the IoT tool, the data is sent to the tool and then to Maximo Monitor. If not using the tool, the data is sent directly to Maximo Monitor.

Security and authentication

Each Maximo Monitor component manages the security of that component's part of the solution.

Device connection and security are managed by the IoT tool or Maximo Monitor. Data security and integrity is managed by each of the storage solutions. User authentication is managed by each component by using the single sign-on method. Inter-service data flow takes place over secure communication with encrypted data per IBM Standard Security policies.

Red Hat OpenShift pods

The following table describes the pods that are used for Maximo Monitor in Red Hat OpenShift. v2 operators are used to manage data for the latest version of device types, which was first released in Maximo Monitor 8.8.
Table 1. Red Hat OpenShift pods
Pod Description Sizing requirements for development environments Sizing requirements for small deployments Sizing requirements for medium deployments
ibm-mas-monitor-operator The main operator. This operator creates the suboperators and the artifacts at the application level. Use the default settings Use the default settings Use the default settings
ibm-truststore-mgr-controller-manager The truststore manager that creates and updates various truststores that are consumed by Maximo Monitor. The truststore manager is created when the Maximo Monitor operator is installed. Use the default settings Use the default settings Use the default settings
entitymgr-ws The operator that creates, manages, upgrades, and deletes the Maximo Monitor system in the workspace. Use the default settings Use the default settings Use the default settings
{instance_name}-as-ui The user interface pod for Maximo Monitor. This pod's responsibilities include setting up the device types, creating dashboards, and rendering dashboards.
  • 2 pods
  • 0.5 CPU cores minimum
  • 2 CPU cores maximum
  • 1 GB memory minimum
  • 4 GB memory maximum
  • 4 pods
  • 0.5 CPU cores minimum
  • 2 CPU cores maximum
  • 1 GB memory minimum
  • 4 GB memory maximum
  • 6 pods
  • 0.5 CPU cores minimum
  • 2 CPU cores maximum
  • 1 GB memory minimum
  • 4 GB memory maximum
{instance_name}-v2-core-api Provides all of the APIs to manage the latest version of device types, manage metrics, manage dashboards, manage hierarchies, and integrate with the Asset Data Dictionary.
  • 2 pods
  • 0.4 CPU cores minimum
  • 2 CPU cores maximum
  • 2 GB memory minimum
  • 4 GB memory maximum
  • 4 pods
  • 0.4 CPU cores minimum
  • 2 CPU cores maximum
  • 2 GB memory minimum
  • 4 GB memory maximum
  • 6 pods
  • 0.4 CPU cores minimum
  • 2 CPU cores maximum
  • 2 GB memory minimum
  • 4 GB memory maximum
{instance_name}-v2-datalake-api Provides all of the APIs to query raw metrics and calculated metrics for hierarchy resources and the latest version of device types.
  • 2 pods
  • 0.4 CPU cores minimum
  • 2 CPU cores maximum
  • 2 GB memory minimum
  • 4 GB memory maximum
  • 4 pods
  • 0.4 CPU cores minimum
  • 2 CPU cores maximum
  • 2 GB memory minimum
  • 4 GB memory maximum
  • 6 pods
  • 0.4 CPU cores minimum
  • 2 CPU cores maximum
  • 2 GB memory minimum
  • 4 GB memory maximum
{instance_name}-v2-core-scheduler Manages all the backend scheduler cleanup jobs, such as deleting tables for device types and pushing any missing records to the Asset Data Dictionary.
  • 1 pods
  • 0.4 CPU cores minimum
  • 1 CPU cores maximum
  • 2 GB memory minimum
  • 4 GB memory maximum
  • 1 pods
  • 0.4 CPU cores minimum
  • 1 CPU cores maximum
  • 2 GB memory minimum
  • 4 GB memory maximum
  • 1 pods
  • 0.4 CPU cores minimum
  • 1 CPU cores maximum
  • 2 GB memory minimum
  • 4 GB memory maximum
{instance_name}-v2-datadictionary-scheduler Manages the scheduler job to pull any new or updated hierarchy resources from the Asset Data Dictionary.
  • 1 pods
  • 0.4 CPU cores minimum
  • 1 CPU cores maximum
  • 2 GB memory minimum
  • 8 GB memory maximum
  • 1 pods
  • 0.4 CPU cores minimum
  • 1 CPU cores maximum
  • 2 GB memory minimum
  • 8 GB memory maximum
  • 1 pods
  • 0.4 CPU cores minimum
  • 1 CPU cores maximum
  • 2 GB memory minimum
  • 8 GB memory maximum
{instance_name}-v2-db2partition-scheduler Manages the partitions of the Db2 Warehouse tables for the latest version of device types. The pod creates or deletes partitions based on the data retention period that is set at the device type.

As of 8.11, this pod function is moved to the {instance_name}-v2-core-scheduler pod.

Use the default settings Use the default settings Use the default settings
{instance_name}-v2-deviceidpopulation-scheduler Manages the list of devices for the latest version of device types. The pod queries all IoT tool tables to locate new device IDs.
  • 1 pods
  • 0.4 CPU cores minimum
  • 1 CPU cores maximum
  • 2 GB memory minimum
  • 4 GB memory maximum
  • 1 pods
  • 0.4 CPU cores minimum
  • 1 CPU cores maximum
  • 2 GB memory minimum
  • 4 GB memory maximum
  • 1 pods
  • 0.4 CPU cores minimum
  • 1 CPU cores maximum
  • 2 GB memory minimum
  • 4 GB memory maximum
{instance_name}-pipeline2-sync-scheduler Pushes all of the metric definitions from Maximo Monitor to the IoT tool for streaming data metric analytics to run.
  • 1 pods
  • 0.4 CPU cores minimum
  • 1 CPU cores maximum
  • 2 GB memory minimum
  • 4 GB memory maximum
  • 1 pods
  • 0.4 CPU cores minimum
  • 1 CPU cores maximum
  • 2 GB memory minimum
  • 4 GB memory maximum
  • 1 pods
  • 0.4 CPU cores minimum
  • 1 CPU cores maximum
  • 2 GB memory minimum
  • 4 GB memory maximum
{instance_name}-as-library Provides all of the APIs to query raw metrics and calculated metrics for the earlier version of device types and hierarchy resources.
  • 1 pods
  • 0.1 CPU cores minimum
  • 2 CPU cores maximum
  • 500 MB memory minimum
  • 3 GB memory maximum
  • 2 pods
  • 0.1 CPU cores minimum
  • 2 CPU cores maximum
  • 500 MB memory minimum
  • 3 GB memory maximum
  • 3 pods
  • 0.1 CPU cores minimum
  • 2 CPU cores maximum
  • 500 MB memory minimum
  • 3 GB memory maximum
{instance_name}-hook-db Provides all of the database changes that are needed for Maximo Monitor. The pod also creates all the base configuration that is need in meta tables for Maximo Monitor to operate. Use the default settings Use the default settings Use the default settings
{instance_name}-db2-dataingest-inputprocessor Uses Kafka to ingest raw metrics from devices and inserts the metrics into IoT tool raw tables
  • 1 pods
  • 0.1 CPU cores minimum
  • 2 CPU cores maximum
  • 500 MB memory minimum
  • 2 GB memory maximum
  • 2 pods
  • 0.1 CPU cores minimum
  • 2 CPU cores maximum
  • 1 GB memory minimum
  • 3 GB memory maximum
  • 4 pods
  • 0.1 CPU cores minimum
  • 2 CPU cores maximum
  • 2 GB memory minimum
  • 4 GB memory maximum
{instance_name}-db2-dataingest-inputerrorprocessor Uses Kafka to ingest and insert the raw metrics that were not inserted by the {instance_name}-db2-dataingest-inputprocessor pod.
  • 1 pods
  • 0.1 CPU cores minimum
  • 2 CPU cores maximum
  • 200 MB memory minimum
  • 2 GB memory maximum
  • 2 pods
  • 0.1 CPU cores minimum
  • 2 CPU cores maximum
  • 200 MB memory minimum
  • 2 GB memory maximum
  • 3 pods
  • 0.1 CPU cores minimum
  • 2 CPU cores maximum
  • 1 GB memory minimum
  • 3 GB memory maximum
{instance_name}-db2-dataingest-ouptutprocessor Uses Kafka to ingest calculated metrics from the streaming data metric pipeline and inserts the metrics into calculated tables.
  • 1 pods
  • 0.1 CPU cores minimum
  • 2 CPU cores maximum
  • 500 MB memory minimum
  • 2 GB memory maximum
  • 2 pods
  • 0.1 CPU cores minimum
  • 2 CPU cores maximum
  • 1 GB memory minimum
  • 3 GB memory maximum
  • 4 pods
  • 0.1 CPU cores minimum
  • 2 CPU cores maximum
  • 2 GB memory minimum
  • 4 GB memory maximum
{instance_name}-db2-dataingest-outputerrorprocessor Uses Kafka to ingest and insert the calculated metrics from the streaming data metric pipeline that were not inserted by the {instance_name}-db2-dataingest-ouptutprocessor pod.
  • 1 pods
  • 0.1 CPU cores minimum
  • 2 CPU cores maximum
  • 200 MB memory minimum
  • 2 GB memory maximum
  • 2 pods
  • 0.1 CPU cores minimum
  • 2 CPU cores maximum
  • 200 MB memory minimum
  • 2 GB memory maximum
  • 3 pods
  • 0.1 CPU cores minimum
  • 2 CPU cores maximum
  • 1 GB memory minimum
  • 3 GB memory maximum
{instance_name}-db2-dataingest-usagereport Calculates the number of messages that are received per hour and reports that usage to Maximo Application Suite. This pod also reports the number of metrics that are defined in Maximo Monitor.
  • 1 pods
  • 0.1 CPU cores minimum
  • 1 CPU cores maximum
  • 100 MB memory minimum
  • 1 GB memory maximum
  • 1 pods
  • 0.1 CPU cores minimum
  • 1 CPU cores maximum
  • 100 MB memory minimum
  • 1 GB memory maximum
  • 1 pods
  • 0.1 CPU cores minimum
  • 1 CPU cores maximum
  • 100 MB memory minimum
  • 1 GB memory maximum
{instance_name}-meta-api Provides the APIs to manage the earlier version of device types.

As of 8.11, this pod function is moved to the {instance_name}-dscmanager-api pod.

Use the default settings Use the default settings Use the default settings
{instance_name}-kpi-api Provides the APIs to manage metric functions for the earlier version of device types.

As of 8.11, this pod function is moved to the {instance_name}-dscmanager-api pod.

Use the default settings Use the default settings Use the default settings
{instance_name}-master-api Provides the APIs to manage the data lake functions for the earlier version of device types.

As of 8.11, this pod function is moved to the {instance_name}-dscmanager-api pod.

Use the default settings Use the default settings Use the default settings
{instance_name}-dscmanager-api Provides the APIs to integrate with the earlier version of device types in the IoT tool. This pod function is deprecated.
  • 2 pods
  • 0.4 CPU cores minimum
  • 1 CPU cores maximum
  • 2 GB memory minimum
  • 3 GB memory maximum
  • 2 pods
  • 0.4 CPU cores minimum
  • 1 CPU cores maximum
  • 2 GB memory minimum
  • 3 GB memory maximum
  • 2 pods
  • 0.4 CPU cores minimum
  • 1 CPU cores maximum
  • 2 GB memory minimum
  • 3 GB memory maximum
{instance_name}-ft-mapping-api Provides the APIs to manage the FactoryTalk integration for the earlier version of device types. This pod function is deprecated.

As of 8.11, this pod function is moved to the {instance_name}-dscmanager-api pod.

Use the default settings Use the default settings Use the default settings
{instance_name}-db2-dataingest-datameter Works with the {instance_name}-db2-dataingest-usagereport to collect IO points for monitoring the application usage.
  • 1 pods
  • 0.1 CPU cores minimum
  • 2 CPU cores maximum
  • 100 MB memory minimum
  • 2 GB memory maximum
  • 2 pods
  • 0.1 CPU cores minimum
  • 2 CPU cores maximum
  • 100 MB memory minimum
  • 2 GB memory maximum
  • 4 pods
  • 0.1 CPU cores minimum
  • 2 CPU cores maximum
  • 100 MB memory minimum
  • 2 GB memory maximum
{instance_name}-dbops

Migrates any metadata between releases.

  • 1 pods
  • 0.1 CPU cores minimum
  • 1 CPU cores maximum
  • 100 MB memory minimum
  • 1 GB memory maximum
  • 1 pods
  • 0.1 CPU cores minimum
  • 1 CPU cores maximum
  • 100 MB memory minimum
  • 1 GB memory maximum
  • 1 pods
  • 0.1 CPU cores minimum
  • 1 CPU cores maximum
  • 100 MB memory minimum
  • 1 GB memory maximum
BatchPipeline pods These pods are created when a batch pipeline is configured and are run within cron jobs.
  • 1 pods
  • 0.1 CPU cores minimum
  • 2 CPU cores maximum
  • 100 MB memory minimum
  • 8 GB memory maximum
  • 1 pods
  • 0.1 CPU cores minimum
  • 2 CPU cores maximum
  • 100 MB memory minimum
  • 8 GB memory maximum
  • 1 pods
  • 0.1 CPU cores minimum
  • 2 CPU cores maximum
  • 100 MB memory minimum
  • 8 GB memory maximum