Configuring the FlexNet Agent for HP DDMI

FlexNet Manager Suite 2022 R1 (On-Premises)
The FlexNet agent for HP DDMI is the code entity that accesses the inventory (.xsf) files uploaded to your HP DDMI server, and saves the resulting data to the staging database that you have just established. Operationally, it consists of two parts:
  • A small C# application (an .exe and a .dll) that acts only as a transport, decompressing the .xsf files (which are compressed XML) and feeding them to the second part
  • A stored procedure, already created in the staging database (see Creating the Staging Database), that unpacks the XML elements and saves the resulting data in the staging database.
Clearly, it is only the first of these that is the focus of this topic.
The agent may be installed anywhere, as long as it has access to the folder on your HP DDMI server where the .xsf inventory files are uploaded, and to the staging database. Optional locations include:
  • On the HP DDMI server (optimal from a network performance viewpoint)
  • On the server hosting the staging database
  • On an inventory beacon that has fast network access to both of the above
  • On any other computer meets that same requirement of fast network access to the data source and destination.
Although much of the inventory processing load is delegated to the SQL stored procedure, you can further control the impact of the executable on its host device by specifying the number of CPU threads it devotes to throughput of the .xsf files. In any case, the agent is normally scheduled to run only once daily in off-peak hours.

To configure the agent executable:

  1. Navigate through the unzipped tools archive to Tier 1 Adapter Tools > HP Discovery and Dependency Mapping Inventory Tools > DDMIAgent.
  2. Copy both the FnmpDDMIAgent.exe and CommandLine.dll files to their new operational location.
    Important: Both files must be installed in the same folder.
  3. Identify or configure the account that is to run the agent.
    A suitable account:
    • Has execute rights on the device where the agent is installed
    • Has at least read-only privileges on the folder where the .xsf inventory files are saved on your HP DDMI server
    • Has read/write privileges on the staging database.
    You may prefer to make this a service account to prevent interactive use.
  4. Configure a Windows schedule task (or use your preferred scheduling tool) to trigger execution of the agent running as your selected account on your preferred schedule.
    Choose a schedule to suit your environment. This should allow enough time to:
    • Process all new .xsf files into the staging database
    • Upload the results to the compliance database for FlexNet Manager Suite
    • Align with the nightly full import and license compliance calculations, by default scheduled for 2am nightly.
    A suggested schedule is daily at 10pm.
    The task must invoke the FnmpDDMIAgent.exe executable with a command line that includes some of the following parameters (the agent also supports -h to list command-line options):
             -s PathToInventories 
             -d StagingDBConnectionString 
             -l LoggingLevel
             -t TimeOutSeconds
             -n ThreadCount
    where the parameters are:
    Switch M/O Value


    The location of the HP DDMI inventory files (no default value). The path may be enclosed in double quotation marks, which are mandatory when there is any white space in the file path. Example: "C:\HPDDMI\Inventories"



    The connection string for the staging database (no default value). Example: "server=;Database=DDMIStaging;Trusted_Connection=yes"


    An integer in the range 0-3 for the level of logging:
    • 0: no logging (default value)
    • 1: Errors only
    • 2: Errors and warnings
    • 3. Verbose logging.


    The number of seconds the executable should wait for a response to any command given to the staging database. Default value is 3600 (an hour).



    An integer in the range 1-20 (default 5), being the number of CPU threads the agent should use for processing the .xsf inventory files. Each thread invokes the database stored procedures independently.
    Tip: Depending on the hosting device architecture, optimum throughput is achieved somewhere within the range of 1-20 threads, after which increasing the number of threads overloads the system and decreases performance. Given the variety of factors involved, there is no real substitute for experiment to determine the optimum value for your environment.
    Example usage (all on one line):
            -s "C:\HPDDMI\Inventories"         
            -d "server=;Database=DDMIStaging;Trusted_Connection=yes" 
            -l 2
    When thus invoked, the agent reads through all updated XSF files in the source directory, and uploads their data into the staging database. Files unchanged in the nominated path since the last upload are ignored.
  5. On the assumption that you already have .xsf files in the nominated folder on your HP DDMI server, you may wish to run the agent once now, and use Microsoft SQL Server Studio to validate the content is stored in the staging database. (Loading the staging database also provides material for testing the next stage of the process.) If you enabled logging, you may also check the log file, which is written to the same folder where the executable is running.

FlexNet Manager Suite (On-Premises)

2022 R1