# Original line to check NTSM database for hostname. I have hashed this out and changed it so that the '$EVENT->{'slots'}->{'hostname'}' is now substitued by # the extracted $hostN see my comments of 18/03/09 # $EVENT->{'slots'}->{'DEVICE_SLA_CATEGORY'} = lookup_NTSM_val( '[Highest Site Category]', 'InfrastructureData', "server = '$EVENT->{'slots'}->{'hostname'}'"); # Added 18/03/09 by Mych Dubil a lookup to the FAAD database that extracts several columns of data that we believe will be helpful to OCC and other Resolvers # Added a latch into the NTSM Database to pull out more than just the Highest Site Category # Added 31/03/09 by Mych Dubil a lookup to the CSS data imported in from their spreadsheets # First I need to use a regexp on the '$EVENT->{'slots'}->{'hostname'}' so that I only get the first part of the hostname e.g. RTR345 and not RTR345.company.co.uk my $hostF = $EVENT->{'slots'}->{'hostname'}; $_ = "."; $hostF =~ /\b([A-Za-z0-9]+)\b/; my $hostN = $1; LogIt( $fhDEBUG, "regexp to extract hostname $hostF down to $hostN"); # The FAAD does have instances where the Machine_Name field has more character than the hostname so I'm going to only check the # same number of characters as in the first part of the host array my $L = length($hostN); LogIt( $fhDEBUG, "length of $hostN is $L"); # The next lines are calls to check what we have in the FAAD db on this asset $EVENT->{'slots'}->{'DEVICE_TYPE'} = lookup_FAAD_val( '[Sub_Type]', '[FAAD_Data]', "left([Machine_Name], $L) = '$hostN'"); $EVENT->{'slots'}->{'OP_SYSTEM'} = lookup_FAAD_val( '[Operating_System]', '[FAAD_Data]', "left([Machine_Name], $L) = '$hostN'"); $EVENT->{'slots'}->{'ENVIRONMENT'} = lookup_FAAD_val( '[Environment]', '[FAAD_Data]', "left([Machine_Name], $L) = '$hostN'"); $EVENT->{'slots'}->{'NETWORK'} = lookup_FAAD_val( '[Network]', '[FAAD_Data]', "left([Machine_Name], $L) = '$hostN'"); $EVENT->{'slots'}->{'ASSET_TAG'} = lookup_FAAD_val( '[Asset_Tag]', '[FAAD_Data]', "left([Machine_Name], $L) = '$hostN'"); $EVENT->{'slots'}->{'LOCATION'} = lookup_FAAD_val( '[Location]', '[FAAD_Data]', "left([Machine_Name], $L) = '$hostN'"); $EVENT->{'slots'}->{'PROJECT'} = lookup_FAAD_val( '[Project]', '[FAAD_Data]', "left([Machine_Name], $L) = '$hostN'"); # Note I can make the new call to the NTSM database using $hostN instead of $EVENT->{'slots'}->{'hostname'} $EVENT->{'slots'}->{'NTSM_SLA_CATEGORY'} = lookup_NTSM_val( '[Highest Site Category]', '[InfrastructureData]', "left([Server], $L) = '$hostN'"); # Now make some extra calls to extract some other data from a different table $EVENT->{'slots'}->{'NTSM_SERVER_DESCR'} = lookup_NTSM_val( '[ServerDescription]', '[ServerComp]', "left([ServerName], $L) = '$hostN'"); $EVENT->{'slots'}->{'NTSM_SERVER_LOCATION'} = lookup_NTSM_val( '[ServerLocation]', '[ServerComp]', "left([ServerName], $L) = '$hostN'"); $EVENT->{'slots'}->{'NTSM_SERVER_DOMAIN'} = lookup_NTSM_val( '[ServerDomain]', '[ServerComp]', "left([ServerName], $L) = '$hostN'"); $EVENT->{'slots'}->{'NTSM_SERVER_SERVICE_NO'} = lookup_NTSM_val( '[ServerServiceNo]', '[ServerComp]', "left([ServerName], $L) = '$hostN'"); $EVENT->{'slots'}->{'NTSM_SERVER_ASSETNO'} = lookup_NTSM_val( '[AsstNo]', '[ServerComp]', "left([ServerName], $L) = '$hostN'"); $EVENT->{'slots'}->{'NTSM_SERVER_NO_OF_USERS'} = lookup_NTSM_val( '[ApproxUsers]', '[ServerComp]', "left([ServerName], $L) = '$hostN'"); $EVENT->{'slots'}->{'NTSM_SERVER_IPADDRESS1'} = lookup_NTSM_val( '[IPAddress1]', '[ServerComp]', "left([ServerName], $L) = '$hostN'"); $EVENT->{'slots'}->{'NTSM_SERVER_SVR_STATUS'} = lookup_NTSM_val( '[SvrStatus]', '[ServerComp]', "left([ServerName], $L) = '$hostN'"); $EVENT->{'slots'}->{'NTSM_SERVER_OS_VERSION'} = lookup_NTSM_val( '[OSVersion]', '[ServerComp]', "left([ServerName], $L) = '$hostN'"); # Now make a similar call to the CSS database # IF I COMMENT OUT THE LINES BELOW ASSOCIATED WITH THE CSS DB THE SCRIPT WORKS. $EVENT->{'slots'}->{'CSS_SLA_CATEGORY'} = lookup_CSSD_val( '[Cover]', '[UnixServers]', "left([ServerName], $L) = '$hostN'"); $EVENT->{'slots'}->{'CSS_SERVER_DESCR'} = lookup_CSSD_val( '[UseSubType]', '[UnixServers]', "left([ServerName], $L) = '$hostN'"); $EVENT->{'slots'}->{'CSS_SERVER_LOCATION'} = lookup_CSSD_val( '[Building]', '[UnixServers]', "left([ServerName], $L) = '$hostN'"); $EVENT->{'slots'}->{'CSS_SERVER_NETWORK'} = lookup_CSSD_val( '[Network]', '[UnixServers]', "left([ServerName], $L) = '$hostN'"); $EVENT->{'slots'}->{'CSS_SERVER_ENVIRONMENT'} = lookup_CSSD_val( '[Environment]', '[UnixServers]', "left([ServerName], $L) = '$hostN'"); $EVENT->{'slots'}->{'CSS_SERVER_ASSETNO'} = lookup_CSSD_val( '[AssetNo]', '[UnixServers]', "left([ServerName], $L) = '$hostN'"); $EVENT->{'slots'}->{'CSS_SERVER_IPADDRESS1'} = lookup_CSSD_val( '[Primary_IP_Address]', '[UnixServers]', "left([ServerName], $L) = '$hostN'"); $EVENT->{'slots'}->{'CSS_SERVER_SERVICE'} = lookup_CSSD_val( '[ServiceID]', '[UnixServers]', "left([ServerName], $L) = '$hostN'"); $EVENT->{'slots'}->{'CSS_SERVER_OS'} = lookup_CSSD_val( '[OS]', '[UnixServers]', "left([ServerName], $L) = '$hostN'"); $EVENT->{'slots'}->{'CSS_SERVER_OS_VERSION'} = lookup_CSSD_val( '[OS_Version]', '[UnixServers]', "left([ServerName], $L) = '$hostN'"); $EVENT->{'slots'}->{'CSS_SERVER_TEAM'} = lookup_CSSD_val( '[Team]', '[UnixServers]', "left([ServerName], $L) = '$hostN'"); # End of changes made 18/03/09 by Mych Dubil