What is Athena?
Athena is a Slack bot for operations, connecting to services providing metrics and then spitting them back out as graphs or just condensed statistics.
What can Athena currently do?
Currently Athena can greet you, responding to direct messages or just listening in channels. Athena can also mock a line graph between dates and reply with a PNG image.
What is planned for Athena?
-
Slack based management of services: creating links to services, updating links to services, updating service SLAs and amending user based permissions.
-
Conversational responses to queries about services Athena is linked to.
For instance, if you were to say:
@Athena is google up?
Athena would respond in kind based on the check. For instance, if the check specified that an acceptable response time should be as long as 2 or 10 seconds, Athena would reply with that the service was operating normally - anything above the specified times would result in Athena replying with some statistics surrounding the abnormally operating service.
What services or checks are you planning on integrating with or creating?
There are a couple of services I'm currently planning on writing API calls for off the bat:
-
Datadog:
All metrics associated with a service saved in Athena, either based on tags or hostname stored in datadog.
-
Google Apps, more importantly Google sheets:
From Google sheets you will be able to pull out statistics from specific sheets and cells or multiple sheets and cells in response to indirect messages or direct messages.
I have got others that I have in mind but, for the moment, these are the only two that are planned.
Custom checks I'm looking to create:
- Ping check
- Web site or web page response time
- Cron style service checks
Responses
Greetings- Context manager
- Write a function for parsing text and pattern matching for contextual information like service name, checks and or dates.
- Statistics
Mock line graph data points between two dates- Write function for handling and presenting single data points
- Write function for handling and presenting multiple data points
- Write wrapper for presenting data in graph format
- Service Checks
- Write function which pings a service.
- Write function which requests as website or webpage.
- Write a ticker service for running checks over a time frame.
Service Integration
- API Calls
- Datadog
- Google Apps
Database
- Database connector
- Create base database models:
- User accounts
- User permissions
- Services
- Service integrations
- Service checks