Advanced Reporting Techniques of Dell OpenManage IT Assistant

Advanced Reporting
Techniques of Dell
OpenManage™ IT
Assistant
Enterprise Systems Group (ESG)
Dell OpenManage™
Systems Management
Dell White Paper
By Haihong Zhuo
haihong_zhuo@dell.com
Software Engineer
OpenManage Development
August 2002
Contents
Executive Summary ...................................................................................................................... 3
Introduction ................................................................................................................................... 4
IT Assistant Database Introduction .......................................................................................... 5
Inventory Data in IT Assistant Database ............................................................................. 5
IT Assistant Database Engine ................................................................................................ 6
Get Ready for Generating Reports from IT Assistant ........................................................... 8
Discovery Performed .............................................................................................................. 8
Database Attached to Database Engine ............................................................................... 8
ODBC Data Source Created for IT Assistant Database (optional) ................................... 9
Inventory Reporting and Searching in IT Assistant ............................................................ 10
Inventory Reporting ............................................................................................................. 10
Inventory Searching.............................................................................................................. 11
Customizing Reports from IT Assistant ................................................................................ 13
A Simple Report .................................................................................................................... 13
A More Detailed Report ....................................................................................................... 14
System Reports ...................................................................................................................... 15
A Complicated Report.......................................................................................................... 16
Tools/Applications To Use ....................................................................................................... 18
SQL Server Management Tools........................................................................................... 18
Other Tools............................................................................................................................. 19
Conclusion ................................................................................................................................... 20
August 2002
Page 2
Dell Enterprise Systems Group
Section
1
Executive Summary
Dell OpenManage™ IT Assistant keeps information about managed systems as
inventory data in its database. Users can query this data and get inventory
reports through IT Assistant’s user interfaces. IT Assistant also has the capability
for users to create customized reports outside its web-based user interfaces.
For example, a fictitious company, DirectCom, Inc., uses IT Assistant to manage
all of its computer systems. At the end of a year, its IT department wants to have
several reports about the company’s computer assets in a different format as part
of the accounting process output. Desired reports include: 1) a list of the
company’s computer systems with name, service tag, type of operating system,
and total memory of each system; 2) a report with detailed information on each
system for all systems; and 3) a list of systems that have a remote access device
and/or array manager installed. With an understanding of the IT Assistant
database, as well as general understanding of Microsoft® SQL Server™ queries
and tools, these reports can be created.
This paper first describes what users need to know about generating reports
from IT Assistant, and then describes the built-in inventory report and search
functions offered by IT Assistant. Finally, this paper uses the reports mentioned
above as examples to instruct users on how to create reports from IT Assistant.
The content in this article applies to IT Assistant version 6.0 and later.
August 2002
Page 3
Dell Enterprise Systems Group
Section
2
Introduction
Dell OpenManage IT Assistant (ITA) is a systems management console that
allows users to monitor and manage many IT assets from a centralized point.
After ITA is configured, its Network Monitoring service discovers managed
systems – servers, desktops, and workstations – on the network and stores
information it gathers about each system into the ITA database. This data is
referred as inventory data.
For users to be able to access this inventory data, ITA provides basic inventory
report and search functions through its web-based user interfaces. In addition to
these built-in functions, the ITA database offers users the ability to customize
reports.
This paper first describes the inventory reporting and searching functions
provided by ITA, then guides users on how to generate custom reports through
specific examples. The examples come from a fictitious company – DirectCom
Inc. – and are used to show the reports can be created from ITA. This paper
also discusses preparation for generating reports and what tools to use.
August 2002
Page 4
Dell Enterprise Systems Group
Section
3
IT Assistant Database Introduction
ITA uses a database as a logical encapsulation of information that needs to be
stored persistently. For detailed information about the ITA database, please refer
to the Dell OpenManage white paper “Getting to Know the OpenManage IT
Assistant Database” by the same author.
Information on managed systems gathered from the network during discovery is
referred as inventory data, and is stored in the database. Inventory data contains
relatively stable information on a managed system, including its host name, IP
address(es), service tag, asset tag, system’s model, processor’s type, size of
memory, etc.
Besides the inventory data, there are other persistent data stored in the ITA
database. For a list of ITA database tables and information of each table, please
refer to section IT Assistant Database Schema and Appendix B - IT Assistant Database
Schema in the ITA Database white paper. For relationships between tables,
please refer to section IT Assistant Table Relationships in the same white paper.
Inventory Data in IT Assistant Database
Among all the tables in the ITA database, two are designated to store the
inventory data and desire to be elaborated. They are the Node table and the NIC
table.
Node Table
The Node table serves as the master repository of information for each managed
system found during discovery. Some information about a managed system,
including its service tag, asset tag, type and model of the system, OS type, and
BIOS version will only have single instance data for each system. Such singleinstance data is saved in this table. Some data on a managed system can have
multiple instances, like multiple NIC adapters. NIC-related information is stored
separately in the NIC table. The name of the system (column Name) serves as
the primary key of this table and can be used to join the Node table and the NIC
table together. Joining these tables is discussed in the NIC Table section.
The Node table is empty after a fresh ITA installation. During the discovery
cycle, rows are inserted into, updated, or deleted from this table accordingly.
After an upgrade or re-installation of ITA with the database preserved, existing
August 2002
Page 5
Dell Enterprise Systems Group
rows in this table will be exported and re-imported to make them available to the
new ITA installation.
NIC Table
The NIC table stores NIC-related information, including IP address, MAC
address, and the manufacturer’s name for every NIC adapter located on each
managed system that is discovered and stored in the Node table. The name of
the managed system (column NodeName) and the IP address of a particular NIC
adapter (column IPAddress) constitute the composite key of NIC table.
The NIC table is also empty after a fresh ITA installation. During the discovery
cycle, rows are inserted into, updated, or deleted from this table accordingly.
After an upgrade or re-installation of ITA with the database preserved, existing
rows in this table will be exported and re-imported to make them available to the
new ITA installation.
Even though there is no foreign key constraint1 created between Node table and
NIC table, these two tables are logically linked by the name of the managed
system. The name of the managed system is denoted as Name in the Node table
and NodeName in the NIC table. By using Node.Name = NIC.NodeName in the
WHERE clause of any SQL (Standard Query Language) statement, these two
tables can be joined.
Additionally, there is a trigger created in the Node table to implement cascade
deletion: when a record is removed from Node table, row(s) in NIC table with
same system name will also be deleted. All triggers in ITA database are listed in
the Triggers section of the ITA Database white paper.
IT Assistant Database Engine
Starting from version 6.0, ITA uses an ODBC-compliant database engine from
Microsoft -- Microsoft Data Engine (MSDE), Microsoft SQL Server 7.0, or
Microsoft SQL Server 2000. This allows third-party applications to connect to
ITA database through native SQL Server interface or ODBC.
When ITA’s service components are to be installed on a system, ITA’s installation
program will check if any of these three database engines exists on that system.
If none of these databases is found, ITA’s installation program will install MSDE
silently on that system and deploy the ITA database to the database engine. If the
MSDE or either version of SQL Server is found on the system, ITA’s installation
program will deploy ITA’s database to that database engine and integrate ITA’s
service components to use the engine. If MSDE is installed and/or used when
Foreign key constraint is a link created between two tables by adding the column or columns that
hold one table’s primary key values to the other table. This column becomes a foreign key in the
second table. Such a constraint enforces referential integrity between two tables.
1
August 2002
Page 6
Dell Enterprise Systems Group
ITA is initially installed, users can still upgrade the database engine to SQL
Server 7.0 or 2000, without having to re-install ITA again or losing data. This
provides ITA with scalability.
August 2002
Page 7
Dell Enterprise Systems Group
Section
4
Get Ready for Generating Reports from IT
Assistant
Users can do inventory reporting and searches through ITA’s web-based user
interfaces, or create custom reports by accessing ITA database directly. Either
way, the following prerequisites have to be met before reports can be generated.
Discovery Performed
After a fresh installation of ITA, the Node table and the NIC table are empty.
Discovery has to be carried out by ITA’s Network Monitoring service to have
managed systems discovered from network and inventory data stored into the
Node and NIC tables.
The standard procedure for discovery is as follows:
1. After ITA is installed, reboot the system upon request. ITA services, the
Connection service and the Network Monitoring service, will be started
automatically on system reboot.
2. Start the ITA web-based user interface by double-clicking the IT Assistant
icon on the desktop.
3. When prompted for discovery configuration, follow the instruction to enter
subnet(s), host name(s), or IP address(es) for ITA’s Network Monitoring
service to discover on.
4. Wait for the discovery cycle to be completed.
Database Attached to Database Engine
The database engine used by ITA is MSDE or SQL Server 7.0/2000 from
Microsoft, so the database file has to be attached to the database engine before it
can be accessed. During ITA installation, the ITA database is deployed to the
appropriate database engine, resulting in the database file being generated and
attached to the database engine. So, on a system running ITA services, this
requirement should already be met.
The database file generated is ITAssist.mdf in ITA’s database directory. The name
of the database in the database engine is ITAssist. If SQL Server 7.0 or 2000 is
installed, users can start the Enterprise Manager of SQL Server to verify that
ITAssist is listed as a database for that database engine, and is therefore
accessible.
August 2002
Page 8
Dell Enterprise Systems Group
ODBC Data Source Created for IT Assistant Database (optional)
Third-party applications are allowed to access the ITA database through ODBC.
To do so, an ODBC data source has to be created for ITA database ITAssist. After
ITA is installed and starts running, an ODBC data source, also named ITAssist, is
already created for database ITAssist. Therefore, on a system running ITA
services, this requirement should already be met.
Users can start the applet ODBC Data Source Administrator, go to the tab System
DSN to verify that ODBC data source ITAssist exists for SQL Server database
ITAssist, or create that data source.
Note: it is a prerequisite for ITA services to run, but not for third-party
applications to access the database, unless they want to do it through ODBC.
Therefore, it is an optional requirement depending on whether or not the user
wants to access the database through ODBC.
August 2002
Page 9
Dell Enterprise Systems Group
Section
5
Inventory Reporting and Searching in IT
Assistant
ITA stores inventory data in the Node table as well as the NIC table in its
database. ITA also offers built-in inventory reporting and searching functions
for users to access this data.
Inventory Reporting
In ITA’s user interface, click the Inventory button on the top bar to bring up the
Inventory page as shown in Figure 1.
Figure 1: IT Assistant Inventory Page
August 2002
Page 10
Dell Enterprise Systems Group
To the right of the Blue Bar, on the tree of discovered systems, select a group of
systems or a particular system. On the right panel of the page, under “Select
Columns”, check the items to be included in the report. Click the “Get Inventory”
button, and a list of system(s) with inventory data for the selected items will be
displayed in the bottom half of the right panel. For example, in Figure 1, IP
addresses and service tags of all the discovered and then selected systems are
being reported.
Inventory Searching
In ITA’s user interface, click the Search button on the top bar to bring up the
Search page as shown in Figure 2.
Figure 2: IT Assistant Search Page
In this page, a user can specify a search against the inventory data in the Node
table and the NIC table. Up to two combined criteria are allowed. Each criteria
allows a set of Boolean relationships, such as Is, Is Not, etc. Click the “Search”
button, and the generated query will be executed against ITA database, and the
search result will be displayed in the bottom half of the screen.
As shown in Figure 2, the user wants to find, from all the discovered systems,
servers that have Windows 2000 as their operating system. Two systems are
August 2002
Page 11
Dell Enterprise Systems Group
found to meet those criteria and are listed with their IP Address, Power Status,
OS type, BIOS Version, and Asset Tag information.
August 2002
Page 12
Dell Enterprise Systems Group
Section
6
Customizing Reports from IT Assistant
Even though ITA already provides the built-in inventory reporting and
searching functions, ITA has the capacity to allow users to customize the
reporting and searching. This section offers scenarios to show different types of
reports users can generate. and how.
(DirectCom, Inc. is a fictitious company name used in these examples.)
A Simple Report
While doing standard year-end accounting, the IT department at DirectCom, Inc.
wants to have a list of the company’s computer assets. They want the list to
include the name and service tag of each system, as well as the type of operating
system and the total memory installed on the system. Because DirectCom uses
Dell Open Management IT Assistant to manage all of their systems, this task can
be done either by using ITA’s built-in inventory reporting function, or by
running a simple SQL query against the ITA database.
Looking at the database tables, the system administrator determined that all the
required data could be found from the Node table. The corresponding columns
are Name, ServiceTag, OSType and TotalMemory, respectively. A SQL query
can now be generated to retrieve data from Node table and output the results:
SELECT Name, ServiceTag, OSType, TotalMemory
FROM Node
Executing query produces the output in Table 1:
Name
h8vht01
ita-jag1
chlin.us.dell.com
5ga2k
w6qhe.aus.amer.dell.com
gx110-c68be
htgl901.aus.amer.dell.com
5YTP501
fgk5r01.aus.amer.dell.com
jianwen-linux71.us.dell.com
…
Service Tag
H8VHT01
12312
Linux
5GA2K
Unknown
C68BE
HTGL901
5YTP501
FGK5R01
5MDH101
…
OS Type
Windows 2000
Windows 2000 Domain Controller
Red Hat Linux
Microsoft Windows 2000
Windows 2000
Microsoft Windows NT
Microsoft Windows NT
Windows 2000
Microsoft Windows 2000
Red Hat Linux
…
Total Memory
523760
524287
524228
131072
267964416
261120
131072
261672
524288
524284
…
Table 1: Simple ITA Database Query Report
August 2002
Page 13
Dell Enterprise Systems Group
A More Detailed Report
While the report generated above may provide all that is needed for accounting,
the system administrator wants to know the network configuration/topology of
all the systems. For that, the system administrator wants to enhance the report
by including the IP address and manufacturer of NIC adapter(s) installed on
each system.
By looking at the database tables, the system administrator determined that IP
address and NIC manufacturer information on each system could be pulled out
from the NIC table. Columns in the NIC table that represent the system’s name,
IP address and manufacturer of every NIC adapter found on the system are
NodeName, IPAddress, and NICManufacturer, respectively. The records in
Node table and NIC table are related by name of the system.
The following SQL query can now be generated to join these two tables together
and output the results:
SELECT Node.Name, Node.ServiceTag, Node.OSType, NIC.IPAddress,
NIC.NICManufacturer
FROM Node, NIC
WHERE Node.Name = NIC.NodeName
Executing the query produces the output shown in Table 2
Name
OS Type
IP Address
NIC Manufacturer
h8vht01
Service
Tag
H8VHT01
Windows 2000
143.166.154.76
ita-jag1
12312
Windows 2000
Domain Controller
143.166.152.18
2
192.168.1.82
5ga2k
5GA2K
143.166.154.34
w6qhe.aus.amer.dell.com
gx110-c68be
Unknown
C68BE
143.166.154.52
3Com EtherLink PCI
htgl901.aus.amer.dell.com
HTGL901
5YTP501
143.166.154.14
3
143.166.154.82
3Com
5YTP501
Microsoft Windows
2000
Windows 2000
Microsoft Windows
NT
Microsoft Windows
NT
Windows 2000
Intel 8255x-based Integrated
Fast Ethernet
Broadcom NetXtreme
Gigabit Ethernet Driver
Intel 8255x-based
Integrated Fast Ethernet
3Com EtherLink PCI
fgk5r01.aus.amer.dell.com
FGK5R01
jianwen-linux71.us.dell.com
5MDH101
Microsoft Windows
2000
Red Hat Linux
…
…
…
143.166.154.12
7
143.166.154.83
143.166.154.11
1
…
Intel 8255x-based
Integrated Fast Ethernet
Intel(R) PRO Adapter
3Com
eth0
…
Table 2: Detailed ITA Database Query Report
August 2002
Page 14
Dell Enterprise Systems Group
Note: when the results are presented, duplicate system name, service tag, and OS
type for systems that have more than one NIC adapter, like ita-jag1 and 5YTP501,
are not displayed.
System Reports
The system administrator also wants to know the service tag, OS type, and list of
IP address and manufacturer name of NIC adapter(s) of a particular system. To
do that, the System Administrator executed the following queries against the ITA
database:
SELECT ServiceTag, OSType
FROM Node
WHERE Name = “5YTP501”
SELECT IPAddress, NICManufacturer
FROM NIC
WHERE NodeName = “5YTP501”
Table 3 shows how the information on a single system could be presented.
System Report
Name:
5YTP501
NICs
IP Address
143.166.154.127
143.166.154.82
Service Tag:
5YTP501
OS:
Windows 2000
NIC Manufacturer
Intel(R) PRO Adapter
Intel 8255x-based Integrated Fast Ethernet
Table 3: Single System Sample Report
Sometimes the system administrator would like to get information on a system
that has a specific IP address. The following SQL queries will fulfill this task:
SELECT Node.Name, Node.ServiceTag, Node.OSType
FROM Node
WHERE Node.Name = NIC.NodeName
AND NIC.IPAddress = “143.166.154.127”
SELECT IPAddress, NICManufacturer
FROM NIC
WHERE NodeName = (
SELECT NodeName
FROM NIC
WHERE IPAddress = "143.166.154.127")
Output result of these queries will be same as the system Report generated in
Table 3.
August 2002
Page 15
Dell Enterprise Systems Group
A Complicated Report
Using ITA, the system administrator at DirectCom can create a custom group
and assign discovered systems into that group. For example, a custom group
called Finance can contain all computer systems that belong to the company’s
financial department. Information related to custom groups is stored in two
tables in ITA database: CustomGroup table and NodeCustomGroup table. The
CustomGroup table stores the names of custom groups a user created, while the
NodeCustomGroup table stores which system belongs to which custom group.
The relationship between CustomGroup table and NodeCustomGroup table is:
CustomGroup.GrouName = NodeCustomGroup.GroupName.
The relationship between Node table and NodeCustomGroup table is:
Node.Name = NodeCustomGroup.NodeName.
To illustrate this, for monitoring purposes, the system administrator created a
custom group “GRP” in ITA, and assigned a list of discovered systems into that
group. Now he wants to generate a report about systems in that group that have
a DRAC (Dell Remote Access Card) or Array Manager software. Information for
each system he wants to be included in the report includes: name of the system,
service tag, IP address(es) of the system, version and IP address of the DRAC, as
well as version of the Array Manager on that system, if one is found.
Looking at the database tables, the System Administrator determined that three
tables – the Node table, NIC table and NodeCustomGroup table – need to be
involved in a SQL query to generate the report:
SELECT Node.Name, Node.ServiceTag, NIC.IPAddress, Node.DRACVersion,
Node.DRACIPAddress, Node.ARYMGRVersion
FROM Node, NIC, NodeCustomGroup
WHERE Node.Name = NIC.NodeName
AND Node.Name = NodeCustomGroup.NodeName
AND NodeCustomGroup.GroupName = “GRP”
AND (Node.DRACVersion IS NOT NULL OR
Node.ARYMGRVersion IS NOT NULL)
Executing query products the output in Table 4.
Name
Service
Tag
IP Address
diagdev.us.dell.com
ita-jag1
J3CH501
12312
143.166.154.221
143.166.152.182
autrydev2
h133i.us.dell.com
…
1PSC501
H133I
…
192.168.1.82
143.166.154.145
143.166.154.234
…
DRAC Version
DRAC IP Address
Firmware
Version 1.1
192.168.3.20
3.1.1
3.1.2
144.134.12.12
…
3.1.2
3.0
…
…
Array Manager
Version
Table 4: More Complicated Query Report
August 2002
Page 16
Dell Enterprise Systems Group
Note: when the results are presented, duplicated system name, service tag, and
DRAC version, DRAC IP address, and the Array Manager version for systems
that have more than one NIC adapter, like ita-jag1, are not displayed.
August 2002
Page 17
Dell Enterprise Systems Group
Section
7
Tools/Applications To Use
This section presents the tools and/or applications used to execute queries such
as those presented in Section 6.
SQL Server Management Tools
Since ITA is designed and implemented to work with Microsoft SQL Servercompatible database engines, SQL Server’s graphical management tools such as
Enterprise Manager and Query Analyzer can be used to exam, query and
manipulate the ITA database. These graphical management tools come with
SQL Server 7.0 and 2000, but not MSDE. Meanwhile, MSDE does not allow
access from remote systems. Therefore SQL Server needs to be in place before
these tools can be used, either locally or remotely.
Following are several scenarios of how this can be achieved:

August 2002
If MSDE, SQL Server 7.0 or 2000 are not installed when ITA services
(including the database component) are installed, MSDE will be installed
silently and will be used by ITA. If MSDE is already installed, ITA will use it
as database engine as well. Either way, there will be no SQL Server
management tools available locally, and the database cannot be accessed
from a remote host. To address this, MSDE can be upgraded to SQL Server
7.0 or 2000:
o
If both the server and client components of SQL Server are installed
during the upgrade, the ITA database can be accessed by SQL Server
management tools locally as well as remotely – from a remote host
that has the client components of SQL Server installed.
o
If only the server component of SQL Server is installed during the
upgrade, the ITA database can be accessed only by SQL Server
management tools from a remote host that has the client components
of SQL Server installed.

If both the server and client components of SQL Server 7.0 or 2000 are
already installed on the system on which ITA services are to be installed, ITA
will use it as database engine and the ITA database can be accessed by SQL
Server management tools locally as well as remotely.

If only the server component of SQL Server 7.0 or 2000 is installed on the
system that ITA services are to be installed, ITA will still use it as database
Page 18
Dell Enterprise Systems Group
engine and the ITA database can be accessed by SQL Server management
tools only from a remote host that has the client components of SQL Server
installed.
After it installs or locates a database engine to use, the ITA installation program
creates and populates a database called ITAssist. To use SQL Server’s Query
Analyzer locally, select local server (denoted as “.”) and select database ITAssist.
To use Query Analyzer remotely, first make sure the SQL Server installed on the
system running ITA services is registered, then select the correct server to
connect to when Query Analyzer is started, and connect to the ITAssist database.
After these steps are carried out, SQL queries can be executed against ITA
database within Query Analyzer.
Other Tools
The ITA database can be accessed through either the native SQL Server interface
or ODBC, so there are a lot of different tools/applications available on the market
that can be used to generate customized reports from ITA.
One example is Microsoft Query that comes with Microsoft Excel. It helps MS Excel
retrieve external data through ODBC. About how to ensure the ODBC data
source is created, please refer to Section 4 - Get Ready for Generating Reports
from IT Assistant, ODBC Data Source Created for IT Assistant Database
(optional).
August 2002
Page 19
Dell Enterprise Systems Group
Section
8
Conclusion
IT Assistant is a powerful system management console that is part of the Dell
OpenManage system management software family. One of the many tasks ITA
performs is to gather and store information of managed systems across the
network.
After data is collected, users generally want to be able to mine it. This paper
shows that is possible by describing both the built-in inventory reporting and
search functions that ITA offers, and how to create custom reports with IT
Assistant. After understanding how to prepare to create reports and which tools
to use, users should be able to generate reports by following the examples of
different reports created by the fictitious company DirectCom in Section 6.
More customized reports can be created after users gain a deeper understanding
of the ITA database by using the Dell OpenManage white paper “Getting to
Know the OpenManage IT Assistant Database”.
THIS WHITE PAPER IS FOR INFORMATIONAL PURPOSES ONLY, AND MAY CONTAIN TYPOGRAPHICAL
ERRORS AND TECHNICAL INACCURACIES. THE CONTENT IS PROVIDED AS IS, WITHOUT EXPRESS OR
IMPLIED WARRANTIES OF ANY KIND.
Dell and PowerEdge are trademarks of Dell Computer Corporation. Microsoft is a registered trademark and SQL Server is
a trademark of Microsoft Corporation. Other trademarks and trade names may be used in this document to refer to either
the entities claiming the marks and names or their products. Dell disclaims proprietary interest in the marks and names
of others.
©Copyright 2002 Dell Computer Corporation. All rights reserved. Reproduction in any manner whatsoever without the
express written permission of Dell Computer Corporation is strictly forbidden. For more information, contact Dell. Dell
cannot be responsible for errors in typography or photography.
The information in this publication is subject to change without notice. Any reliance by the end user on the information
contained herein is at the end user’s risk. Dell will not be liable for information in any way including but not limited to its
accuracy or completeness.
August 2002
Page 20
Dell Enterprise Systems Group