Vortex Harvester Guide

Vortex Harvester Guide

Configuration & Setup Guide

Profile Name

Purpose:
The profile name is used to allow for multiple Qlik configurations within an organization. This allows the user to save each configuration for future use, making it easier to manage and switch between different environment setups without re-entering connection details each time.
Required: Yes


Connection Type

Purpose:
Determines the authentication method and connection context for the harvester.
Required: Yes

Valid Values:
  1. Enterprise (Enterprise Certificate) - For Qlik Sense Enterprise on Windows (QSEoW)
  2. Cloud (Cloud API Key) - For Qlik Cloud Analytics
Impact:
  1. Enterprise: Uses certificate-based authentication (.pfx file) on port 4242
  2. Cloud: Uses API key authentication on standard HTTPS port
  1. Example (Enterprise): "Type": "Enterprise"
  2. Example (Cloud): "Type": "Cloud"
Source: new 3.txt (Qlik Sense Enterprise), new 2.txt (Qlik Cloud), new 3-1.txt (Technical Details)

Server URI

Purpose:
The Server URI specifies the network location of your Qlik environment. This can be entered as a fully qualified domain name (FQDN), a simple hostname, or an IP address, depending on your network configuration and DNS settings.
Required: Yes

Format and Protocol Notes:
  1. Do not include protocol prefixes: The harvester automatically handles http:// and https:// connections based on your Connection Type setting. Enter only the hostname or IP address.
  2. Enterprise connections: Automatically use https:// protocol on port 4242 for secure certificate-based authentication.
  3. Cloud connections: Automatically use https:// protocol on standard port 443 for API key authentication.
  4. Hostname flexibility: You can enter the server address based on your network configuration - use a fully qualified domain name (FQDN), a short hostname resolvable by your DNS, or a direct IP address.
Examples:
  1. FQDN: "qlikserver.company.com"
  2. Short hostname: "qlikserver" (if resolvable by DNS)
  3. IP Address: "192.168.1.100"
  4. Cloud: "company.us.qlikcloud.com"
Warning
Important:
  1. For multi-node Enterprise deployments, use the central node URI to ensure access to all applications. Application load balancing may result in missed applications.
  2. Verify that the hostname or IP address is reachable from the machine running the harvester.
  3. DNS resolution must be properly configured if using hostnames instead of IP addresses.

Certificate File (.pfx) Enterprise Only

Purpose:
Full path to the .pfx certificate file used for authentication with Qlik Sense Enterprise.
Required: Yes (Enterprise) / No (Cloud - use null certificate)

Requirements:
  1. Must include private key
  2. Must be exported from Qlik Management Console (QMC)
  3. Required for Enterprise connections
  4. For Cloud: Use path to an empty/null certificate (e.g., "D:\Vortex\certs\nullcert.pfx")
  1. Enterprise Example: "D:\Vortex\certs\client.pfx"
  2. Enterprise Example: "C:\Certificates\qlik-enterprise-cert.pfx"
  3. Cloud Example: "D:\Vortex\certs\nullcert.pfx"
Notes
How to Export Certificate:
See official Qlik documentation: Exporting certificates through the QMC
Source: new 3.txt (line 81-82), new 2.txt (line 48), new 3-1.txt (line 90-100), new 1.txt (line 23)

Certificate Password Enterprise Only

Purpose:
Enterprise: Password for the .pfx certificate file (if password-protected)
Cloud: API Key generated from Tenant Admin account
Required: Optional (Enterprise) / Yes (Cloud - API Key required)

Security:
  1. Encrypted using Windows Data Protection API
  2. Store securely and do not commit to version control
Cloud API Key Requirements:
  1. Must be created by a Tenant Admin
  2. See: Managing API keys | Qlik Cloud Help
  3. Required permissions: Developer role for API key management, Analytics Admin for metadata access
  1. Enterprise: (optional password string if certificate is password-protected)
  2. Cloud: "insert-api-key" (your actual API key from Qlik Cloud)
Warning
Security Warning: Never share or expose API keys or certificate passwords. Treat them as sensitive credentials.
Source: new 3.txt (line 84), new 2.txt (line 49), new 3-1.txt (line 102-108)

Run As Directory (Internal)

Purpose:
User directory for authentication context in Qlik Sense.
Required: Yes

Usage by Platform:
  1. Enterprise: Windows domain or Qlik Sense user directory (e.g., "INTERNAL", "COMPANY")
  2. Cloud: Typically "QLIKCLOUD" (not used in Cloud, but required for execution)
  1. Enterprise Examples:
  2. - "INTERNAL" (for internal Qlik users)
  3. - "COMPANY" (for domain users)
  4. - "AD" (Active Directory)

  5. Cloud Example:
  6. - "QLIKCLOUD" (leave as default)
Notes
Troubleshooting: If encountering issues with the internal accounts, you can try using the service account's information instead.
Source: new 3.txt (line 85-86), new 2.txt (line 50), new 3-1.txt (line 64-74)

Run As Username

Purpose:
Username for authentication with the Qlik environment.
Required: Yes

Usage by Platform:
  1. Enterprise: Service account or user with appropriate permissions (e.g., "sa_scheduler", "vortex_service")
  2. Cloud: Email address of authorized user (e.g., "user@company.com")
Required Permissions:
For Qlik Sense Enterprise:
  1. RootAdmin role - Provides full access to all streams, applications, and system resources
  2. ContentAdmin role - Allows access to published content and metadata
  3. Read access to all streams and applications that need to be harvested
For Qlik Cloud:
  1. Developer - Used to manage API key information
  2. Analytics Admin - Necessary to query general metadata endpoints
  3. Tenant Admin - Required for Reload Task metadata (highest permissions)
  4. Space Permissions - View permissions to all spaces required for harvesting
  5. App Permissions - Must be enabled in section access tables of all applications
  1. Enterprise Examples:
  2. - "sa_scheduler"
  3. - "sa_repository"
  4. - "vortex_service"

  5. Cloud Examples:
  6. - "admin@company.com"
  7. - "vortex.user@company.com"
Notes
Troubleshooting: If encountering issues with the internal accounts, you can try using the service account's information instead.

Performance Settings: Max Concurrent Connections

Purpose:
Maximum number of simultaneous connections to the Qlik Engine during harvesting operations.
Required: Yes
Range: 1-10 (practical limit)

Performance Impact:
  1. Higher values: Faster harvesting but increased server load (CPU and memory)
  2. Lower values: Reduced server impact but slower processing
Recommendations:
  1. Start with default value of 2
  2. Increase gradually based on server performance (test with 4, then 6)
  3. Monitor server CPU and memory usage during harvest
  4. Processes approximately 3 apps/minute at default settings
  5. Consider reducing if experiencing timeouts or performance issues
  1. Conservative (low-load): 1 or 2
  2. Balanced: 2-4
  3. Aggressive (high-capacity servers): 4-8
Warning
Important: The harvester will consume memory and CPU capacity from your Qlik environment during operation. Adjust this setting based on your server resources and other workloads.

Output Directory

Purpose:
Directory where harvested metadata files and encrypted output are stored.
Required: Yes

Requirements:
  1. Directory must be writable by the user account running the harvester
  2. Sufficient disk space required (estimate 10-100MB per app)
  3. Recommended: 50 GB dedicated storage for larger environments

Path Format Options:
  1. Local path: Use standard Windows drive letter paths (e.g., "D:\Vortex\output")
  2. Network UNC path: Use Universal Naming Convention format for network shares (e.g., "\\\\server\share\folder")
  3. Mapped drive: You can also use mapped network drives (e.g., "Z:\VortexOutput")
Notes
Network Path Requirements: When using UNC paths (\\\\server\share\folder), ensure that:
  1. The user account running the harvester has read/write permissions to the network location
  2. The network share is accessible from the harvester machine
  3. Network connectivity is stable throughout the harvest operation
  4. Firewall rules allow SMB/CIFS file sharing protocols if crossing network boundaries

Output Structure:
The output directory will contain:
  1. Apps\ - Scanned applications in subfolders with encrypted metadata
  2. script.json.pgp
  3. sheetObjects.json.pgp
  4. sheets.json.pgp
  5. QRS\ - Repository service information (.pgp files)
  6. Reload Logs\ - Application reload log data
  7. Session Logs\ - User session log data (Qlik Sense)
  8. Folder Data Connections\ - File connection metadata (if enabled)
  9. Harvest Errors.json - Configuration issues or missed application data
  1. Local Path: "D:\Vortex\output"
  2. Local Path: "C:\VortexHarvest\QlikSense_Prod"
  3. Network UNC Path: "\\\\fileserver\share\VortexOutput"
  4. Network UNC Path: "\\\\192.168.1.100\VortexShare\output"
  5. Mapped Drive: "Z:\VortexOutput"
Validation:
After harvest completion, check the output location for:
  1. Presence of .pgp files in QRS directory
  2. Application folders in Apps directory
  3. Review "Harvest Errors.json" for any issues

Session Log Directory Path

Purpose:
Path to session log files for user activity and engagement analysis.
Required: Optional

Configuration Details:
Parameter: LogFileLocalPath
When configured, the harvester accesses the ArchivedLog directory via direct file access for session/reload data instead of using the API. This method may be faster for environments with large log volumes.

Path Format Options:
  1. Local path: Use standard Windows drive letter paths (e.g., "C:\ProgramData\QlikSense\Log\ArchivedLogs")
  2. Network UNC path: Use Universal Naming Convention format for network shares (e.g., "\\\\server\share\ArchivedLogs")
Default Location:
Qlik Sense Enterprise typically stores archived logs at: C:\ProgramData\Qlik\Sense\Log\ArchivedLogs
  1. Local Path: "C:\ProgramData\QlikSense\Log\ArchivedLogs"
  2. Alternative Local: "D:\QlikSenseLogs\SessionLogs"
  3. Network UNC Path: "\\\\qlikserver\logs\ArchivedLogs"
Usage Notes:
  1. If left empty, the harvester will use API access to retrieve session logs
  2. Direct file access may be faster for large log volumes
  3. Requires read permissions to the log directory
  4. Session logs are used for engagement patterns and rationalization analysis
  5. When using UNC paths, ensure proper network permissions are configured
NotesNote: Output will contain a limited number of entries due to automatic cleanup of historical session logs by Qlik.

Reload Log Directory Path

Purpose:
Reload logs provide critical information about script execution and data lineage. The Vortex harvester automatically captures this information via the Qlik Sense Repository Service API without requiring separate configuration.
Required: No (automatically harvested via API)

Automatic Harvesting via API:
Reload logs are automatically harvested using the following Qlik Sense Repository Service API endpoints:
  1. Get execution results - Inventory script log execution for lineage analysis
  2. Get reload tasks - Inventory tasks that invoke data reloads
  3. Get script log file - Obtain detailed script log information for rationalization and conversion
What's Captured:
  1. Script execution logs with detailed error messages
  2. Data load successes and failures with timestamps
  3. Connection usage and data lineage information
  4. Reload task schedules and execution history
  5. Performance metrics and resource utilization during reloads
Output Location:
Reload logs will be stored in the configured Output Directory under the "Reload Logs" subfolder as encrypted .pgp files.
Notes
Note: Output will contain a limited number of entries due to automatic cleanup of historical reload logs by Qlik. The harvester captures all available logs at the time of execution.

Additional Configuration Options

Encryption Key File Path
Purpose:
Path to PGP public key file (.asc format) for encrypting all output files. Valid public key supplied by Axis Group.
Required: Yes
  1. Example: "C:\Vortex\keys\public.asc"

Stream Filtering

Purpose:
Comma-separated lists to include or exclude specific streams from harvesting.
Required: Optional
  1. StreamsToSearch: "Finance,Sales,Marketing"
  2. StreamsToIgnore: "Development,Testing"

Application Filtering

Purpose:
Comma-separated list of application GUIDs to harvest specific applications only.
Required: Optional
  1. Example: "12345678-1234-1234-1234-123456789012"

Unpublished Content

Purpose:
Boolean flags to include unpublished applications and sheets in the harvest.
Required: Optional
NotesNote: For Qlik Cloud, setting IncludeUnpublishedApps to False breaks application harvest. Leave as True.

Folder Data Connections

Purpose:
Enable scanning of folder data connections for comprehensive lineage analysis.
Required: Optional
Performance Impact: Significantly increases harvest time and resource usage.

Debug Mode
Purpose:
Enables storage of harvested metadata unencrypted for troubleshooting. Use only in secure environments.
Required: Optional (hidden parameter)

System Requirements

Harvester System Requirements
  1. Operating System: Windows 64-bit OS (Server 2016 or later)
  2. CPU: 8 vCPU (Recommended: 4-core CPU minimum)
  3. RAM: 16GB RAM (Recommended: 8GB minimum)
  4. Storage: 50 GB dedicated data volume
  5. Framework: .NET Framework 4.7.2
Network Requirements
Required Ports:
  1. 443 - Qlik Sense Proxy Service (QPS) / Qlik Cloud HTTPS
  2. 4242 - Qlik Sense Repository Service (QRS) - Enterprise only
  3. 4747 - Qlik Sense Engine Service (QES)
Notes
Network Connectivity: The harvester machine must have network access to all required ports. For multi-node deployments, ensure connectivity to the central node. Firewall rules may need to be configured to allow outbound connections on these ports.

Configuration Examples

Qlik Sense Enterprise Configuration
  1. {
  2. "OutputLocation": "D:\\Vortex\\output",
  3. "EncryptionKeyFilePath": "C:\\Vortex\\keys\\public.asc",
  4. "MaxConcurrentEngineAppConnections": 4,
  5. "Type": "Enterprise",
  6. "Uri": "qlik-server.company.com",
  7. "CertificateLocation": "D:\\Vortex\\certs\\client.pfx",
  8. "CertificatePassword": "",
  9. "RunAsUserDir": "INTERNAL",
  10. "RunAsUserName": "sa_scheduler",
  11. "IncludeUnpublishedApps": false,
  12. "HarvestFolderDataConnectionData": true,
  13. "StreamsToSearch": "Finance,Sales"
  14. }
Qlik Cloud Configuration
  1. {
  2. "OutputLocation": "D:\\Vortex\\output",
  3. "EncryptionKeyFilePath": "C:\\Vortex\\keys\\public.asc",
  4. "MaxConcurrentEngineAppConnections": 2,
  5. "Type": "Cloud",
  6. "Uri": "company.us.qlikcloud.com",
  7. "CertificateLocation": "D:\\Vortex\\certs\\nullcert.pfx",
  8. "CertificatePassword": "your-api-key-here",
  9. "RunAsUserDir": "INTERNAL",
  10. "RunAsUserName": "sa_scheduler",
  11. "IncludeUnpublishedApps": true
  12. }
Notes
Note: These configurations are stored in the config.local.json file within the utility's directory.

Installation & Execution

Installation Steps
  1. Download the Vortex Harvester package from PSend
  2. Unblock .zip file (Right click > Properties > Unblock checkbox > Apply > OK)
  3. Extract .zip file (Right click > Extract All...)
  4. Launch the harvester by running Vortex.UI.QSMetadataHarvester.exe or Vortex.Harvest.QlikSense.exe
Configuration Steps
  1. Launch the harvester utility
  2. Enter the index or parameter name to update configuration values
  3. Tool will validate connectivity to output locations, certificates, and Qlik endpoints
  4. Configuration is saved to config.local.json automatically
Execution Steps
      1. Review configuration for errors (shown in red in the UI)
      2. Press Enter to start the harvest
      3. Monitor progress:
  1. App Harvest Status
  2. QRS Harvest Status
  3. Folder Harvest Status (if enabled)
  4. Runtime elapsed
      4. Wait for "100% [target] Harvest Complete" message
      5. Close the harvester utility

Post-Harvest Validation
  1. Navigate to the OutputLocation directory
  2. Check for "Harvest Errors.json" (indicates configuration issues)
  3. Verify .pgp files exist in QRS directory
  4. Spot check Apps directory for application metadata
  5. Review Reload Logs and Session Logs subdirectories

Harvest Data Transfer

After harvest completion, data should be transferred securely to Axis Group for analysis.

Files to Transfer:
  1. Output Folder
  2. Apps directory
  3. QRS directory
  4. Reload Logs directory
  5. Session Logs directory (if applicable)
  6. Folder Data Connections directory (if enabled)
  7. Any additional files in base output directory
  8. Vortex Utility Folder
  9. Logs directory
Transfer Methods:
  1. Primary Method: https://psend.axisgroup.com
  2. Alternative Methods: SFTP, BLOB storage, SendRED (discuss with Axis Group)
Transfer Steps:
  1. Place output files and logs into a folder
  2. Compress the folder to .zip format
  3. Upload to psend.axisgroup.com
  4. Notify Axis Group contact of transfer completion
Notes
Access Required: If you do not have access to psend, reach out to support@axisgroup.com for an account.
Source: new 1.txt (lines 143-158), new 3.txt (lines 141-156), new 2.txt (lines 96-110)

Troubleshooting

Connection Issues
Problem: Cannot connect to Qlik server
Solutions:
  1. Verify Uri format (no https:// prefix)
  2. Check certificate validity and CertificatePassword
  3. Ensure user has appropriate permissions
  4. Verify network connectivity and firewall settings
  5. Confirm correct ports are accessible (443, 4242, 4747)
Certificate Authentication Issues
Problem: Certificate validation failures
Solutions:
  1. Ensure .pfx certificate exported correctly from QMC
  2. Verify certificate includes private key
  3. Check certificate has not expired
  4. Confirm CertificateLocation path is accessible
Performance Issues
Problem: Slow harvesting or timeouts
Solutions:
  1. Reduce MaxConcurrentEngineAppConnections
  2. Use StreamsToSearch or AppIds for targeted harvesting
  3. Set HarvestFolderDataConnectionData=false
  4. Check server resource utilization
  5. Ensure harvest machine meets system requirements
Storage Issues
Problem: Insufficient disk space or permission errors
Solutions:
  1. Verify sufficient disk space at OutputLocation (50GB recommended)
  2. Check write permissions on output directory
  3. Ensure directory exists before starting harvest
  4. Use a local drive instead of network paths if experiencing issues
Internal Account Issues
Problem: Issues with INTERNAL accounts
Solution:
  1. Try using the service account's information for RunAsUserDir and RunAsUserName instead



Reference Documentation

Source Files
  1. new 2.txt - Qlik Cloud Harvesting Documentation
  2. new 3.txt - Qlik Sense Enterprise Harvesting Documentation
  3. new 3-1.txt - Comprehensive Qlik Sense Settings Technical Documentation
External References
  1. Exporting Certificates through QMC
  2. Managing API Keys - Qlik Cloud
  3. Qlik Sense Repository Service API
  4. Qlik Engine JSON API
Support Contact
For additional assistance or questions:
  1. Email: support@axisgroup.com
  2. File Transfer: psend.axisgroup.com
© 2024 Axis Group - Vortex Metadata Harvester Documentation

Version 1.7.0 | Last Updated: 2025-08-25

    • Related Articles

    • Vortex Menu Definitions

      Vortex Qlik Harvester What It Is The Vortex Qlik Sense Metadata Harvester is a portable command-line tool designed to extract comprehensive metadata from Qlik Sense environments. It supports both Qlik Sense Enterprise on Windows (QSEoW) and Qlik ...