IntegrationHub ETL | Importing resources into the CMDB
this video shows how to use ServiceNow integration hub ETL application to import configuration items from a third-party source into your CMDB you can jump to these topics from the YouTube description for this video to do the import you'll use integration hub ETL to create an integration out the integration app has two inputs one is a data source a set of CI data extracted from a third-party source a single integration app can have more than one data source the other input is the discovery source name a label that identifies the source of the CI data the discovery source should be unique for each integration app the discovery source is used by AI re it's the source you specify in reconciliation rules you can find more information on data sources and the discovery source in the product documentation to create a data source or discovery source you'll need the admin role to use integration hub ETL to import data into the CMDB you'll need the CMDB inst admin role to prepare for the import the integration app transforms the input data to create the columns we need for the CMDB in the right format then the integration app imports the data mapping specific columns in the source data to specific columns in the CMDB you'll need to create the data source and discovery source and define the transforms and column mapping let's get started here's our simple test data source the CI data from the other database to Windows servers and a Linux server you can use a rest or JDBC connection to import data in several different formats in our example we're going to use a CSV file that we created in Excel we won't create the data source here you can find that in the product documentation next we'll create the discovery source you could use a script to create it but we're going to create it manually we'll go to system definition choice lists and look for computer file server team one if you already have it you can skip this step we don't have it yet so we'll create a new choice for it the table is the CI table the element is discovery source we'll use computer file server team one for both the label and the value and submit now that we have our data source and discovery source let's create the integration app itself here's the integration hub ETL homepage showing our existing integration apps we'll create a new app the ETL transform map assistant walks you through the process of creating the app first we'll provide some basic info for the app here we'll give the app a name the discovery sources computer file server team one and the name is computer name the data source is example computer CSV file and we'll choose an import set to contain the working data that the app is preparing for import that completes this step next we'll preview the data we're going to import and transform it to create the columns and format we need for the CMDB here's the data we just saw in the spreadsheet when you're creating your integration app your test source data should contain the full variety of your actual source data to verify that your transforms work in every case one transform we'll need is to convert the input date and time to the CMDB format will create a new transform the type is convert to date we'll use the default description here's the input column and we'll use the default name for the output column we'll specify the date format used in the source and apply the transform created a new column with the date in CMDB format we'll import that column instead of the date column in the source data and this step is done next we'll select CMDB classes to map the various source data to for our example we want to map the data for every source CI to the file system class then we want to map each source CI to the right server class so we'll add a conditional class if the operating system name contains Linux then we'll map it to Linux server otherwise we'll map it to Windows Server now that we have our three classes we can define the mapping for individual columns let's start with Linux server here are the columns in the Linux server class source native key uniquely identifies every CI across the entire integration app this helps improve lookup performance and resolve conflicts between CIS you should create a source native key for each CI class many third party systems have a resource or object ID you can use for this attribute if your source system doesn't have one you can create one we're going to do that here this tab takes us back to the transform page we saw a minute ago we'll create two keys one for the computer and one for the file system for the computer key will create a transform using the computer name that concatenates the computer name and the serial number we'll separate the two strings with a bar we'll use the default for the transform description and we'll call the new column computer source native key and here's our new column now we'll create a key for the file system using the file system name we'll concatenate the file system name with the computer source native key we just created with a bar in between again we'll use the default for the transform description we'll call the new column file system source native key and here's our new column now we'll go back to the mapping first is the computer source native key we just created we can drag and drop or choose from a list we'll go through these quickly computer name serial number serial number lookup and type and network adapter lookup these last two help the system figure out whether the CI already exists using IR II reconciliation rules and that's it will define the very same mapping for the Windows Server class finally we'll do the file system for the source native key will use the file system source native key we created the timestamp is the same and the name is the file system name we also want to include the file system type but that attribute doesn't appear by default so we'll add it like this and then map the file system type and our mapping is complete next we'll define the relationships between the CMDB classes first the Windows server contains the file system and the Linux server also contains the file system and that's it next we'll test the integration and rollback the data here are the results of the test we can see how many classes were mapped how many relationships between individual CIS were created and how many CMDB records were created and updated here are the three new file system records with the data we provided here's the name of the Linux file system here's the Linux server and here's the name here are the Windows servers and here are the relationships between the servers and the file systems here's the error log no errors for this test and here's the detailed activity log which you can search if you want if the test didn't work the way we want we could go back and change the mapping we defined or change the relationships doing either one discards the changes we just made and rolls the data back to its original state if we're happy with the changes then we're done with this step here we can choose to keep the changes we made or roll the CMDB back to its original state we're gonna roll back the changes the last step is to schedule the import will create a new scheduled import give it a name specify the datasource and schedule it for 10 a.m. every day we'll switch back to the browser tab with the schedule screen and this step is done finally we'll activate the integration app and it's ready to go now it'll automatically import any new CI data in the data source every day for more information see our product documentation knowledgebase or podcast or ask a question in the ServiceNow community [Music]
https://www.youtube.com/watch?v=YvsCY0M7JLw