Rohan Singh

Slack Sumo Logic Integration

The Slack Sumo Logic command

I hacked together a Slack Sumo Logic integration to improve Sumo Logic users troubleshoot problems faster and more efficiently

About Sumo Logic and Slack

Sumo Logic is an industry leading cloud based log management tool. It's a swiss army knife for developers and ops personnel to monitor and troubleshoot their applications.

Organizations use Sumo Logic to monitor their applications and troubleshoot outages, security intrusions etc. Our users run queries to analyze their logs, analyze their metrics data, and visualize it all in dashboards.

Slack is one the most popular online collaboration tools available today. It's been widely adopted by organizations worldwide to collaborate more effectively.

Slack's power lies in its customization. Users can hack it to make it fit their organization's unique workflows.

The Challenge

I love using Slack at work and I wanted to find a way to integrate it with Sumo Logic.

I discovered that developers at Sumo Logic paste screenshots of Dashboards and Search results in Slack to collaborate during an outage. I had heard similar use cases from our customers who used Slack.

I realized that a Slack slash command that could pull screenshots of Dashboards and Search results would be a powerful collaboration feature.

I decided to create a proof of concept to show the value of this integration.

The Slack Slash Command

I hacked together a proof of concept Slack slash command that takes a URL and returns a screenshot of that URL in Slack. I got to learn Node JS, Heroku, Phantom JS, and Slack dev tools in the process.

The Slash Command /snapit can take a screenshot of any website when provided a valid URL. I wanted users to simply pick a dashboard or a search query and see the results in Slack instead of going to Sumo Logic. Pasting these results in a team Slack channel would make our users collaboration more efficient.

A Sumo Logic Dashboard in Slack

This video captures how it could improve collaboration when troubleshooting an issue.

How I would improve it

Since this was just a proof of concept, I focused on the core integration between Sumo Logic and Slack. To improve this integration I would -

  1. Provide users an action in Sumo Logic to share the Dashboard or Search results they're currently viewing directly to Slack
  2. Let users search for a specific Dashboard in Slack and share a screenshot of it
  3. Show users the recent Sumo Logic Searches they ran in Slack and share the result's screenshot.
  4. Figure out a way to load Sumo Logic Searches and Dashboards faster.

Implementation

One of my goals for this project was to get familiar with NodeJS and Heroku so I could use this tech stack for future projects.

When the Slack command is run, it sends a call to a Heroku. The NodeJS server hosted on Heroku then spins up a virtual browser called PhantomJS which loads the website and takes a screenshot of it. This screenshot is passed back to Slack as an image.