Currently in DRCURM, we are using console to import the organizational network location. The location often change in our organization and importing it via run console is very slow and error prone.
While importing we get lots of dependency errors and then we have to convert the subnet to its supernet.
Is there a better way to import locations at once?
Solved! Go to Solution.
Since you're already using the properties format for writing your site configuration, it should be straightforward to write the configuration to an external text file (with a name matching the pattern of locations-*.config) inside the NAM Server .\config folder. The NAM Server should read the site locations on the next processing interval.
In the .\config folder there is a locations-sample.config file with examples of the locations format (same as your SampleText example). You will need to remove the geographical locations from the Console Locations screen first - as regardless of whether a site is defined manually, automatically, or through an external file, the IP address ranges cannot overlap. Also, if your file is generated from another source, you will need to make sure that the "Date modified" has a current timestamp (so that the NAM Server knows that there are changes to the file).
You can have multiple files with a name matching the locations-*.config pattern and the NAM Server will read them all. For instance, you can have a locations-offices.config file that is updated automatically with office locations, and a locations-dc.config file that has fixed definitions for data centers.
Hi Luke, thank you for the suggestion.
However, this is risky for production. Uploading via admin console validates the IP range data. But we not sure if pushing the configuration via config file would break the system.
To summarize, we are facing below issues:
1. We found, updating locations from the CSV file was overwriting the existing locations.
2. Our locations/site names may not match geographical names i.e. the location data which we are getting is in raw format having non-UTF char, null fields etc. and it is having 17k row with supernet/subnet data. Hence we are actually VLooking up the Unnamed Site IPs from DCRUM into this dataset. If match is found then we are creating Config format. Even then also, there is lots of overlapping issues. Hence the entire process is slow.
3. If we go by the approach supported by you, can we recover/revert back as-is in case of any issues?
Pl. suggest. thank you,
You are going to have to do all that error checking on your end Rajesh.
At Optum I've created an automated script that updates our locations file based on our IP:SUBNET location database, it removes overlaps and duplicates before uploading it to the CAS in the config folder.
Once you put the file in the config folder the CAS will re-read the new locations and you can see if it has any errors in the CAS server.log. It will say something like
2 CFG 18-12-17 03:02:33.426 SitePropertiesLoader reading file E:\Dynatrace\CAS\config\locations-caremedic-01102018.config started ...
2 CFG 18-12-17 03:02:33.457 SitePropertiesLoader reading file E:\Dynatrace\CAS\config\locations-QIP-102318.config started ...
It will spit out errors if you have duplicate and/or overlapping ranges in there.
Hi Travis, great to know ! I would like to use the script. May I borrow from you?
You are correct about offshoring the IP range validation error check.
To begin with, here is idea to automate this :
1. Sanitize RAW data coming from Network team: Basic text cleansing - trivial task
2. Bring the RAW data provided by the Network team into the acceptable form by the DCR RUM Syntactically (the format): Format the data in format like: Trivial
3. Semantically (Valid Subnet and Supernet hierarchy which is acceptable to DCRUM) -- This is where I am trying to implement a logic to have a validated data. (Python or Java)
We tried this approach to upload the Custom Locations Config file on CAS config. However this did not worked and in the logs we are getting the error:
3 CFG 19-02-17 17:45:37.614 SitePropertiesLoader No new location configuration files to read
What might have went wrong?