BlueCat

Asset Manager can now exchange data with a BlueCat Address Manager (BAM) connected to a BlueCat Gateway (BG).

Prerequisite

A BlueCat Gateway server has already been installed at your workplace.

Process

  1. Configure the BlueCat Integration in Asset Manager
  2. Install the Asset Manager plug-in on the BlueCat gateway server
  3. Review the results on the BlueCat Management dashboard. 

About Integration

  1. Asset Manager authenticates against the BG and retrieves all results via this gateway.  Asset Manager does not communicate directly with the BAM server.
  2. Address blocks with /30 (for IPv4) and /32 are added to BAM when the "add unmanaged devices with no network block defined" option has been selected and BAM does not already have an address block containing the IP address.
  3. Network blocks with /32 (for IPv4) are added to BAM when the "add unmanaged devices with no network block defined" option has been selected and BAM does not already have an address block containing the IP address.

High Level Flow Design

  1. Asset Manager pulls list of networks from BAM
  2. For each configured network, Asset Manager calls REST APIs against Gateway to retrieve list of IPv4 addresses. Those addresses are ingested into a managed primary table on Asset Manager called bluecat_managed_hosts
  3. Asset Manager analyzes the data and identifies devices in each selected zone (provided the Asset Mapping by Zone checkbox is selected).
  4. Asset Manager populates the BlueCat Management dashboard. 
  5. Asset Manager calls the BG API to create these devices in BAM under a selected configuration.

Logic to Create Assets in BAM

Gateway Workflow API details:

Purpose API Payload Response
Gateway Authentication

https://172.18.1.123/rest_login

curl -v -H "Accept: application/json" -H 'Content-type: 
application/json' -d@creds.json -k -X POST 'https://172.18.1.123/rest_login'
{ 

"username" : "gateway",
"password" : "admin"
}

{
"access_token": "BAMAuthToken: cdnGuMTU3Mjk5MDkyODI0OTpnYXRld2F5"
}

Get list of networks/configurations

Asset Manager/getnetworklist

curl -X GET \
https://172.18.1.123/Asset Manager/getnetworklist \
  -H 'Accept: application/json' \
-H 'Auth: Basic  I6vp7MTU3Mjg4MjM2NzU5NjpnYXRld2F5'
None

[{"id":100880,"name":"Somerset","type":"Configuration","properties":null}]

Get list of devices
Asset Manager/getiplist \

It retrieves devices for all networks

curl -X GET \
https://172.18.1.123/Asset Manager/getiplist \
-H 'Accept: application/json' \
-H 'Auth: Basic  O2MsBMTU3Mjg4NTI2MDUwMDpnYXRld2F5' \
None

[{"config_id":100880,"config_name":"Somerset","id":100895,"ip_address":"172.18.1.1","properties":{"address":"172.18.1.1","locationCode":"US MOO","locationInherited":"true","state":"GATEWAY"}},{"config_id":100880,"config_name":"Somerset","id":100901,"ip_address":"172.18.1.37","properties":{"address":"172.18.1.37","locationCode":"US MOO","locationInherited":"true","state":"STATIC"}},{"config_id":100880,"config_name":"Somerset","id":100902,"ip_address":"172.18.1.42","properties":{"address":"172.18.1.42","locationCode":"US MOO","locationInherited":"true","state":"STATIC"}}]

Add list of devices
                                http://172.18.1.123/Asset Manager/addiplist
curl -X POST \
http://172.18.1.123/Asset Manager/addiplist \
-H 'Accept: application/json' \
-H 'Accept-Encoding: gzip, deflate' \
-H 'Authorization: Basic AFJ9RMTU3NDQ0NjEzMDY0NjpnYXRld2F5'
                                

array of configuration with each configuration containing list of devices that need to be added

[{"config_name": "Somerset",
"add_network_block": true,
"deviceList": [
{
"ip": "10.28.1.14",
"mac": "00:20:58:ae:05:a5",
"family": "4"
},
{
"ip": "10.28.1.39",
"mac": "",
"family": "4"
}
]
},{
"config_name": "Dallas",
"add_network_block": true,
"deviceList": [
{
"ip": "10.28.1.21",
"mac": "00:20:59:ab:05:a5",
"family": "4"
},
{
"ip": "10.28.1.59",
"mac": "",
"family": "4"
}
]
}
]

{
"Dallas": {
"added_ips": 0,
"dup_ips": 2
},
"Somerset": {
"added_ips": 0,
"dup_ips": 2
}
}