Let the platform do the work

Introduction to the Diagnostic Tool

Overview

The Diagnostic Tool in Sugar allows you to capture your system's configuration in order to help diagnose problems in your Sugar instance. This tool collects basic system information regarding Sugar along with server configuration details and places it into a zip file on the server. You can download the zip file to analyze the contents and send to the Sugar Support team if required to troubleshoot an issue.

Diagnostic Tools Options

System administrators in Sugar can access the Diagnostic Tool via Admin > Diagnostic Tool.
IntroToDiagnosticTool DiagnosticToolsOption

The Diagnostic Tool in Sugar has various system configuration options for you to select and include in the zip file. Select the options based on the specific configuration data you need, which will lower the size of the resulting zip file. We will go through the various options available to select in the Diagnostic Tool page and define them below.

For Sugar versions 12.3.x and lower:
IntroToDiagnosticTool DiagnosticToolOptions 12

For Sugar versions 13.0.0 and higher:
IntroToDiagnosticTool DiagnosticToolPage

SugarCRM Config.Php

When this option is selected, the results will include a copy of the config.php file from the root directory of Sugar. This file contains many of the System Settings options in Sugar such as date formats, currency information, password configuration as well as initial configuration like database settings and Sugar versions.

SugarCRM Custom Directory

When this option is selected, the results will include a copy of the entire custom directory in Sugar. This allows the Sugar Support team to view any field or layout modifications that were made to Sugar through Studio or directly through the code.

Phpinfo()

When this option is selected, the output of the PHP function phpinfo() will be saved to an HTML file and included in the results. The phpinfo() function returns information about how PHP is configured on the server running Sugar including the version of PHP, the loaded Extensions, and more.

MySQL – Configuration Table Dumps

When this option is selected, there will be a folder in the diagnostic zip file called "MySQL -> TableDumps". This folder will contain an HTML file for each configuration table in Sugar. The HTML file has three sections.

  • Field Definitions: Includes the field names of the table, data types, and length when applicable.
  • Indexes: Includes the name of the indexes on the table, the type of index (primary, index, etc…), and the fields in the index.
  • Data: Is an output of all rows and fields from the specified table.

MySQL – All Tables Schema

When this option is selected, there will be a folder in the diagnostic zip file called "MySQL -> TableSchema". This folder will contain an HTML file titled "MySQLTablesSchema.html". The file has two sections for each table in Sugar.

  • Field Definitions: Include the field names of the table, data types, and length when applicable.
  • Indexes: Include the name of the indexes on the table, the type of index (primary, index, etc…), and the fields in the index.

MySQL – General Information

When this option is selected, there will be a folder in the diagnostic zip file called "MySQL" and the folder will contain an HTML file titled "MySQL-General-info.html". This file includes some basic information about the MySQL database that Sugar is running, such as version number and character sets.

MD5 Info

When this option is selected, there will be a folder in the diagnostic zip file called "md5" and the folder will include a PHP file titled "md5_array_diff.php". The diagnostic tool takes the files in your Sugar install and generates an md5 hash of the contents and compares the result to the md5 hash of the stock file. This php file shows any files in your Sugar instance that have a different hash than the original. This helps the Sugar Support team identify which files are customized and where they are located in your file system.

Copy Files.Md5

This option can be selected if the MD5 Info option is selected first. When you select this option, the list of files and their original md5 hash will be included in the md5 folder in the results. The file is titled "files.md5" and can be opened using any text editor.

Copy MD5 Calculated Array

This option can be selected if the MD5 Info option is selected first. When you select this option, the list of files and their current hash will be included in the md5 folder in the results. This file is a php file titled "md5_array_calculated.php".

BeanList/BeanFiles Files Exist

When this option is selected, it will create an HTML file in the diagnostic zip file titled "beanFiles.html". This file contains a list of the modules in Sugar and checks all the references for that module to make sure they are correct. Custom modules that are loaded into the system will also have their references checked. If the author of the module did not define the references correctly, there can be issues. These issues should show up in red in the HTML file.

SugarCRM Log File

When this option is selected, the diagnostic zip file will contain the current log file for Sugar. The default name for the log file is "sugarcrm.log", but since the log name is configurable, your file may be named something else. To verify your log file name, navigate to Admin > System Settings and check the Logger Settings section. Combine the values in "Log File Name", "Extension", and "Append after filename" to get the name of your log file.
logger settings

Package Install Log File

For Sugar versions 13.0.0 and higher, the Package Install Log File option is available to select. If selected, the diagnostic zip file will contain key information/messages (e.g., metadata rebuilds, SQL queries) logged during the package installation process in Sugar. Please note that this log file uses the debug log level regardless of the global Sugar log level configured in Admin > System Settings or the config file.

Sugar Schema Output (VARDEFS)

When this option is selected, it will include an HTML file titled "vardefschema.html" in the diagnostic zip file. This file contains detailed metadata on each table in Sugar. This will include the following:

  • Table Name
  • Description of the table
  • Every field on the table
  • Data type of each field
  • Length of the field when applicable
  • If the field is required or not
  • Comment entered when creating the field

Executing Diagnostic Tool

Mark the checkbox to the right of each options to select what you wish to include in your diagnostic file, then click "Execute Diagnostic". For this example, we will select the following options: 
IntroToDiagnosticTool ExecutingDiagnostic

Once the diagnostic operation completes at 100%, you can click "Download the Diagnostic file".
rest/v11/doc_PagesFiles/57a99994-3a81-4267-685e-550280ef1f06/file/uploadfile?force_download=0&platform=base

This will download the zip file generated by the diagnostic tool to your local machine. Once the download is complete, you can extract the zip file to analyze the contents or send the file to the Sugar Support team if it is required to help troubleshoot an issue.