Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

Pumpkin monitoring with Jira Ops, StatusPage and OpsGenie

Pumpkins are big thing during October. Pumpkins line the streets, guard our porches and create a beacon of light to find your way home. The glow and smell of a lightly warmed pumpkins with a candle inside is something that brings back great memories of October and Halloween. Its all fun and games though, until your pumpkin starts to show signs of degradation and soon melts into a pile of slop on your porch. If only there was a way to detect when your pumpkins public presentation was up to par and no major pumpkin service interruption was existent.

We have come up with a very basic monitoring solution for this very problems, we call it “Speedy Pumpkin Optical Outlook Kaleidoscope Yabber” or SPOOKY for short. Let us explain how it works.

First you need a pumpkin, any pumpkin will do (carved or not). That pumpkin will then be monitored by a physical camera attached to a Raspberry Pi device. This camera will snap images every 5 minutes and compare the image back to a master desired pumpkin image. If the Raspberry Pi’s scripts detect a major delta between the master and the recent pumpkin status update then it will trigger an API call out to Jira Ops to create an issue. From there, Jira Ops will update StatusPage to ensure there is full transparency on your pumpkins performance and any pumpkins issues are quickly presented for the world to see. Soon after StatusPage has been updated, Jira Ops will then make a call out to OpsGenie. From here OpsGenie will handle the alert routing based on your call schedule and notify the current On-Call Pumpkin Engineer.

 

Here is our workflow for pumpkin monitoring:
Pumpkingram.png

 

Example Jira Ops and OpsGenie screens:

 

image-20181029-123259.png

image-20181029-122449.pngIMG_2618.PNG

 

We believe that using our monitoring methods that you will be able to accomplish the following:

  • Constant pumpkin updates

  • Availability of pumpkin status

  • No pumpkin porch rot

  • Desired pumpkin performance

  • Youthful delight of perfect pumpkins

Not only will this solution ensure you have CANDY, it will also have additional applications for the following:

  • Physical device monitoring (Check lights on a server and detect changes).

  • Access and entry detection with alert generation

  • Record events by generating alerts with screen shots

  • Tactical package delivery notifications

  • Yielded significant improvements in automation

With Jira Ops, StatusPage and OpsGenie you will have the full suite of tools needed to accomplish your operational goals. This suite will help with ensuring you have maximum up time, faster recovery, and detailed and transparent alerting.

Ensuring we completed the circle, no incident can be completed without an Incident response plan. Wether is is responding to an incident or completing an incident postmortem, we have a handbook to help you along they way. Check out the Atlassian Jira Ops Handbook.

Interested in how Jira Ops and OpsGenie integrate? View the full documentation here: Jira Ops to OpsGenie integration

Interested in how Jira Ops and Status Page integrate? View the full documentation here: Jira Ops to Status Page

Want to see how we really detected changes in our Pumpkins status? Check out the code example below (we used Python in this example):

# package imports
import skimage.measure as ssim
from jira import JIRA
import cv2

# Images to use
master_image = cv2.imread("master.jpg")
webcam_image = cv2.imread("webcam.jpg")

# Jira configuration
jira_username = "jac@olant.ern"
jira_token = "7r1ck0r7r347"
jira = "https://pumpkins.atlassian.net"

# Jira issue setup - modify these values to match your project
def make_dict(delta):
issue_dict = {
'project': {'key': 'MFJOP'},
'summary': 'Pumpkin problem!',
'description': 'An issue with the pumpkin has been detected. Your pumpkin has a delta of '+ str(delta),
'issuetype': {'name': 'Incident'},
'customfield_10037': {'value': '1 - Critical'}
}
return issue_dict

auth_jira = JIRA(jira,basic_auth=(jira_username, jira_token))

def compare_images(master, webcam):
return ssim.compare_ssim(master, webcam)

# Convert images to greyscale
master = cv2.cvtColor(master_image, cv2.COLOR_BGR2GRAY)
webcam = cv2.cvtColor(webcam_image, cv2.COLOR_BGR2GRAY)

delta = compare_images(master, webcam)

# Check if the images differ beyond concern, and trigger a Jira issue if they do
if delta < 0.8:
# call jira
new_issue = auth_jira.create_issue(fields=make_dict(delta))
print "Jira issue sent"
else:
# Do nothing
print "CANDY PARTY"

Credits for Article:

@Elias Zeidan (they/them) , @Daniel Eads , @Stephen Sifers

1 comment

Rachel Wright
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
April 15, 2019

Simply fabulous.  Thanks for telling me about this article @Stephen Sifers and congrats to your talented and innovative team!

Like Stephen Sifers likes this

Comment

Log in or Sign up to comment
TAGS
AUG Leaders

Atlassian Community Events