Automating Host Group Management > Categorize Host Operating Systems by Platform and Version
  
Version 10.0.01
Categorize Host Operating Systems by Platform and Version
Host data can be collected from various Hitachi Storage Viewer products, such as Storage Viewer for Capacity, Storage Viewer for Backup, and Storage Viewer for Virtual Servers. Data Collectors persist values as they are collected from the subsystems. For a host’s operating system, subsystems supply values (operating system names) in a variety of formats that do not lend themselves to grouping hosts by OS for reports. For example, Red Hat Linux may be represented as RedHat Linux, rhel, or Red Hat Linux. In order to report on hosts in reasonable groupings, database processing references a set of default regular expressions to parse OS names to categorize the collected host OS data by platform and version.
The following sections provide the details for maintaining and customizing the default Host OS categorization:
Use Regular Expressions to Override or Modify Default Host OS Categorization
Host OS Categorization Default Settings
Utility to Update Host OS Categorizations
Categorize Host Operating Systems On Demand
Use Regular Expressions to Override or Modify Default Host OS Categorization
Hitachi Storage Viewer supplies a set of regular expressions (Regex) that define the processing used to process the collected Host OS data to glean the platform and version from the text strings.
The Host OS Categorization Default Settings can be modified using the Utility to Update Host OS Categorizations.
Data collection automatically processes the Host OS regular expressions and updates the database with the normalized values. If you want to make immediate changes and not wait for the next collection cycle, you can Categorize Host Operating Systems On Demand.
Regex processing is case-insensitive.
To learn more about Regular Expressions, reference Oracle’s documentation: Using Regular Expressions.
Host OS Categorization Default Settings
Each row in this table represents a regular expression used to determine a common OS platform and version.
OS Platform Regex
OS Platform
Version Regex
Ignore
Priority
Domain ID
Creation Date
ID
FreeBSD
FreeBSD
\d+\.?\d?+
(64-bit)|(32-bit)
1
 
15-DEC-15 12.03.33
1
Solaris
Solaris
\d+\.?\d?+
(64-bit)|(32-bit)
1
 
15-DEC-15 12.03.33
2
AIX
AIX
\d+\.?\d?+
(64-bit)|(32-bit)
1
 
15-DEC-15 12.03.33
3
Ubuntu
Ubuntu
6.06LTS|8.04LTS|10.04LTS|12.04LTS|14.04LTS|16.04LTS|\d+\.?\d?+
(64-bit)|(32-bit)
1
 
15-DEC-15 12.03.33
4
Data ONTAP
Data ONTAP
\d+\.?\d?+
(64-bit)|(32-bit)
1
 
15-DEC-15 12.03.33
5
MAC
MAC
Rhapsody Developer Release|Server 1.0|Developer Preview|Public Beta|\d+\.?\d?+
Linux|(64-bit)|(32-bit)
1
 
15-DEC-15 12.03.33
6
HP-UX|HPUX
HP-UX|
\d+\.?\d?+
(64-bit)|(32-bit)
1
 
15-DEC-15 12.03.33
7
CentOS
CentOS
\d+?(/?)\d+?(/?)\d?+
(64-bit)|(32-bit)
1
 
15-DEC-15 12.03.33
8
openSUSE|SUSE|SLES
openSUSE
Leap 42.1|\d+\.?\d?+
(64-bit)|(32-bit)|(x86_64)
1
 
15-DEC-15 12.03.33
9
Windows|win
Windows
(\d+?|SERVER|NT|XP|Vista)\s?\d?+
(64-bit)|(32-bit)
1
 
15-DEC-15 12.03.33
10
Linux
Linux
 
(64-bit)|(32-bit)
0
 
15-DEC-15 12.03.33
11
Red Hat|RedHat|rhel
Red Hat
\d+\.?\d?+
(64-bit)|(32-bit)
1
 
15-DEC-15 12.03.33
12
vmnix
vmnix
 
-x86|x86
1
 
15-DEC-15 12.03.33
13
SunOS
SunOS
\d+\.?\d?+
(64-bit)|(32-bit)
1
 
15-DEC-15 12.03.33
14
Data Domain
Data Domain
 
(64-bit)|(32-bit)
1
 
15-DEC-15 12.03.33
15
Fedora
Fedora
\d+\.?\d?+
(64-bit)|(32-bit)
1
 
15-DEC-15 12.03.33
16
Debian
Debian
\d+\.?\d?+
(64-bit)|(32-bit)
1
 
15-DEC-15 12.03.33
17
Utility to Update Host OS Categorizations
Use this utility to insert new regular expression rules into the database table or to modify existing rules.
Usage
To insert a regular expression row into the database table, use this command:
execute server_group_package.insertCustomerOsNormData(null, 'os_platform_regex', 'os_platform', 'os_version_regex', 'ignore_string', priority, domain_id);
To update values in a regular expression row into the database table, use this command:
execute server_group_package.insertCustomerOsNormData(os_normalization_id, 'os_platform_regex', 'os_platform', 'os_version_regex', 'ignore_string', priority, domain_id);
Where:
os_normalization_id: This value is unique for each Regex row (see Host OS Categorization Default Settings). IDs less than 100000 are system defaults and cannot be removed, but their values can be modified. When inserting a regular expression into the database table, this value must be null because the process assigns this number.
os_platform_regex: These strings are used to match a substring in the collected text to identify the platform. This field cannot be null.
os_platform: This is the value that is saved to the database when the regular expression is encountered in the collected Host OS. This platform value can never be null, however, the version derived from the version regex may be null.
os_version_regex: This is the regular expression used to match a substring in the collected text to identify the version.
ignore_string: These strings are ignored and are treated as irrelevant details when determining the platform or version.
priority: This value indicates precedence: the higher the value, the higher the priority. For example, Red Hat has a higher priority than Linux, which means that a Host OS that contains a Red Hat substring and a Linux substring will result in a Host OS of Red Hat. User-defined regular expressions must have a priority higher than 1 to override system defaults. This field cannot be null.
domain_id: The Domain ID is shipped with a null default value. In multi-tenancy environments, such as Managed Services Providers, the Domain ID can be updated to change the processing for a specific domain/customer.
Note that a Creation Date also is saved in the database table. This is the date and time that the Regex record was created in the database.
Categorize Host Operating Systems On Demand
Use this utility to process hosts to categorize their operating systems without waiting until the next data collection cycle. This utility uses the regular expressions as described in Categorize Host Operating Systems by Platform and Version.
Usage
execute server_group_package.updateExisting HostOsinfo(hostGroupId);
Where:
host_group_id: This is the numeric identifier of a host group. See Identifying a Host Group ID.