Skip to content

This is a script for generating an APM template for monitoring O365 services in Solarwinds

License

Notifications You must be signed in to change notification settings

vtfk/solarwinds-o365-monitoring

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Office 365 monitoring in Solarwinds

This is a script for generating an APM template for monitoring O365 services in Solarwinds.

This is a mostly rewritten template of this one from Thwack. I had to rewrite it to support ignoring "Advisory" messages.

The services monitored can be found in the data/o365-services.json file.

Steps

  1. Check Prerequisites
  2. Either Download the template or build it yourself
  3. Import it to Solarwinds

Prerequisites

  • Azure AAD Application
    • With these permissions granted:
      • Reports.Read.All [Delegated]
      • Reports.Read.All [Application]
      • ServiceHealth.Read [Application]
    • Tenant ID
    • Application ID
    • Application Secret
  • NodeJS (If you are going to build the template yourself)

Download

You can download the template from the releases page under assets.

Now search & replace <Tenant-ID> with your Azure AAD Tenant-ID in the template file. Or you will have to do it manually in SW.

Build it yourself

# Clone the repo
git clone https://github.com/vtfk/solarwinds-o365-monitoring
cd solarwinds-o365-monitoring

# Copy the template.env file
cp template.env .env
# Open the .env file and add your Azure Tenant-ID.
vim .env

# Install dependencies
npm i
# Build the template
npm start

Usage in Solarwinds

Importing the template

  1. Go to "SAM Settings".
  2. Then "Manage Templates" under "APPLICATION MONITOR TEMPLATES".
  3. Import the file from the toolbar (at the top of the table).

Creating a node

  1. Go to "Manage Nodes"
  2. Click "Add Node"
  3. Hostname/IP can be anything valid (not used). Eg. "status.office.com".
  4. Polling Method should be "External Node".
  5. Polling Engine should be a server with Powershell installed.
  6. Click next.
  7. Show only the tag "Office 365" and choose the "Office 365 Service Health Status" template.
  8. Add new credentials where
  • User Name: Application ID
  • Password: Application Secret
  1. Click "Test" and all components should start testing. (If it fails with a "400 Bad request", check if you replaced the <Tenant-ID> in the template)
  2. Click "Next", and now you have access to all the components.

Including "Advisory" messages in status

By default it ignores messages with the classification "Advisory". If you pass "true" as a third argument to the script in Solarwinds, it will include them.

License

MIT