How to Connect Preseem to your Sonar System
- Our Products & Services
- Getting Started
- Accounts
- Communication
- Billing
- Companies
- Financial
- Integrations
- Inventory
- Jobs
- Mapping
- Misc.
- Monitoring
- Purchase Orders
- Release Notes
- Sonar Billing
- Voice
- Reporting
- Security
- sonarPay
- Ticketing
- Working With the Sonar Team & Additional Resources
- System
- Networking
Table of Contents
Preseem can query Sonar to pull information about accounts, plans and network sites, including APs, into Preseem. This enables Preseem to measure QoE metrics for each site and customer, and in the future, to apply its Active Queue Management algorithms to maximize the QoE of customers attached to a congested site.
Switching to Preseem from an Inline Device
Before switching to Preseem, consider your existing network infrastructure. It's important that your management is not adversely affected by the switch, and so it is recommended that you speak with a Technical Advisor before initiating any switch.
What You Need
To setup the Preseem-Sonar integration:
- Provide Sonar with your Preseem API Key, and enable the integration
- This will allow Preseem to deliver information back to Sonar
- Provide Preseem with a Read-Only user account from your Sonar instance
- This allows Preseem to query Sonar for information, commonly used to determine upload and download limits based on the data service assigned to the account
If you would like to provide Preseem with a Read-Only user, you'll need the following:
- The hostname of your Sonar instance
- The Personal Access Token of a Sonar user
The user needs to have access to Accounts, Inventory, IPAM, Network, and System in the Sonar environment. We recommend creating a new read-only user account for this specific purpose; instructions for this are provided below.
Connecting the API Integration
The simplest method of connecting Preseem to your Sonar instance is by using the API key provided to you upon signup and configuration of your Preseem account and hardware. Next, log in to your Sonar instance and:
- Click on Settings
- Click on Integrations
- Click on Preseem
- Check the box for "Enabled"
- Enter in the API Key
- Click on Save
.png)
Providing a Read-Only User
Creating the Read-Only role
Before creating a new account, we'll want to make sure that we have a role with the necessary permissions which will allow Preseem to monitor the network. In Sonar, new roles can be created in two ways:
- Through the application GUI, which allows you to view and toggle a series of buttons
- Through the GraphQL API
This article will provide instructions for both methods.
Through the User Interface
- Access the Settings menu
- Click on Security
- Click on Roles
- Click on Create Role
Next, you need to select which permissions will be required for this role. For Preseem, we'll be creating a role with basic read permissions for Accounts, Inventory, Network, and Serviceable Addresses.
Module Name | Permission to Enable |
Inventory | View all inventory |
Accounts |
View all account transactions View accounts and related entities |
Account Group | View account groups |
Account Status | View account statuses |
Account Type | View account types |
Address | View serviceable addresses |
Address List | View all address lists |
Custom Field | View all custom fields |
DHCP Server | View all DHCP servers |
Inline Device | View all inline devices |
IP Assignment | View all IP assignments |
Netflow Endpoint | View all Netflow endpoints |
Network Site | View all network sites |
Preseem | Update Preseem integration |
RADIUS Account | View all RADIUS accounts |
RADIUS Group | View all RADIUS groups |
RADIUS Server | View all RADIUS servers |
Service | View Services |
Uninventoried MAC Address | View all uninventoried MAC addresses |
If you are going to write usage data to Sonar from Preseem, you will need to enable the following Permissions as well:
Module Name | Permission to Enable |
Data Usage | Create data usage entries |
Data Usage History |
Create data usage entries Update a data usage history entry |
Through the GraphQL API
This example makes use of the GraphiQL page accessible within your instance by going to "[instance URL]/graphiql
". To make the process easier, we'll be handling it in two parts - the mutation, and the query variables.
Mutation
mutation ($PreseemReadOnly: CreateRoleMutationInput) {
createRole(input: $PreseemReadOnly) {
id
name
}
}
Query Variables:
{
"PreseemReadOnly": {
"name": "Preseem Read Only",
"applied_permissions": [
"READ_ALL_INVENTORY",
"READ_ACCOUNT",
"READ_ACCOUNT_GROUP",
"READ_ACCOUNT_STATUS",
"READ_ACCOUNT_TRANSACTIONS",
"READ_ACCOUNT_TYPE",
"READ_SERVICEABLE_ADDRESS",
"READ_ADDRESS_LIST",
"READ_CUSTOM_FIELD",
"READ_DHCP_SERVER",
"READ_INLINE_DEVICE",
"READ_IP_ASSIGNMENT",
"READ_NETFLOW_ENDPOINT",
"READ_NETWORK_SITE",
"UPDATE_PRESEEM",
"READ_RADIUS_ACCOUNT",
"READ_RADIUS_SERVER",
"READ_RADIUS_GROUP",
"READ_SERVICE",
"READ_UNINVENTORIED_MAC_ADDRESS"
]
}
}
If you would like to add the following permissions to the above Query Variable, under applied permissions:
"CREATE_DATA_USAGE",
"READ_DATA_USAGE_HISTORY",
"UPDATE_DATA_USAGE_HISTORY",
Creating the User
Now that we've created the Role, we'll be creating the user who we'll be using to provide access to Preseem. To create a new user:
- Click on Settings
- Click on Security
- Click on Users
- Click on Create User
Here's what an example user making use of the Role we created in the previous step would look like:
Creating the User Access Token
Once you have this read-only user configured, log into the account after completing the new user setup sent to the selected email address.
- Access the account's profile page
- Select the drop down next to Update Info
- Select "Create Personal Access token", as pictured below:
Next give the Personal Access token a descriptive name, and note down the token information on the next page.
Once that's done, provide the token to Preseem to link your Preseem Web App with Sonar.