You can enable diagnostics for migration report runs. When enabled, Unravel creates detailed diagnostic logs and JSON data for each report run. You can locate these diagnostics in a compressed format at the following location:
<Unravel installation directory>/logs/migration_reports/<report_name>
For example, if you are tracking logs for a Cluster Discovery report, you will find the compressed file at
<Unravel installation directory>logs/migration_reports/cluster_discovery/task_entity_140293025757034_2022_04_05-11:48:29_PM.tar.gz
To enable diagnostics for Migration reports, you must set the following properties to true. By default, these properties are disabled or set to false.
Stop Unravel
<Unravel installation directory>/unravel/manager stop
Set the properties for each of the migration reports.
Cluster Discovery
<Unravel installation directory>/unravel/manager config properties set com.unraveldata.migrationplanning.clusterdiscovery.diagnostics true
Cloud Mapping Per Host
<Unravel installation directory>/unravel/manager config properties set com.unraveldata.migrationplanning.cmph.diagnostics true
Workload Fit
Cloud Topology
<Unravel installation directory>/unravel/manager config properties set com.unraveldata.migrationplanning.slicedice.diagnostics true
Heatmap
<Unravel installation directory>/unravel/manager config properties set com.unraveldata.migrationplanning.workload_fit_heatmap.diagnostics true
Services and Versions Compatibility
<Unravel installation directory>/unravel/manager config properties set com.unraveldata.migrationplanning.services_compatibility.diagnostics true
Apply the changes.
<Unravel installation directory>/unravel/manager config apply
Start Unravel
<Unravel installation directory>/unravel/manager start
Following are some samples of the diagnostic logs.
Cluster Discovery diagnostic log sample
# The logs & JSON data gets written to the below location [unravel@host cluster_discovery]$ pwd /opt/unravel/logs/migration_reports/cluster_discovery [unravel@host cluster_discovery]$ ls task_entity_140293025757034_2022_04_05-11:48:29_PM.tar.gz [unravel@host cluster_discovery]$ mkdir task_entity_140293025757034 && tar -xzvf task_entity_140293025757034_2022_04_05-11:48:29_PM.tar.gz -C task_entity_140293025757034 --force-local [unravel@host task_entity_140293025757034]$ ls cluster_discovery_final.json cluster_summary.json heatmap_hourly_means.json hosts_summary.json metrics_summary_hourly_means.json cluster_discovery_task.log heatmap_hourly_maxs.json hosts.json metrics_summary_hourly_maxs.json # Note that all logs from `appstore_tasks.out` would get redirected to the new log. This is how it appears in `appstore_tasks.out`` for a successful run: 2022-04-05T23:48:29.979Z |INFO| [CLUSTER_DISCOVERY_TASK]: unravel_task.py:286->run() - Running task "cluster_discovery_task" of type CLUSTER_DISCOVERY_REPORT, request id:559e2165-6646-44c6-a3e3-f2180ad05f4c, object id:140291489419328 2022-04-05T23:48:29.985Z |WARNING| [CLUSTER_DISCOVERY_TASK]: migration_planning_task.py:114->check_diagnostics() - Diagnostics enabled for cluster_discovery_task 2022-04-05T23:48:29.987Z |WARNING| [CLUSTER_DISCOVERY_TASK]: migration_planning_task.py:115->check_diagnostics() - com.unraveldata.migrationplanning.clusterdiscovery.diagnostics is set to True 2022-04-05T23:48:29.988Z |WARNING| [CLUSTER_DISCOVERY_TASK]: migration_planning_task.py:118->check_diagnostics() - Creating a new directory structure to store diag logs & JSON data 2022-04-05T23:48:29.991Z |WARNING| [CLUSTER_DISCOVERY_TASK]: migration_planning_task.py:134->check_diagnostics() - New directory created for task: cluster_discovery_task, entity_id:140293025757034, path: /opt/unravel/logs/migration_reports/cluster_discovery/task_entity_140293025757034_2022_04_05-11:48:29_PM 2022-04-05 23:48:29.993Z |WARNING| Logging APPSTORE to '/opt/unravel/logs/migration_reports/cluster_discovery/task_entity_140293025757034_2022_04_05-11:48:29_PM/cluster_discovery_task.log' 2022-04-05 23:48:37.122Z |WARNING| Successfully compressed diag directory as '/opt/unravel/logs/migration_reports/cluster_discovery/task_entity_140293025757034_2022_04_05-11:48:29_PM.tar.gz' 2022-04-05 23:48:37.125Z |WARNING| Logging APPSTORE to '/opt/unravel/logs/appstore_tasks.out' 2022-04-05 23:48:37.135Z |INFO| Task cluster_discovery_task[559e2165-6646-44c6-a3e3-f2180ad05f4c] succeeded in 7.261254329234362s: ('done', None)
Services and Versions Compatibility diagnostic log sample
# The logs & JSON data gets written to the below location [unravel@host services_compatibility]$ pwd /opt/unravel/logs/migration_reports/services_compatibility [unravel@host services_compatibility]$ ls task_entity_140293025804266_2022_04_06-12:05:49_AM.tar.gz [unravel@host services_compatibility]$ mkdir task_entity_140293025804266 && tar -zxvf task_entity_140293025804266_2022_04_06-12:05:49_AM.tar.gz -C task_entity_140293025804266 --force-local [unravel@host task_entity_140293025804266]$ ls services_compatibility_task.log services_mapping.json # Note that all logs from `appstore_tasks.out` would get redirected to the new log. This is how it appears in `appstore_tasks.out` for a successful run: 2022-04-06T05:11:24.849Z |INFO| [SERVICES_COMPATIBILITY_TASK]: unravel_task.py:286->run() - Running task "services_compatibility_task" of type SERVICES_COMPATIBILITY_TASK, request id:d158cae9-5a37-40cb-844c-b3493ed2d1a7, object id:140070179829552 2022-04-06T05:11:24.855Z |WARNING| [SERVICES_COMPATIBILITY_TASK]: migration_planning_task.py:117->check_diagnostics() - Diagnostics enabled for services_compatibility_task 2022-04-06T05:11:24.856Z |WARNING| [SERVICES_COMPATIBILITY_TASK]: migration_planning_task.py:118->check_diagnostics() - com.unraveldata.migrationplanning.services_compatibility.diagnostics is set to True 2022-04-06T05:11:24.857Z |WARNING| [SERVICES_COMPATIBILITY_TASK]: migration_planning_task.py:121->check_diagnostics() - Creating a new directory structure to store diag logs & JSON data 2022-04-06T05:11:24.859Z |WARNING| [SERVICES_COMPATIBILITY_TASK]: migration_planning_task.py:137->check_diagnostics() - New directory created for task: services_compatibility_task, entity_id:140072290864107, path: /opt/unravel/logs/migration_reports/services_compatibility/task_entity_140072290864107_2022_04_06-05:11:24_AM 2022-04-06T05:11:24.861Z |WARNING| Logging APPSTORE to '/opt/unravel/logs/migration_reports/services_compatibility/task_entity_140072290864107_2022_04_06-05:11:24_AM/services_compatibility_task.log' 2022-04-06T05:11:26.301Z |WARNING| Successfully compressed diag directory as '/opt/unravel/logs/migration_reports/services_compatibility/task_entity_140072290864107_2022_04_06-05:11:24_AM.tar.gz' 2022-04-06T05:11:26.302Z |WARNING| Resetting the diagnostics logger to original state 2022-04-06T05:11:26.303Z |WARNING| Logging APPSTORE to '/opt/unravel/logs/appstore_tasks.out' 2022-04-06T05:11:26.318Z |INFO| Task services_compatibility_task[d158cae9-5a37-40cb-844c-b3493ed2d1a7] succeeded in 1.5931894164532423s: ('done', None)