There was a time when One had to physically connect a wire to the Server and then start operating it. Then came network management, by Opening a console you could install and manage multiple machines and then came Cloud, Particularly Amazon Web Services ( AWS ) enabling us to the power which all system admin always wanted.
AWS Console and CLI are rich with capabilities without any doubt but they are meant to be operated by one people not by a group at the same time. While Slack is a tool which brings the collaboration in our day to day work. Its double as Live Documentation and other ChatOps features makes Slack a hard to miss tool in Day to day work life.
Recently Opsidian brought up their ChatBot ake the life of ops teams easier. With the bot, you can query a wide range of AWS services both using CLI like commands and natural language. The bot integrates to your monitoring, ticketing and escalation tools to streamline routine tasks such as checking metrics related to alarms, creating support tickets, etc. all without leaving Slack.
We recently integrated opsidian with Slack and it’s awesome.
Its a simple one-time setup with Slack and then you can administrate your AWS environment from Slack Bot. It can be added to any Slack Channel and users can be added with Standard or Admin Access.
Opsidian helps you monitor and manage your AWS Infrastructure from Slack. In fact, Opsidian is a part of an increasingly popular trend, called ChatOps. ChatOps is about bringing your DevOps work to your chats and conversations within a team, e.g. Slack. You can, for example, deploy code, monitor servers, close issues in a bug tracker just by talking to a chatbot, which understands the natural language or special commands.
Here is a small GIF showing how easily it allows you to pull reports of your Infrastructure and manage it all from a Chat Window. Just Type /ops and a enrich set of commands waits for your net input.
In this article, I will show you how to install and use Opsidian.ai, a Slack chatbot that is one of the eight finalists of the AWS Serverless Chatbot Competition.
What You need to get started
- Slack Account
- AWS Account
Go to http://opsidian.ai/ and click the
Add to Slack button. You will be redirected to a Slack’s page where you can choose your Slack team. Click it to install Opsidian.
Now, you have Opsidian.ai installed in your Slack. You can verify it by executing the
/ops help command in any channel. We still need to give it access to our AWS account.
Opsidian needs a read-only IAM role created to access your resources, to make this easy it provides a CloudFormation template, which can create the role for us. Let’s do it by clicking the
Launch Stack link in the message above. Assuming we are still logged into our AWS Web Console, we should now be redirected to the CloudFormation stack creation page in the AWS Web Console. Just fill in the parameter called
SlackTeamName. It should match your Slack team name ! I will use
techaspect-group, since that is my Slack team’s name.
Next and wait for your stack to create the role, it should not take long. In the
Outputs tab you will see the role’s ID, it starts with
Now go back to your Slack and execute the following command. It will bind your Opsidian bot to the role you have just created.
/ops account add name=MyAccount arn=arn:aws:iam..THE ROLE ID region=eu-west-1
Congratulations! Now your Opsidian.ai installation is complete. Let’s play with it a bit.
First let’s see the instances running. so after executing
/ops ec2 list instanceswe should see something like that:
Now you can run ec2 show instances <with ID of that instance > to get more details about the EC2
if you are looking for your RDS details a simple command such as this would get you all information
/ops rds list instances
Managing your infrastructure from a chat may seem a bit silly at first but when you think more about it, it is quite the opposite. First of all, you do it in a collaborative way, your whole team can discuss what you ask Opsidian to show. No more situations where one guy has a different window opened on his computer or is logged into another account. In a world where more and more jobs in IT are remote, Slack becomes the center and the heart of your team.