Enabling diagnostics for Migration reports
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)