Auditing and Importing Runtime Data

After an Event Management Agent runs a discovery scan and uploads runtime data into Event Portal, Runtime Event Manager audits the runtime data against the objects associated with the related model event brokers. The audit shows whether objects in the runtime and objects in the design match, and enables you to import objects into Designer or mark results that require action on the runtime event broker. Auditing runtime data against a modeled event mesh can be useful in these ways:

  • If you've used Event Portal to design an event mesh, auditing your runtime data helps you verify that your runtime event mesh has been set up to match the design.
  • If you have a mature model and runtime, the audit helps you identify changes or discrepancies between model event brokers and runtime event brokers so you can make updates to keep them in sync.
  • If you have an existing Solace event mesh or Kafka cluster but you're just getting started with Event Portal, you can use the audit and import features to populate your modeled event mesh rather than having to create every object from scratch in Designer.

This section includes the following tasks:

For information about collecting data from runtime event brokers, see Discovering Runtime Data.

Viewing Audit Results

Runtime Event Manager automatically audits uploaded data from discovery scans against the applications, events, and Kafka schemas associated with the connected model event broker.

Audit results display on the Audit tab of the modeled event mesh. The Audit tab displays results for the event brokers in the modeled event mesh that have corresponding runtime data that has been uploaded to Event Portal from an Event Management Agent.

Audit results update automatically in when Runtime Event Manager receives new object data in these ways:

  • a connected Event Management Agent runs a discovery scan and uploads the data to Event Portal
  • you manually upload discovery scan data into Event Portal
  • you update an application or event version in Designer that is associated with an event broker in the modeled event mesh.

To view audit results, perform these steps:

  1. Log in to the PubSub+ Cloud Console if you have not done so yet. The URL to access the Cloud Console differs based on your authentication scheme. For more information, see Logging into the PubSub+ Cloud Console.
  2. In the Cloud Console, select Runtime Event Manager on the navigation bar.
  3. Select the Modeled Event Meshes tab.
  4. Click the name of the modeled event mesh that you want to view the audit results for.
  5. Select the Audit tab.
  6. (Optional) To collect fresh runtime data before reviewing the audit results, click Run Discovery Scan. For more information, see Running Discovery Scans.
  7. For Kafka modeled event meshes, select Consumer Groups, Topics, or Subjects to view results for the selected entity type.
    Screenshot showing the options described in the surrounding text.
  8. (Optional) Click Filter to apply filters to the list to narrow the results. Apply filters by performing one or more of the following actions:
    • To search only for results of specific types, in the Audit Result Types list select one or more result types.
    • For Solace modeled event meshes, to search only for results for specific event brokers, in the Event Brokers list select one or more event brokers. Kafka modeled event meshes have only one event broker.
    • To search only for results with specific tags, in the Tags list, select a tag.
    • To include objects tagged with the Hide tag in the audit results, select Display all hidden objects in the audit result.

    You can also start typing the name of the object in the Filter by Name field.

  9. To view more information about a result, click the row containing the result. Details about the result display in the Information Panel. If the audit finds a match with more than one version of an object, the Information Panel shows the result for each version. If the versions don't all have the same result, the results list shows the object is a partial match.

Audit Results

After Runtime Event Manager audits the collected runtime data against the modeled event mesh, the Audit tab displays the results. If the audit finds matches with more than one version of an object, the list displays one result for the object and selecting the result displays the results for each version in the information panel.

The audit can find four types of result.

Result Type Meaning Possible Actions

Match found

For a connected Solace event broker, a queue matches a consumer in an application version associated with the model event broker.

For a connected Kafka cluster, a consumer group matches a consumer in an application version, or a topic matches a topic address in an event version associated with the model event broker.

For a connected schema registry, a Confluent subject matches a schema associated with the model event broker.

If a match is found for at least one, but not all versions associated with the model event broker, the results list shows a partial match, and the information panel shows which versions have a match found.

Your design and the runtime match. No further action is needed.

In the information panel you can:

  • Tag the result to indicate the action you want to take or hide the result to focus on results that require action.
  • Click the name of the design object version to view more information or open it in Designer.
  • Click Full Configuration to view the runtime object configuration.
  • For queues and consumer groups, see the list of subscriptions.
  • For Kafka subjects, see the list of subject versions and view the runtime configuration for a specific version.

Partial Match

For a connected Solace event broker, a queue has the same name as a consumer in an application version associated with the model event broker, but some of the configuration differs.

For a connected Kafka cluster, a consumer group has the same name as a consumer in an application version, or a Kafka topic matches a topic address in an event version associated with the model event broker, but some of the configuration differs.

For a connected schema registry, a Confluent subject has the same name as a schema associated with the model event broker but one or more versions exist only in the runtime or only in the design.

You can compare the design and runtime object configuration to see the difference.

If you have a match found with a later version of the same application or event, ignore the result or disassociate the earlier version from the model event broker.

If you don't have a match found with a later version of the same application or event, update the object in Designer or update the runtime.

For Confluent subjects, If you have additional schema versions in Designer that you want to keep or if there are additional versions in the schema registry that you don't want to import, ignore the result. If you have additional versions in Designer that you don't need or if you want to import new versions from the schema registry, update the schema.

In the information panel you can also:

  • Tag the result to indicate the action you want to take or hide the result to focus on results that require action.
  • Click the name of a matching design object version to view more information or open it in Designer.
  • For queues and consumer groups, see the list of subscriptions.
  • For Kafka subjects, see the list of subject versions and view the runtime configuration for a specific version.

Found Only in Runtime

A queue on the connected Solace event broker, a consumer group or topic on the connected Kafka cluster, or a subject in the schema registry has no matching object associated with the model event broker.

If the "Found Only in Runtime " result is unexpected because you have matching object in Designer, verify whether the design object is associated with the correct model event broker. Otherwise, import the object into Designer or remove it from the runtime.

In the information panel you can also:

  • Tag the result to indicate the action you want to take or hide the result to focus on results that require action.
  • Click Full Configuration to view the runtime object configuration.
  • For queues and consumer groups, see the list of subscriptions.
  • For Kafka subjects, see the list of subject versions and view the runtime configuration for a specific version.

Found Only in Design

An application or a Kafka event associated with the model event broker has no matching entity on the connected runtime event broker.

For Kafka schemas, this result occurs for schema object versions that exist only in Designer when a previously imported schema is a partial match.

You can disassociate the application or event from the model event broker or update the runtime to include the missing object.

For schema versions, if you want to keep the additional versions in Designer, you can ignore the result. If you have additional versions in Designer that you don't want to keep, update the schema in Designer.

In the information panel you can also:

  • Tag the result to indicate the action you want to take or hide the result to focus on results that require action.
  • Click the name of the design object version to view more information or open it in Designer.
  • For applications with consumers, see the list of subscriptions.

Tagging Audit Results

You can use tags to mark audit results based on your preferred action. Tags don't initiate actions; they only help you review the results and specify the actions that you or another user should take later.

Tag Usage

To Be Created

If the audit finds an object only in the runtime or only in the design, use the To Be Created tag to indicate that the object in the runtime should be imported into Designer or that the runtime configuration needs to be manually updated to add the object that's only in the design.

To Be Deleted

If the audit finds an object only in the runtime or only in the design, use the To Be Deleted tag to indicate that the object should be manually deleted from the location where it was found.

Hide

Use the Hide tag to hide the result from the audit list. You can reveal hidden objects using the Display all hidden objects in the audit result option in the filter.

To apply tags to the audit results, perform these steps:

  1. On the Audit tab, select the results that you want to tag.
  2. In the Information Panel, click the tag you want to apply.

Comparing Partial Matches

The audit finds a partial match when an object associated with a model event broker has the same name as a corresponding object in the runtime but the objects aren't an exact match. Partial matches happen in these circumstances:

  • A queue or consumer group in the runtime data has the same name as a consumer in an application version but some of the configuration differs. Configuration differences occur if a change was made on the runtime event broker or if a new version of a matching application was created in Designer after a previous audit.
  • A Kafka topic in the runtime matches a topic address in an event version associated with the model event broker but some of the configuration differs. Configuration differences occur if a change was made on the runtime event broker or if a new version of a matching event was created in Designer after a previous audit.
  • A subject in a Confluent Schema Registry has the same name as a schema object associated with the model event broker but at least one version of the subject was found only in the runtime or only in Designer.

To see the differences between the design and runtime objects, perform these steps:

  1. On the Audit tab, select a result with a Partial Match.
  2. In the Information Panel, click the Compare button for the object type.

Viewing the Runtime Object Configuration

If the audit finds a match or finds an object only in the runtime, you can view the configuration for the runtime object.

To see the runtime object configuration, perform these steps:

  1. On the Audit tab, select a result .
  2. In the Information Panel, click Full Configuration.
    Screenshot showing the options described in the surrounding text.

Importing Runtime Objects into Event Portal

Importing objects into Event Portal lets you make corrections to your design and it can also help you to create a modeled event mesh from a mature event-driven architecture (EDA).

Objects Found Only in Runtime
If the audit finds queues, consumer groups, topics, or subjects only in the runtime, you can import the objects into Event Portal. The new object versions are added to Designer in Draft state and they are automatically associated with the model event broker. Up to 1000 selected objects can be imported into Event Portal at the same time.
Partial Matches
If the audit finds a partial match, you can choose to update the existing object version in Designer or create a new version. You can update existing object versions for partial matches, only if the version is in Draft state or if the updates are only to event broker configuration changes that can't be modified in Designer. Up to 20 selected partial matches can be updated in Event Portal at the same time.

Before you import or update object versions, you may want to check if a matching object already exists in Designer but isn't associated with the correct model event broker, or consider whether you should remove or update the object in the runtime instead.

After you import runtime objects into Event Portal, you can view them in Designer, in Catalog, and in the modeled event mesh.

Importing Solace Queues

You can import one or more queues from Solace event brokers into Designer. Importing a Solace queue creates a consumer within an application that has the same name as the queue.

If you import multiple queues at the same time, they must have the same model event broker and the same audit result type (Found Only in Runtime or Partial Match). When importing multiple queues found only in runtime, you can choose whether to create multiple applications or a single application with multiple consumers. You can also import queues as new consumers in a new version of an existing application.

To import Solace queues, perform these steps:

  1. On the Audit tab, select the checkboxes next to the queues you want to import.
  2. In the information panel, click Import.
  3. Select one of the following options:
    • For queues found only in runtime, select Import as Multiple Applications to create a separate application for each selected queue. This option displays only if you selected more than one queue.
    • For queues found only in runtime, select Import as One Application to create a single application with a consumer for each selected queue.
    • For queues found only in runtime, select Add to Existing Application to add a consumer to a new version of an existing application in Designer.
    • For partial matches, select Create New Version to create a new version of the matching application in Designer.
    • For partial matches, select Update Existing Version to update the most recent version of an existing application in Designer.
  4. If you are creating new applications from queues found only in the runtime, perform these steps:
    1. Select the application domain that you want to add the application to. You can also create a new application domain.
    2. If you are creating only one application, enter an Application Name. If you are creating multiple applications, the application names are generated based on the consumer group name.
    3. In the Version field, specify a semantic version value for the application in the format major.minor.patch. The default is 0.1.0.
    4. Click Import.
  5. If you are adding new consumers to existing applications from queues found only in the runtime, perform these steps:
    1. Start typing the name of the application in the Search field.
    2. Select the application that you want to add the consumer to.
    3. Click Select next to the version that you want to import the queue into, You can select only versions in draft state.
    4. Click Import.
  6. If you are creating new versions of existing applications, perform these steps:
    1. Select how you want to increment the version numbers.
    2. Select whether you want to remove the event broker associations from previous versions of the applications.
    3. Click Import.
  7. If you are updating an existing application version, click Import.
  8. A progress indicator displays during the import operation. Large imports may take some time to complete. After the import completes, click Refresh Audit Results to view the updated results. The consumers you imported should display the result Match Found.

Importing Kafka Objects

You can import Kafka objects into Event Portal. Importing objects from the runtime creates the following objects in Designer:

  • Importing a Kafka consumer group creates an application version that has a consumer with the same name as the consumer group.
  • Importing a Kafka topic creates an event version that has a topic address that matches the Kafka topic.
  • Importing a Confluent subject creates a schema in Designer.

When you import Kafka objects found only in the runtime, Event Portal maintains the relationships between them when possible.

Topic and Subject Relationships
In Kafka clusters, an event represents a relationship between a topic and a subject. If a topic naming strategy or topic record naming strategy is set in the Kafka subjects that you import, when you later import Kafka topics, the new event created by the topic import automatically references the related schema created during the subject import. If you import the event and schema into different application domains, the event version and schema version are automatically shared to maintain the reference.
When you import a Kafka subject into Event Portal, all other subjects that it references are also imported into the same application domain in the same operation. This ensures that all of the subjects in the schema registry that are relevant to the cluster you are modeling are added to Designer.
Consumer Group and Topic Relationships
If the audit of a Kafka event broker finds a consumer group and topics that the consumer group subscribes to, after you import both the consumer group as an application and the topics as events, the new application version automatically subscribes to the new event versions. If you import the application and a consumed event into different application domains, the event is automatically shared to maintain the reference.

Importing Kafka Consumer Groups

You can import one or more Kafka consumer groups into Designer. When you import consumer groups they become consumers within an application.

If you import multiple consumer groups at the same time, they must have the same audit result type (Found Only in Runtime or Partial Match). You can choose whether to create multiple applications or a single application with multiple consumers. You can also import consumer groups as new consumers in a new version of an existing applications.

To import Kafka consumer groups, perform these steps:

  1. On the Audit tab, select Consumer Groups.
  2. Select the checkboxes next to the consumer groups you want to import.
  3. In the information panel, click Import.
  4. Select one of the following options:
    • For consumer groups found only in runtime, select Import as Multiple Applications to create a separate application for each selected consumer group.
    • For consumer groups found only in runtime, select Import as One Application to create a single application with a consumer for each selected consumer group.
    • For consumer groups found only in runtime, select Add to Existing Application to add a consumer to a new version of an existing application in Designer.
    • For partial matches, select Create New Version to create a new version of the matching application in Designer.
    • For partial matches, select Update Existing Version to update the most recent version of the matching application in Designer.
  5. If you are creating new applications from consumer groups found only in the runtime, perform the following steps:
    1. Select the application domain that you want to add the application to. You can also create a new application domain.
    2. If you are creating only one application, enter an Application Name. If you are creating multiple applications, the application names are generated based on the consumer group name.
    3. In the Version field, specify a semantic version value for the application in the format major.minor.patch. The default is 0.1.0.
    4. Click Import.
  6. If you are adding new consumers to existing applications from consumer groups found only in the runtime, perform these steps:
    1. Start typing the name of the application in the Search field.
    2. Select the application that you want to add the consumer to.
    3. Click Select next to the version that you want to import the consumer groups into, You can select only versions in draft state.
    4. Click Import.
  7. If you are creating new versions of existing applications, perform the following steps:
    1. Select how you want to increment the version numbers.
    2. Select whether you want to remove the event broker associations from previous versions of the applications.
    3. Click Import.
  8. If you are updating existing application versions, click Import.
  9. A progress indicator displays during the import operation. Large imports may take some time to complete. After the import completes, click Refresh Audit Resul to view the updated results. The consumers you imported should now display the result Match Found.

Importing Kafka Topics

You can import one or more Kafka topics into Designer. When you import Kafka topics that were found only in the runtime, a new event is added to Designer for each topic and the topic address of the event matches the imported Kafka topic. To import multiple topics together, they must have the same audit result type (Found Only in Runtime or Partial Match).

If you also intend to import referenced subjects from the Confluent Schema Registry, you should import the subjects first so Event Portal can use the subject's topic naming strategy or topic record naming strategy to automatically create references between the imported event versions and schema versions.

To import Kafka topics from the audit results into Designer, perform these steps:

  1. On the Audit tab, select Topics.
  2. Select the checkboxes next to the topics you want to import.
  3. In the information panel, click Import.
  4. If you are importing topics found only in runtime, perform the following steps:
    1. Select the application domain that you want to add the new events to. You can also create a new application domain.
    2. Click Import.
  5. If you are updating an existing event from a partial match, click Import.
  6. A progress indicator displays during the import operation. Large imports may take some time to complete. After the import completes, click Refresh Audit Result to view the updated results. The topics you imported should now display the result Match Found.

Importing Confluent Subjects

Unlike application versions and event versions, which you can add to a modeled event mesh from Designer, you can associate a schema with a model event broker only by importing subjects from a Confluent Schema Registry. If you want to include Kafka schemas in your modeled event mesh, you must add connection details for the schema registry when you set up the Event Management Agent Connection.

When you import Kafka subjects found only in the runtime into Event Portal, all versions of a subject and all other subjects referenced by an imported subject found in the runtime are imported into the same application domain in the same operation. This ensures that all of the subjects in the registry that are relevant to the cluster you are modeling are added to Designer.

Imported schemas are created with object versions that correspond to each subject version in the registry. Each schema version uses the registry version number as the major version. For example, version 1 in the registry is imported as version 1.0.0 in Event Portal.

You can change the version number, version name, description, and custom attributes of imported schema versions in Designer, but you can't update the schema content or the list of referenced schemas. If necessary, you can create a new version of the schema object in Designer and update the new version.

If you select more than one subject to import, they must have the same audit result type (Found Only in Runtime or Partial Match). Additional referenced schemas are also imported, even if they have a different audit result.

To import Confluent subjects from the audit results into Designer, perform these steps:

  1. On the Audit tab, select Subjects.
  2. Select the checkboxes next to the subjects you want to import.
  3. In the information panel, click Import.
  4. If you are importing subjects found only in runtime, perform the following steps:
    1. Select the application domain that you want to add the schemas to. You can also create a new application domain.
    2. If you are creating only one schema, enter a Schema Name. If you are creating multiple schemas, the schema names are generated based on the subject name.
    3. Click Import.
  5. If you are updating an existing schema from a partial match, click Import.
  6. A progress indicator displays during the import operation. Large imports may take some time to complete. After the import completes, click Refresh Audit Result to view the updated results. The subjects you imported should now display the result Match Found.