License Type | On-Premise |
Agent Mode | Assess & Protect |
Main Product Category | Contrast UI |
Sub Category | Installation |
Contrast UI comes in two separate installers for each of the operating systems supported.
- Contrast-<version>--NO-CACHE
- Contains no SCA library information
- Must have internet connectivity to load the latest library data
- Installer is generally much smaller
- Contrast-<version>
- Contains all the latest library information up to its release
- Does not require an internet connection to our services
- Installer is generally much larger than the no-cache version
- Installation can take much longer
More information about the installation and installers can be found here in our docs. For this issue we will be focusing on the CACHED version of the installer.
Question
The EOP cached installer is taking a long time to come up. How can I monitor library data ingestion?
Answer
The cached installer can take quite some time to complete. How long depends on your system and the resources available to it. Installation occurs in two parts:
- Installer sets up system, services, database, copies binaries and prepares for first start.
- The contrast-service is started for the first time and contrast database is upgraded and populated.
EOP version(s) prior to 3.6.9
The second part of the cached install can take anywhere from 30 minutes an 1 1/2 hours to complete. The main reason for this is the ingestion of library data into the Contrast database. The Contrast UI will not be available until this process completes.
There are a log messages you can watch for in the contrast.log file to see how it is coming along.
030919 13.35.58,981 {} {} {} INFO (AbstractImporter.java:211) Beginning CSV import of node type: 'mapping' from 'C:\Program Files\Contrast\data\libraries\v3_6_0\module_vulns.csv' into 'artifacts_vulnerabilities_tmp'
030919 13.35.59,199 {} {} {} INFO (AbstractImporter.java:222) Import temporary table 'artifacts_vulnerabilities_tmp' completed, version: v3_6_0, language: node, time: 0.218s
030919 13.35.59,199 {} {} {} INFO (AbstractImporter.java:246) Total New records to insert of node type: 'mapping' in 'artifacts_vulnerabilities_tmp': 4784
030919 13.35.59,199 {} {} {} INFO (AbstractImporter.java:266) Insert records of node type: 'mapping' into 'artifacts_vulnerabilities_tmp'
030919 13.35.59,215 {} {} {} INFO (AbstractImporter.java:274) Insert records table 'artifacts_vulnerabilities_tmp' complete, version: v3_6_0, language: node, time: 0.016s
030919 13.35.59,465 {} {} {} INFO (AbstractImporter.java:327) Enabling library data reload preference: node, version: v3_6_0
030919 13.35.59,465 {} {} {} INFO (AbstractImporter.java:332) Finished library data reload preference update: node, version: v3_6_0, time: 0.0s
tail -f ${Contrast_Home}/data/logs/contrast.log |grep "AbstractImporter"
EOP version(s) 3.6.9+
Changes were made to load cache data in the background and reduce startup time.
With this you can expect the server to come up much quicker than before but it requires you to wait for the process to finish prior to seeing library data. There are a log messages you can watch for in the contrast.log file.
311019 20.30.05,585 {} {} {} INFO (ArtifactImporter.java:28) [ArtifactImporter] Importing from /opt/contrast/libraries/python_vulns.csv into artifacts_vulnerabilities_tmp
311019 20.30.05,588 {} {} {} INFO (ArtifactImporter.java:124) Beginning CSV import from '/opt/contrast/libraries/python_vulns.csv' into 'artifacts_vulnerabilities_tmp'
311019 20.30.05,604 {} {} {} INFO (ArtifactImporter.java:129) Import temporary table 'artifacts_vulnerabilities_tmp' completed, time: 0.016s
311019 20.30.05,606 {} {} {} INFO (ArtifactImporter.java:149) Total New records to insert 'artifacts_vulnerabilities_tmp': 3672
311019 20.30.05,606 {} {} {} INFO (ArtifactImporter.java:161) Insert records into 'artifacts_vulnerabilities_tmp'
311019 20.30.05,694 {} {} {} INFO (ArtifactImporter.java:168) Insert records table 'artifacts_vulnerabilities_tmp' complete, time: 0.089s
311019 20.30.05,701 {} {} {} INFO (ArtifactImporter.java:182) Enabling library data reload preference
311019 20.30.05,702 {} {} {} INFO (ArtifactImporter.java:187) Finished library data reload preference update: time: 0.001s
tail -f ${Contrast_Home}/data/logs/contrast.log |grep "ArtifactImporter"
You can also look under ${Contrast_Home}/data/libraries/%filename%.csv
. If there are csv's in that path then the migration is not yet complete.