Installation

The ServiceGraph Connector for Meraki provides a guided setup once you install it from the Service Now Store.

Get the Application

We suggest that you install this in a sandbox or developer instance first to test the solution. Once the functionality and data has been verified, you can then feel confident installing in your production instance.

Guided Setup (Screenshot)

Guided Setup Instructions

complete these steps within the application's guided setup

Configure the Connection

Configure the authentication credentials and HTTP Connection used to send requests to the Meraki API.

When you finish each task, mark the step as complete.

1. Configure Meraki Connection & Credential Aliases

Click Configure and update the connection details as needed.

2. Obtain a Meraki API key

Meraki API Docs

The minimum role is read-only access to the Meraki Organization.

3. Create a Meraki Credential

Adding Multiple Meraki API keys to the application

Note: Multiple API key configurations feature is only available for Meraki Service Graph connector v1.4 & above

You can now add Multiple Meraki API keys to the Meraki Service Graph connector to import Network data associated with the respective API keys into the ServiceNow CMDB.

Perform the same step as shown above to add a another API key credential.

Note: The "Multiple API key" feature only works for a common region (domain). It currently does not support different API connection URL at the same time(e.g .com, .cn)

4. Configure Meraki HTTP Connection

For every new Meraki API key credential added to this application, a corresponding new Meraki HTTP Connection has to be configured. The Credential value will be the name of the Meraki API key submitted in the previous step.
Make sure that the Connection alias value is same for every new connection. In the case of this application it is x_caci_sg_meraki.MerakiConnectionAlias

5. Test the Connection

Test the connection by clicking on the 'Test Load 20 records' link under the Related links of the data source. If you are able to load the test data, this means that your connection is setup correctly.

Configure System Properties

1. Configure the Organizations to Import

This property controls which organization Ids to import. If the value is empty, the application will not import any data. Please make sure to specify atleast one organization Id in the format of <orgId1,orgId2,orgId3,....>

Note: You can find your organization ID by first logging into the Meraki Dashboard, then open the following link to get the IDs for each org your account has access to.

https://api.meraki.com/api/v1/organizations

2. Configure property for mapping device notes

By default, device notes are being mapped to the Comments field of the configuration items. If you need to turn this off, click Configure and set the value to false. If not, you may skip this step.

3. Configure property for location lookup

Location in the cmn_location table is being looked up based on the following attributes:

  • address
  • lat
  • lng

If an exact address is found on the existing locations, this will be returned and mapped to the location field of the CI.

If an exact address is not found, but lat and lng are found on a record, this location record will be mapped to the location field of the CI.

If the criteria above failed, the application will try to lookup the closest location based on the given lat and lng. By default, the threshold is set to 1 mile. Click on 'Configure' and update the value of the property. If the default value looks right to you, you can skip this step.

Configure Incident Creation

This application supports incident creation from device alerts through a Scripted Rest API. Configure properties and user account to create incidents from the webhook URL.

1. Configure property for the default assignment group

Set the default assignment group of the incidents that are created from the Device Alerts. Copy the sys_id of the group record and update the system property with this value.

2. Alert Configuration

Alert configuration requires a user record created containing a role of x_caci_sg_meraki.user. The incident description will contain the body of the alert. Below is an example of the user account setup:

3. Webhook URL Details

When configuring the alerts on the Meraki Dashboard, you will need to create a webhook HTTPS Server and provide a URL and shared secret.

  • Name: ServiceNow
  • URL: https://venXXXX.service-now.com/api/x_caci_sg_meraki/sgmeraki_device_alerts
  • Shared secret: username:password (for the user created in ServiceNow for incident creation)
  • Payload template: ServiceNow

Note: ServiceNow versions prior to the San Diego release could use this URL and no shared secret or template. https://UserID:Password@yourinstance.service-now.com/api/x_caci_ciscomeraki/meraki_device_alerts

Then, assign the new HTTP server as a default recipient and save your changes.

Set up scheduled import jobs

Configure the scheduled import jobs.

  • Configure the scheduled job

By default, the Meraki scheduled job is disabled.

On the Scheduled Data Import form:

Select Active to activate the scheduled job. Select Periodically for how often the job will run.

Verify

Once installed, you can follow these steps to validate everything works as expected.

Validate Organization records are created in ServiceNow

a. Navigate to Service Graph Connector for Meraki > Meraki Custom Tables > Meraki Organizations

b. Confirm that records are created on the table. Please note that depending on the amount of data being imported, it might take a while before all records are created in the table."

Result

Records are created in the Organizations table with attributes such as:

  • Organization ID
  • Name
  • URL

Validate Network records are created in ServiceNow

a. Navigate to Service Graph Connector for Meraki > Meraki Custom Tables > Meraki Networks

b. Confirm that records are created on the table. Please note that depending on the amount of data being imported, it might take a while before all records are created in the table.

Result

Records are created in the Networks table with attributes such as:

  • Network ID
  • Name
  • Organization ID

Validate Device records are created in ServiceNow

a. Navigate https://[instance_name].service-now.com/cmdb_ci_list.do?sysparm_query=&sysparm_view=

b. Sort by ‘Updated’ (descending) or filter on CIs created/updated today.

c. Confirm that records are created on the tables. Please note that depending on the amount of data being imported, it might take a while before all records are created in the table.

Result

Records are created in the Hardware table and child tables (i.e. IP Address, IP Camera, IP Switch, Network Adapter, Security Device, Wireless, Access Points, Meraki Network, Meraki Organizations depending on the model) with attributes such as:

  • Name
  • Comments
  • Mac Address
  • Serial
  • IP Address
  • Model
  • Firmware version
  • Location
  • Tags
  • Device Type
  • Manufacturer
  • Checked in

Please note that not all these fields are required or filled so some attributes may be empty for some records.

Validate Relationships are created on the CIs

a. Navigate to https://[instance_name].service-now.com/cmdb_rel_ci_list.do

Result

Confirm relationships are created

Validate Meraki Custom CI fields records are created. Since we can’t add custom fields on the Out of the box CMDB classes, the custom fields are stored on this table.

a. Navigate to Navigate to Service Graph Connector for Meraki > Meraki Custom Tables > Meraki Custom CI fields

Result

Confirm records are created with the following attributes:

  • URL
  • Configuration item
  • Address
  • ID
  • Latitude
  • Tags
  • Longitude
  • Network ID
  • Organization ID
  • Status

Validate incidents are created from device alerts.

This needs to be configured on the Meraki instance.

Meraki Dashboard --> Network-wide settings --> Alerts

Create a new HTTP server using the URL provided in the setup guide.

To quickly test all available Meraki alert types, use this Postman Collection to send a POST with the body of the webhook data. You should update the sample payload with a device serial number that has been imported into the CMDB.

Meraki Webhook Docs

Results

Search for Incidents and open the Incidents under Service Desk

Click on a record to see the details and CI relationships.

Success !

You now have imported Meraki devices and can capture related alerts. From here, you can start building business solutions with this data or extend the capabilities to suit your needs.