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.
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.
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.
This video captures how it could improve collaboration when troubleshooting an issue.
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 -
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.