in CPU usage on Prod1.. ~ 3 minutes ago? Dan: No. Let me check. brb Dan: Shit. Yeah, I see it. Looks ok now. I think :-‐/ Jason: Think we should let Mike know? He might want to dig in to it later. Dan: Yeah, I’ll take a screenshot and email it to him. Jason: Would anyone else need to know about it? Dan: Prob. I’ll cc the DevOps team so everyone knows Old methods
push when you are. Dan: Cool. I’ll commit it to the latest branch here in a minute. Jason: Great. Also, we should probably sit down with Nick (new guy) and show him how to do that soon so I can ping him when you’re busy. Dan: Yeah. Once I get some Mme, I’ll schedule something. :/ Jason: There’s probably a bunch more stuff to show him too, but I’m not sure I even know all of the steps for everything. Dan: We’ve got a wiki for most things, but not everything. I’ll see what I can find and email him. Old methods
push when you are. Dan: Cool. I’ll commit it to the latest branch here in a minute. Jason: Great. Also, we should probably sit down with Nick (new guy) and show him how to do that soon. Dan: Yeah. Once I get some Mme, I’ll schedule something. :/ Jason: There’s probably a bunch more stuff to show him too, but I’m not sure I even know all of the steps for everything. Dan: We’ve got a wiki for most things, but not everything. I’ll see what I can find and email him. Old methods Chat with Jason & Dan Who else can see this conversaMon? Nobody ! If using a tradiMonal chat client Such as Gchat … @jasonhand #ChatOps
• Authorize users (assign and enforce user-‐based roles) • Take a server offline • Bring a server online • Deploy code to a repository • Displaying the status of a JIRA Mcket • Adding comments and changing their status on Mckets • Query the status of API's (internal & external) • VM interacMon to see host health • Monitoring service interacMon to trigger status checks • NoMfy people not present in a chatroom that they were menMoned • Fetch logs • Rebalance shards across its file servers • List currently running jobs/processes • Kill jobs/processes • Tail a job/process • Track Customer signups • Sharing graphs for context • Store staMc links, mapping those links to simple, easy to remember commands Examples In GitHub Opening issues Closing issues CommenMng on issues LisMng issues Merge pull requests jhand.ml/scripts jhand.ml/heroku @jasonhand #ChatOps
status and Mmestamp. hubot github status last -‐ Returns the last human communicaMon, status, and Mmestamp. hubot github status messages -‐ Returns the most recent human communicaMons with status and Mmestamp. Hubot: github status: new file: Chatops.txt 116 seconds ago Jason: hubot github status @jasonhand #ChatOps Usage
push when you are. Dan: Cool. I’ll commit it to the latest branch here in a minute. Jason: Great. Also, we should probably sit down with Nick (new guy) and show him how to do that soon. Dan: Yeah. Once I get some Mme, I’ll schedule something. :/ Jason: There’s probably a bunch more stuff to show him too, but I’m not sure I even know all of the steps for everything. Dan: We’ve got a wiki for most things, but not everything. I’ll see what I can find and email him. New and improved! Chat Room Who else can see this conversaMon? Erybody ! Jason Members Dan Nick Mike Jeff Doug Tara @jasonhand #ChatOps
Jason: @Dan … you seeing this? Dan: Yeah. New method w/ bots Hubot: Mike: That was me. I was running a giant report. Should be fine now Nick (new guy): Cool. Thanks for showing me how to do that. ;-‐)
passive things • Automate things you do ALL OF THE TIME • Make it safe -‐> develop in confidence • Make it fun. Give it character • It’s not just for Ops • Enable other teams @jasonhand #ChatOps