Troubleshooting the ZENworks for Desktops 3.x Inventory Process.

  • 10057371
  • NOVL28182
  • 02-Oct-2000
  • 11-Sep-2003

Archived Content: This information is no longer maintained and is provided 'as is' for your convenience.

Goal

Troubleshooting the ZENworks for Desktops 3.x Inventory Process.

Is a NDS replica required on a ZENworks Inventory and/or Database Server?

Properly configuring the ZENworks for Desktops 3 Inventory Process.

Fact

Novell ZENworks for Desktops 3.0

Novell ZENworks for Desktops 3.2

Novell Workstation Inventory

Symptom

Getting Java errors on the server after ZFDStart is loaded.

Inventory data is not getting to the database server.

Inventory data is being rolled up to the Root server by the wrong Rollup server.

The inventory policy wasn't appearing in the scheduler, and therefore wasn't running.

Inventory from a leaf or intermediate server is not being rolled up.

Server is in a constant state of high utilization.

ZENINVSCANFILENAME is the same file name for all workstation objects in the tree that used the same image.

STRFILENAME is the same name in the workstation registry for all workstation objects in the tree that used the same image.

Fix

By design, the replica need not be on the Inventory Server.  But since the Inventory modules depend on NDS for configuration information, the Inventory NDS Policy information needs to be always available either from a primary replica or from a secondary in case the primary is down.  Also in the case of the latter, the Policy information should have been synchronized between the Primary and the Secondary replicas.

I. PROPER SETUP AND INSTALLATION
1. Was JAVA unloaded from the server and re-installed from the Companion CD?
    -  Java errors may occur on the server if the correct version of Java was not loaded on the server, or Java was not unloaded during the initial install of ZENworks for Desktops.  To correct the problem,  Re-install Java from the Companion CD.  
    - At the server prompt,  type JAVA -exit  
    - Run JVM.EXE from the companion CD.
    - Re-load JAVA on the server
    - Run ZFDSTART.NCF
Note - A newer version of the 1.1.7B JVM is available on the Novell Developer Website
2  Was an Inventory Role selected for the server?        
3. Was the server installed as an Inventory Database server?   
4. Was the Site ID and Site name selected for the Database server?
    - Was the Site ID between 0-255 ( you cannot use 0 or 255)
    - Does the Site name have underscores in it?  This is not supported.  
Related Solution Documents:  Error: "Could not find site info, please ensure database is running.. retrying again:"
Obtaining the Site ID and Site Name for ZfD3
5.  Was Sybase Installed?
6.  Was this installed on a 4.11 or a 5.1 server?  
    - If server is 4.11, was ORB.EXE installed on the server?
Related Solution Documents: ORB.SERVICE.NAMING errors with ZENworks Inventory.

    - If server is 5.1 ensure that the following entries exist in the JAVA.CFG file in the SYS:\ETC directory:
        CLASSPATH=$CLASSPATH;$OSA_HOME\LIB\VBJAPP.JAR;
        CLASSPATH=$CLASSPATH;$OSA_HOME\LIB\VBJORB.JAR;
        These changes will be in effect only if you also do the following:
        - UNLOAD JAVA
        - LOAD JAVA
        - STARTINV
Related Solution Document: NamingServer error when loading ZfD3 Inventory.

7. Are you installing on a Clustering server?
    - You must install the Clustering Snap-in. This can be downloaded from Novell ZENworks CoolSolutions Home Page

8. Were the Clients upgraded to 3.3 and 4.8?
    -  The older clients are not compatible with ZENworks for Desktops 3

NOTE: ALL INVENTORY SERVICES MUST BE STOPPED on the server before you create or modify the Inventory policies or configure the objects.   IF THEY ARE LOADED AT THIS POINT, KILL THE INVENTORY SERVICE ON THE SERVER.  To do this go through the following steps:
To reload the Inventory services, go to the server console Prompt and type the following:
JAVA -show
This will show you all of the Java processes that are currently running.

The following processes will need to be stopped and restarted.  
com.novell.orb.service.naming.NamingServer
com.novell.application.zenworks.autowsmanagerment.wsinmport.Imp
com.novell.zenworks.desktop.inventory.servercommon.ZENworksInv

Stop the processes by typing the following
JAVA -kill(process ID#)    
example:   JAVA -kill190

Related Solutions documents:Inventory roll-up not taking place as scheduled.
.

II. After the Installation of ZENworks, load ConsoleOne and check the following:

SERVICE LOCATION POLICY PACKAGE
1. Is there a Service Location Policy Package in the same container as the Inventory Database Server's NCP object?
    - There must be a Service Location Package for every server identified as a database server.
2. Make sure the Service Location Package is associated to the containers where the servers which will be using this Inventory database exists.
3. In the Service Location Policy package, is the ZENworks Database option enabled?
    - Click on the properties for the ZENworks Database option to check that the ZENworks Database DN is pointing to the correct object.
Related Solution documents:
10057914
10057535

SERVER PACKAGE/ROLL-UP POLICY
1. Is the Inventory Server Associated to a Server Package?   Does the Server Package Exist?  If not, create one and associate the NCP server object or the container where the NCP server object exists
2. In the Server Package, Is the 'zeninvRollUpPolicy'  enabled?   If so,  go into the properties for the zeninvRollUpPolicy.
    - The Inventory Role on this server will determine what "Destination Service Object" will be used.
    - If the server is set up to be a Root Server or a StandAlone server, you will not need to specify a "Destination Server Object, but the RollUp Policy will still need to be enabled.
    - If the server is the only server in the tree and was installed as a Root Server and a "Destination Server" already, Inventory may fail.  If this happens, it may be necessary to delete the inventory objects from ConsoleOne, unload the inventory services from the server, and reinstall the database again.  Do not define the "Destination Server" as it is not valid for a Root Server to have a "Destination Server" to roll up to.   If the server is set up as a Leaf Server or an Intermediate server, you will need to specific the next level Destination Server Object, where the Inventory data will be sent to.
     - If you are in a WAN environment, you may want to set up a Schedule when the server will "Roll Up" the inventory data to the Destination Server.
Related Solution documents:
10057243
10056860
10057243

ZfD3InventoryDatabase OBJECT
1.  Is there a ZfD3InventoryDatabase Object for the Inventory Database Server?
    - If not,  create one.        
    - If so, go into the properties of this object.  Make sure the correct server DN name is added on the first line.  

ZenInvService OBJECT
1.  Is there an ZenInvService Object?  The name of this object should be <servername>_ZenInvService.
    - To view the Rollup diagram for this server, double-click on this object.
    - To view the properties for this object, right click, then click on Properties. In the Properties, you will see the Inventory Role for this server.  Make sure it is configured properly.
2.  This object also holds the Roll -Up Status reports.   If the Inventory data is not being sent to the next level Inventory server, check the Roll-Up status logs to determine the following:
    - When the last Roll-up occurred.
    - The name of the Roll-up Zip file that was sent to the next level server should be the SiteID of the correct database server.
    - The size of the Roll-up file.
    - What server sent the file and what server received the file.

WORKSTATION PACKAGE
1.  Has a workstation Package been created?
    - Yes - Has it been configured properly?  See below for more details.
    - No - Create the workstation package
        To Configure the Workstation Inventory Package:
    - Right click on the Workstation Package, click on Properties.
    - Under the Association Tab, make sure you have added the containers, workstations, or workstation groups that will need to use this Policy package.
    - Under the Policy tab, make sure the Workstation Inventory policy is enabled for each platform in your environment.
    - After it is enabled, go into to the properties of the Workstation Inventory policy. Make sure the <servername>_ZenInvService object is listed. Also make sure the "Enable software scan" box is checked.  Otherwise, only minimal inventory information will be scanned and then sent to NDS, IT WILL NOT BE SENT TO THE DATABASE SERVER.
    - Make sure the Policy schedule is set up to meet your needs.
    - Check the 'Other' tab and verify that the WMSCHED class is present.  If re-creating the workstation object does not provide this class attribute, the ZFD 3 schema is not properly in place and a re-install of the schema should be done and then verify all replicas and partitions are updated properly.  Recreation of the policies that can manually be recreated would be recommended after the schema is properly populated in the DS.

NOTE:  Once all of the objects are created, and configured properly, load the Java Processes by typing STARTINV at the server prompt.  
NOTE:  If you are modifying the Inventory policies or configuring the objects, always stop the Inventory Services. Configure the policies and properties of the objects. Restart the Inventory Services again.
To reload the Inventory services, go to the server console Prompt and type the following:
JAVA -show
This will show you all of the Java processes that are currently running.

The following processes will need to be stopped and restarted.  
com.novell.orb.service.naming.NamingServer
com.novell.application.zenworks.autowsmanagerment.wsinmport.Imp
com.novell.zenworks.desktop.inventory.servercommon.ZENworksInv

Stop the processes by typing the following
JAVA -kill(process ID#     
example:   JAVA -kill190

Restart the Inventory processes by running the ZFDSTART.NCF file with the following command:
ZFDSTART

Once the processes are running again, Go to the container where the <servername>ZenInvService object is located, go to Tools, Configure DB

    III. On the server, check the following:
1. Are the following Java processes loaded?
type Java -show, you should see the following services loaded:
com.novell.zenworks.desktop.inventory.servercomman.ZENWorksInv
com.novell.application.zenworks.autowsmanagement.wsimport.Imp
com.novell.orb.service.naming.NamingServer
2. Are the following modules loaded on the server?
ZENWS.NLM
DBSRV7.NLM
3. Does the MGMTDB.LOG file exist in the <VOLUME_NAME>:ZENWORKS\DATABASE\ directory?
if this file does not exist or has been deleted, the Database will not load on this server.
4. Had the Inventory Database been installed on an NFS volume?
    - This is not supported.  This is documented in the  ZENworks for Desktops 3 Readme,  section 7.5.


    IV. On the Workstations, check the following:
- Were the workstations imported properly?
- Is Workstation Manager Installed and running on the workstation?
From the desktop menu, right-click the Workstation Manager - Display NDS Information. The Workstation object and the tree should be displayed. Alternatively, verify using the Registry Key.: HKEY-local machine\software\novell\\workstation manager\identification.  You should see the following settings under the Identification Key.  If these settings do not exist, or have the wrong information, the workstation HAS NOT been properly imported.
    Last registered Tree
    Registered in
    Registration Object
    Tree
    Workstation Object

  
    V. Inventory Log Files and Scan Status Reports to help with troubleshooting.
ZENERRORS.LOG -This is a log of the workstation scanner errors. File is stored in Windows\Temp on Win95/98 machine, or Temp directory on the WindowsNT or Windows2000 machines.
HIST.INI - This is located on the local drive of the workstation.
CONSOLE.LOG - If CONLOG is loaded somewhere near the top of the AUTOEXEC.NCF file,  then unloaded after all of the NLMs are loaded on the server, you can use CONSOLE.LOG as a useful troubleshooting tool to detect any errors loading the Java Processes or the Database NLMs during the initial boot up of the server.
Under the SYS:PUBLIC\ZENWORKS\WMINV\LOGS directory, there are several useful trace files and log files that may help you to locate the problem.

1. To view the scan status for the workstation, go to the Workstation Object, Click on ZENworks Inventory Tab, Click on the arrow, go to Scan Status.
2. To View the Roll-Up Policy status and the Roll-up Server Status, go to the ZenInvService object, right click on the object, go to Properties, Status Report Tab.  (Note:  On the Roll-Up schedule, it has been found that if the "Randomly dispatch during time period" option is selected, roll-up will not occur.  To resolve the issue, disable this option)

To increase the verbosity of the log files, edit the SYS:PUBLIC\ZENWORKS\WMINV\PROPERTIES\TracerFilter.properties and the TracerMedia.properties files In the TracerFilter.properties file add a semi-colon to the *default*=BRIEF line. Then add an additional line. *default*=DEBUG5 below.  Save the file.
In the TracerMedia.properties file, on the second line, you will see the word "INFORMATION" at the end of the line.  Remove "INFORMATION" and add DEBUG5.  Save the file.  After the files have been saved, go into the  SYS:PUBLIC\ZENWORKS\WMINV\LOGS\InvServerLog.txt folder and delete all of the old log files.  There will be one that is still in use. This is ok.  After you stop the Inventory processes on the server, then restart them, a new file will be created.  It will have a lot more information in the file..

If high utilization is occurring when the JAVA Inventory process is the only ZFD process running, check for the \SCANDIR\*.STR /s files not being processed and deleted as should be happening.  Stop the Inventory process and remove *.STR files (including subdirectories).  Restart the Inventory process and verify the high utilization is no longer constant.

If a image of a workstation that had already been Inventoried is pushed to other machines, delete the contents of the C:\<WIN_OS>\TEMP\*.* /s.  This will initiate a new, full Inventory Scan and generate a new MINFO.INI file that contains the ZENINVSCANFILENAME information.  Check that the STRFILENAME in the workstation's registry is updated with the new scan file name.  If it does not update to the new name, delete it and the contents of the C:\<WIN_OS>\TEMP\*.* /s.

Q:  I have a Root server, two intermediate servers, the rest leaf servers.  Each leaf server, under properties of the Inv object (servername_ZenInvService, Status Report, Roll-Up Status), will show a "Last storage time in Root Server".  However, my two intermediate servers, under "Last storage time in Root Server", show nothing. My data APPEARS to be rolling up to the root correct (When I do an inventory query, the number of objects seen matches the number of objects created in the tree).  Is this an error, or do the intermediates NOT show a "Last storage time in Root Server"?
A:  The Intermediate Inventory servers do not have 'Workstations Attached' enabled on the 'Inventory service object properties'.  The "Last storage time in Root Server" will not be logged if the 'Workstations Attached' is off.  This is working as designed.