iQCloud - Catalog Not Synchronized

How to sycnhronize the catalog

The catalog is a data set of system and tenant specific Identification Rules, Products, Manufacturers and Scan Extensions.

A default catalog file is embedded in the Appliance.

A more current (depending on the time since Appliance creation) version of the catalog resides cloud side.

Upon first initialization of the Appliance Scan Engine the embedded catalog is loaded into a local database.

This is visible in the logs:

Once this has occurred the Appliance is capable of discovering a the default set of Products.


The Appliance catalog status can now be examined in the UI.


The Support User can left click on the "Catalog Definition Status" to view a more detailed set of differences.


Appliances that are not synchronized can be updated by selecting the desired appliance with left click and pressing the "Catalog update" button.


This synchronization is not instantaneous and may take a number of minutes.

Additionally once it has finished the response message is queued and may take a number of minutes before the UI "Catalog Definition Status" is updated.


The catalog status has not changed

If after completing the above steps the catalog status has not changed then the receiving of the sync message should be validated.

The appliance by default writes all incoming and outgoing messages to the directory "/opt/iqas/server4.5/tmp/messages".

Look for a message called i_catalog-bkgnd-sync-******-****.msg .

If it is not present then try the synchronization steps again to rule out the possibility of an (unlikey) lost message.

If it is present then the logs should be consulted, look for the following content:

[2019-04-05T10:29:34,945.543889 D] RabbitMessageConsumer [pool-2-thread-128] Incoming catalog-bkgnd-sync message: size=187363
[2019-04-05T10:29:35,253.544197 D] JsonSerializationService [pool-2-thread-128] Message saved in: /opt/iqas/server-4.5/tmp/messages/i_catalog-bkgnd-sync-******-****.msg
[2019-04-05T10:29:35,254.544198 D] RabbitMessageConsumer [pool-2-thread-128] Appliance Name: null
[2019-04-05T10:29:35,405.544349 D] CatalogDAO [pool-2-thread-128] Cleaning rule table
[2019-04-05T10:29:35,410.544354 D] CatalogDAO [pool-2-thread-128] Cleaning signature table
[2019-04-05T10:29:35,485.544429 D] CatalogDAO [pool-2-thread-128] Cleaning catalogEntry table
[2019-04-05T10:29:35,511.544455 D] CatalogDAO [pool-2-thread-128] Updated catalog entry id: sys:CatalogInfo:mngr
[2019-04-05T10:29:35,515.544459 D] CatalogDAO [pool-2-thread-128] Updated catalog entry id: SYS:SolProvider:sys::ScanExtension
...
[2019-04-05T10:29:35,598.544542 D] CatalogDAO [pool-2-thread-128] Updated catalog entry id: itssvc:Organization:<tenant>::Manufacturer
[2019-04-05T10:29:35,602.544546 D] CatalogDAO [pool-2-thread-128] Updated catalog entry id: sys:Manufacturer:00a09b8b-dd9f-4a46-a0b1-0d56c0bd5d10
...
[2019-04-05T10:29:36,058.545002 D] CatalogDAO [pool-2-thread-128] Updated catalog entry id: sys:Manufacturer:89057c24-8aa4-4479-94d7-3d49cdcff7d1
[2019-04-05T10:29:36,063.545007 I] CatalogDAO [pool-2-thread-128] Bulk sync catalog load 9.0% complete.
[2019-04-05T10:29:36,066.545010 D] CatalogDAO [pool-2-thread-128] Updated catalog entry id: sys:Manufacturer:8a9d658d-39c2-4f5c-9f00-633c074bb8ee
...
[2019-04-05T10:29:42,676.551620 I] CatalogDAO [pool-2-thread-128] Bulk sync catalog load 97.0% complete.
[2019-04-05T10:29:42,684.551628 D] CatalogDAO [pool-2-thread-128] Updated catalog entry id: sys:ScanExtensions:178c9a3c-dfd3-4097-93de-5f2e05888090_wu
...
[2019-04-05T10:29:43,205.552149 D] CatalogDAO [pool-2-thread-128] Updated catalog entry id: sys:Templates:521efea3-6197-4298-a5c2-416c9bbfc769_wu
[2019-04-05T10:29:43,206.552150 I] CatalogDAO [pool-2-thread-128] Finished persisting catalog sync block
[2019-04-05T10:29:43,206.552150 D] RabbitMessageConsumer [pool-2-thread-128] serviceName catalog-bkgnd-sync orgID iquateqa sequenceNumber <Integer> applianceId <tenant>:Appliance:<applianceName>

If the logging is present without exception, validate the catalogVersion content of the heartbeat message:

~orgOid=<tenant>
~masterAppliance=<tenant>:Appliance:<masterApplianceName>
~serviceName=notifier
{
  "catalogVersion": "[
	{\"ownerOrgId\":\"SYS:SolProvider:sys\", \"versionByEntity\":15, \"version\":6158, \"entity\":\"ScanExtension\"},
    {\"ownerOrgId\":\"SYS:SolProvider:sys\", \"versionByEntity\":414, \"version\":6158, \"entity\":\"PIEntry\"},
    {\"ownerOrgId\":\"SYS:SolProvider:sys\", \"versionByEntity\":149, \"version\":6158, \"entity\":\"Manufacturer\"},
    {\"ownerOrgId\":\"SYS:SolProvider:sys\", \"versionByEntity\":265, \"version\":6158, \"entity\":\"Signature\"},
    {\"ownerOrgId\":\"SYS:SolProvider:sys\", \"versionByEntity\":15, \"version\":6158, \"entity\":\"OSFamilyEntry\"}
  ]",
  "lastStatusDate": 1554426549135,
  "buildVersion": "4.5.808",
  "applianceName": "<tenant>:Appliance:<applianceName>",
  "orgOid": <tenant>,
  "masterAppliance": "<tenant>:Appliance:<masterApplianceName>",
  "timeZone": "Europe/Dublin",
  "serverId": "<serverId>",
  "registrationKey": "<registrationKey>",
  "command": "applianceAlive"
}

If the heartbeat message content has not been updated there is a java issue which needs escalation.

If the heartbeat message content has been updated but the Cloud UI status has not changed there is a communication/cloud side issue which needs escalation.