Procmon monitors and displays all file system activity on a Microsoft Windows operating system in real time. It's used in system administration, computer forensics, and application debugging.Procdump is a command-line utility used to monitor an application for CPU spikes. It generates crash dumps during a spike that an administrator or developer can use to determine the cause of the spike.- Perfmon is a tool that administrators can use to examine how programs, running on their computers, affect the computer's performance. The tool is used in real time to analyze how system performance is affected by running programs. You can also use this tool to collect log file information for system performance data analysis later.
MER collects event logs, file version details, files, process details, and registry details from our products installed on your computer. Data collected is analyzed and used by Technical Support to resolve problems.GFlags allows you to enable and disable advanced internal system diagnostic and troubleshooting features. You can runGFlags from a Command Prompt window or use its graphical user interface dialog box. It's most often used to turn on indicators that other tools track, count, and log.WinDbg is a debugger for the Microsoft Windows operating system, distributed by Microsoft. It can be used to debug user mode applications, device drivers, and the operating system itself in kernel mode. It has a graphical user interface and is more powerful than Visual Studio Debugger.PoolMon displays data that the operating system collects about memory allocations from the system paged and nonpaged kernel pools, and memory pools used for Terminal Services sessions. The data is grouped by pool allocation tag. Microsoft Technical Support uses that information to find kernel mode memory leaks.VMware converter is a free utility fromVMware that helps convert Windows and Linux-based physical systems toVMware virtual machines. You can also use it to convert third-party image formats such as backup images and other virtual machines toVMware virtual machines. Use this tool to create virtual machines to provide to Technical Support for troubleshooting.
Minimum data collection to troubleshoot Application and Change Control
Last Modified: 2023-09-15 12:56:00 Etc/GMT
Environment
Minimum Escalation Requirements (MER)
Summary
This article provides basic information about the Minimum Data Collection steps for troubleshooting common ACC issues. You must collect all logs from the same system that experiences the issue, and collect all logs at the same time. Logging data time stamps are used to troubleshoot the problem.
IMPORTANT: Mismatched logs from different systems or logs collected at different times can't be used for troubleshooting. If the logs are mismatched, you might need to recollect all Minimum Data Collection logs.
NOTE: Make sure that you answer the questions in the "Questions for Troubleshooting" section below. This information determines where to begin your troubleshooting.
- What's the operating system?
- What's the Solidcore version?
- If any other Trellix software is installed?
- What's the system used for (file server, workstation, domain controller)?
- What's the issue?
- What troubleshooting has been done?
- Does the behavior change in any other mode (update, enabled, observe, disabled)?
- Does the behavior change with MP disabled?
- Does the behavior change with Execution control disabled?
- What's the version of ePO?
- What's the Current Solidcore Extension version?
- If extension is upgraded, what's the upgrade path of the extension?
- What's the error message on the screen vs. the Orion log?
- Provide any screenshots showing the issue.
- Full SQL Backup and Disaster Recovery: Use the Knowledge Base to search for
"backup/recovery for ePO" if you have a cluster or "AWS" because there's a separate KB article for each. - Solidcore Rules
- Solidcore Policy
- Solidcore Policy Assignments
- Solidcore Client Tasks
- Solidcore Client Task Assignments
- Custom Solidcore Dashboards
- Custom Solidcore Queries
- Custom Solidcore Automatic Responses
- Custom Solidcore Permission sets
- Screenshot of any custom Solidcore Settings
- Export table for Certificates (we're unable to export the Certificates; you must have them again)
- Export table for Installer hashes (you must reinsert the hashes and the certs into the installers)
- Server tasks
- Verify that all required root certificates are installed. For details, see the related articles below:
KB91697 - How to update your root certificate authorities for McAfee product installation and upgrade success
KB87096 - Product install or upgrade issues due to missing root certificates
KB96360 - Unable to upgrade Application Control 8.3.x or other Trellix products that are ACC-enabled
Perform the steps in this section if the symptoms are Slow Boot, Startup, or Logon.
- Download
Procmon . - Run
Procmon with boot logging. - Reproduce the issue.
- Collect the
MER, Gatherinfo, andProcmon files(*.PML) .
- Download
Procmon . - Run
Procmon as Administrator. - Reproduce the issue.
- Collect the
MER ,Gatherinfo , andProcmon files(*.PML) . - Collect the following for the application:
- Process name of application being started
- Version of application
- Whether the application is homegrown or made by another company
- Copy of the application or a link to where to get a trial version
- Take a screenshot of the Task Manager showing High resource use with process names.
- Note how often the slow performance happens (every 5 minutes, 60 minutes, overall).
- Collect Windows Performance Monitor over time of slowness (5 minutes unless longer is needed).
- Collect the MER,
Gatherinfo , and WindowsPerfmon files.
NOTE: If
- To disable execution control, run
"sadmin features disable execution-control" - To enable execution control, run
"sadmin features enable execution-control"
- Download
ProcDump . - Extract
ProcDump to the Desktop. - Open an administrative command prompt, and change the directory to
C:\Users\username\Desktop\Procdump - Run the following command:
procdump -ma <process name/process ID> - Collect the dump file created. It's located in the
Procdump folder. - Collect the MER and
Gatherinfo files.
- Download
ProcDump . - Extract
ProcDump to the Desktop. - Open an administrative command prompt, and change the directory to
C:\Users\username\Desktop\Procdump - Run the following command:
procdump -ma -e <process name/process ID>
NOTE: The -e switch instructsProcdump to generate a dump the next time the process crashes.
- Wait for the process to crash again.
- Collect the created dump file, which is located in the
Procdump folder. - Collect the
MER andGatherinfo files.
- Configure the system to create a complete
memory.dmp . For details, see KB56023 - How to create a memory dump for analysis by Technical Support. - Configure the system to allow for a keyboard crash. See the Forcing a System Crash from the Keyboard Microsoft article.
- Create the dump file when the issue occurs. Generally, the longer you can wait before generating the dump file, the easier it is to identify the hang condition in the dump.
- Collect the MER and
Gatherinfo files. - Collect
FLTMC .
- Configure the system to create a complete
memory.dmp . For details, see KB56023 - How to create a memory dump for analysis by Technical Support. - Collect the full dump file when the system Bug Check (blue screen) occurs (the dump file is in c:\windows).
- Collect the MER and
Gatherinfo files. - Collect
FLTMC .
Data Collection for a Memory Leak using PoolMon (Windows 7 and earlier):
On Windows 2000 and Windows XP, you must first use
- Start
PoolMon . - Choose the kind of pool to include:
- If you've determined that the leak is occurring in a non-paged pool, press P once.
- If you've determined that the leak is occurring in a paged pool, press P twice.
- If you don't know, don't press P and both kinds of pool are included.
- To sort the display by maximum byte use, press B and start your test.
- Take a screenshot and copy it to Notepad. Take a new screenshot every half hour. By comparing screenshots, you can determine which tags bytes are increasing.
- Download the attached
Gatherinfo.ps1 (attached at bottom also "WindowsMemoryUsageMonitoring.zip "). - Edit this section of the
gatherinfo.ps1 to suit your needs:
#Right now the script is set to run every 15 minutes, and must continue running for 60 hours
- Run the script on the client and collect the
.csv from the script. - Parse the data into a graph (see the attached file "
WindowsMemoryUsageMonitoring.zip ").- To do this, place "
plotgraph.exe " in a folder with the.csv collected from thegatherininfo.ps1 script. - Open the command line as administrator and run the following command "
plotGraph.exe -nnsc 0 -nsc 0 -mcsc 5 -mcnsc 5 "
- To do this, place "
- When completed, it opens a graph showing the memory use.
- Open a JIRA with the .csv files and matching MER from the client with the issue.
Perform the steps in this section if the symptoms are Slow ePO Performance, Hang or not responsive.
- Enable Orion Debug.
- Enable Java Heap Dump.
- Collect the MER and Java Heap Dump files.
- Enable Debug Orion.
- Reproduce the issue (upgrade or install).
- Collect an ePO MER.
- Enable Solidcore Extension Debug.
- Reproduce the issue.
- Gather screenshots of the events and issue.
- Collect an ePO MER.
- Enable Solidcore Extension Debug.
- Gather a screenshot of the issue with Reproduction steps.
- Export of Dashboard (typically a query).
- Collect an ePO MER.
- Make sure ePO server services are running.
- Make sure that the client is solidified.
- Check Inventory Fetch Time (Last and Next).
- If Inventory time is greater than seven days, rerun the Pull task.
- If Inventory time is less than seven days, run the Inventory time reset task. To reset the Last time inventory sync on the client, run the following commands:
sadmin config set PullInvLastAccessTime=default
- Pull inventory manually by running
sadmin ls -rax > FILENAME.xml . - Dump
filename.xml into the ePOeventparser directory. - Check
eventparser.log for errors.
FILENAME.XML - MER and
Gatherinfo from affected client - MER with ePO Server and Orion debug logging
- Enable Orion Debug logging.
- Rerun the Migration task.
- Collect an ePO MER.
- Gather screenshots of the server task log showing failures and errors.
- Run the following queries:
SELECT [Id], [Name], [StartDate], [EndDate], [UserName], [ParentId], [Status]
FROM [OrionSchedulerTaskLogMT];
SELECT a.id, a.name taskName, a.status
FROM [OrionSchedulerTaskLogMT] a
where a.NAME='Solidcore: Migration task'
SELECT a.id, a.name taskName, b.message logmessage, a.status
FROM [OrionSchedulerTaskLogMT] a
INNER JOIN [OrionSchedulerTaskLogDetailMT] b
ON a.id = b.tasklogid
and a.NAME='Solidcore: Migration task'
- Check the output of the previous step and set to 1 if not migrating (1=failed).
update [OrionSchedulerTaskLogMT]
set status=1
where ID in (658316,658316,64031,664031,664031,664031,664031,664216,664216,664216,664216,664216,665122,665122,665122,666961,666961,666961)
NOTE: Numbers in () are from the script output above. These numbers vary.
- Enable ePO Server (for
eventparser*.log ) and Orion debug logging. - Enable McAfee Agent (MA) debug logging (log level 8).
- Create some events on the client.
- Verify that events are created in the
AgentEvents folder (c:\program data\mcafee\agent\agentevents ). - Copy the events from the client.
- Sync MA and send the events to ePO.
- Verify that the events go to the event parser folder (
<ePO install dir>\DB\Events ). - Collect a MER and
Gatherinfo from the Client and a MER from the ePO server.
- Enable Orion debug logging.
- Log on to the ePO console.
- Check ePO Registered Servers:
Menu, Registered Servers, McAfee GTI Server, Actions, Edit - Test the connection; make sure it says successful.
- Collect an ePO MER.
- Collect the output of settings for GTI using SQL.
The task might rerun, but it doesn't hang again.
Back to top
- Open an Administrator Command Prompt.
- Recover the local CLI by executing
sadmin recover . A password is needed to unlock the local CLI. - Execute
gatherinfo.bat (Windows) orgatherinfo.sh (UNIX). - After
gatherinfo is completed, a file namedgatherinfo.zip (Windows) orgatherinfo-<Hostname>-<Date>.tar.gz is created in the current directory.
- On the client, download the MER client.
- Run
MER.exe on the client. - Select All applications or manually select ACC.
- When finished, upload the
.tgz file to the case or allow the tool to upload itself.
Emergency Recovery via Registry if the issue is a crash and you can't boot normally:
- Boot the system into safe mode.
- Start Registry Editor (Start, Run,
regedit ). - Browse to
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\swin\parameters - Edit key
RTEModeOnReboot = 2 or 0 - Reboot:
Application / Change Control
sadmin recover (a password is needed to unlock CLI)sadmin loglevel enable MAHDLR ALL sadmin lockdown to restrict CLI access
sadmin recover (a password is needed to unlock CLI)sadmin loglevel disable MAHDLR ALL sadmin loglevel enable MAHDLR ERROR WARNING SYSTEM sadmin lockdown to restrict CLI access
Mapl = Solidcore plug-in
IPC = McAfee agent communication
RuleEngine = Execution Control
Application / Change Control Log Size:
sadmin recover (a password is needed to unlock CLI)sadmin config set LogfileNum=n* - (where n* is the number of files in decimal)sadmin config set LogfileSize=nnnn*** - (where nnnn** is the size of the file in kilobytes (KB))sadmin lockdown to restrict
sadmin recover (a password is needed to unlock CLI)sadmin config set LogfileNum=4 sadmin config set LogfileSize=2048 sadmin lockdown to restrict
- Boot the system into safe mode.
- Browse to
C:\program files\mcafee\solidcore - Delete the file
Passwd - Reboot into normal mode.
- Recover CLI:
sadmin recover
- Create SC: Run command with the following commands
config set InvDiffLastAccessTime=default config set PullInvLastAccessTime=default
- Send the task to the client.
- Open an Administrator Command Prompt.
- Recover the local CLI by executing
sadmin recover . A password is needed to unlock the local CLI. - Run the following commands:
sadmin config set InvDiffLastAccessTime=default sadmin config set PullInvLastAccessTime=default
sadmin auth -l > auth.txt findstr /R /N "^" auth.txt
- Open an Administrator Command Prompt.
- Recover the local CLI by executing
sadmin recover . A password is needed to unlock the local CLI. - Run the following command:
sadmin usm get all
- Check Output.
- Collect the Install log from the client (
C:\windows\solidcore_install.log ). - Open the logs in a text editor.
- Search for "Return Value 3."
- Look for the error.
- Open an administrative command prompt.
- Type "
fltmc. " - Collect the output from the
fltmc command.
- Download Process Monitor from Microsoft.
- Extract the file
ProcessMonitor.zip to your Desktop. - To start logging, right-click
Procmon.exe and choose Run as Administrator to run the tool. - Select Options, Enable Boot Logging.
- Click OK.
- Restart the computer.
- When Windows has finished loading, double-click
Procmon.exe .
- Log on to the ePO Console.
- Select Menu, Configuration, Solidcore Rules.
- Click the Rule Groups tab.
- Select the option User created Rules. These rules are the ones with Edit next to them.
- Click Export.
- Save the XML on the local computer.
- Take the XML exported for backup and place it on the computer where you access ePO.
- Log on to the ePO console.
- Select Menu, Configuration, Solidcore Rules.
- Click the Rule Groups tab.
- Click Import.
- Select File.
- Click OK.
- Log on to the ePO console.
- Select Menu, Policy, Policy Catalog.
- Under Product, select Application Control.
NOTE: You must select this value for "Integrity Monitoring," "Change Control," and "General."
- Under Category, select All.
- On Product Properties, click Export.
- Right-click Link.
- Chose Save As to save the XML.
- Place the backed-up XML of the server tasks on the computer where you access ePO.
- Log on to the ePO console.
- Select Menu, Policy, Policy Catalog.
- On Product Properties, click Import.
NOTE: You have to click this option for "Application Control" "Integrity monitoring," "Change Control," and "General."
- Choose the file.
- Click OK.
- Click Start, Run, type
regedit , and click OK. - Navigate to and expand the following registry key:
- Select the Java subkey.
- In the right pane, double-click the Options value and append the value data below to the bottom:
- Click Start, Run, type
services.msc , and click OK. - Restart the ePO Application Server service.
- If the error occurs again, run the Minimum Escalation Requirements (MER) tool for ePO. Make sure that the Java Heap dump is included in the MER results. For more information about collecting ePO MERs, see KB72895 - How to collect a Minimum Escalation Requirements log for ePolicy Orchestrator and McAfee Agent.
How to enable Solidcore Extension Debug Logging:
- Navigate to the
C:\Program Files\McAfee\ePolicy Orchestrator\Server\conf\orion directory. - Open
log-config.xml with a text editor. - Scroll to the end of file.
- Append the section below to the end of the file before the
</log4j:configuration> ending tag.
- Save the
log-config.xml file.
How to submit a request for an unsupported kernel:
- Kernel
- Operating system
- X86/64
- Kernel date release
- Number of systems affected
- Gather the information needed.
- Open a Service Request in Insights with the following:
- Title: Kernel Request - <OS> - <KERNEL>
- Description: Put in the information request fields
- Submit a JIRA request with the same information:
- Product: Solidcore Agent
- Version: 6.3.x
- Component: General
- Found build: 6.3.0 (enter the latest build available; for the latest build, see KB87944 - Supported platforms for Application and Change Control)
- Bug Type: Product
- Actual origin: Post Release
- Expected Origin: Post release
- Hardware: <Fill out your hardware> *if unsure, set to “ALL”
- Operating system: <Fill out the OS> * if the operating system is not present on the list, select “Linux”
- Steps to repro: N/A
- Actual Results: N/A
- Expected Results: N/A
- Summary: Linux/UNIX - Kernel Request - <OS> - <KERNEL>
- Description: Put in the information request fields
AIX | |
Linux | |
Solaris |
Logs are maintained at the following locations:
AIX | |
Linux | |
Solaris |
To manually generate a crash dump:
NOTE: Commands are followed by the paths where the crash dump is generated.
AIX | Press Yellow Path: |
Linux | Press ALT+SYS RQ+C Path: |
Solaris | At boot time, press STOP+A and then type Path: |
To manually generate the core of a service:
NOTE: For all platforms, in the output of
AIX | For files named |
Linux | For files named |
Solaris | For files named |
GROUP BY DATA_TYPE
ORDER BY 1 DESC
FROM SCOR_STAGING_DATA_CHANNEL
GROUP BY DATA_TYPE
ORDER BY 1 DESC
SELECT * FROM [dbo].[OrionRegisteredServers]
pt.FeatureTextID,
pt.CategoryTextID,
pt.TypeTextID,
po.Name,
po.PolicyObjectID,
SUM(DATALENGTH(PSV.SettingValue)) DataSize
from EPOPolicySettingValues PSV
inner join epopolicyobjecttosettings pots
on psv.PolicySettingsID = pots.PolicySettingsID
inner join epopolicyobjects po
on pots.policyobjectid = po.policyobjectid
inner join epopolicytypes pt
on po.typeid = pt.typeid
group by pt.FeatureTextID, pt.CategoryTextID, pt.TypeTextID, po.Name, po.PolicyObjectID
having SUM(DATALENGTH(PSV.SettingValue)) > 10240
order by DataSize DESC;
inner join EPOPolicyObjects po on po.typeid = pt.typeid
where pt.TypeTextID = 'AWL Rules (Windows)' and po.name like 'McAfee Default'
pt.TypeTextID, pt.CategoryTextID, pt.FeatureTextID,
ps.PolicySettingsID , ps.Name, ps.ParamInt, ps.ParamStr,
psv.PolicySettingValuesID, psv.SectionName, psv.SettingName, psv.SettingValue
from EPOPolicyObjects po
left join EPOPolicyTypes pt on po.TypeID = pt.TypeID
left join EPOPolicyObjectToSettings po2s on po.PolicyObjectID = po2s.PolicyObjectID
left join EPOPolicySettings ps on ps.PolicySettingsID = po2s.PolicySettingsID
left join EPOPolicySettingValues psv on psv.PolicySettingsID = ps.PolicySettingsID
where po.PolicyObjectID = 389
pt.TypeTextID, pt.CategoryTextID, pt.FeatureTextID,
ps.PolicySettingsID , ps.Name, ps.ParamInt, ps.ParamStr,
psv.PolicySettingValuesID, psv.SectionName, psv.SettingName, psv.SettingValue
from EPOPolicyObjects po
left join EPOPolicyTypes pt on po.TypeID = pt.TypeID
left join EPOPolicyObjectToSettings po2s on po.PolicyObjectID = po2s.PolicyObjectID
left join EPOPolicySettings ps on ps.PolicySettingsID = po2s.PolicySettingsID
left join EPOPolicySettingValues psv on psv.PolicySettingsID = ps.PolicySettingsID
where pt.FeatureTextID ='SCOR_AWL' and SettingName = 'Group_name' and ps.Name not like '%Settings%'
Attachment 1
Attachment 2
Affected Products
Languages:
This article is available in the following languages: