Monday, November 3, 2014

Milestones

Project Milestones

Below is a list of Milestones that I have set forward for my project. I hadn't posted any of this yet because my milestones kept evolving with my project, but now I believe that I have enough done and a good enough handle on things to set my milestones down more officially. This list will continue to change but hopefully I will just be adding details to the incomplete milestones as needed, rather than complete restructuring of this list.
  • [DONE] Read Sensu docs and get a feel for what it is and how it works
    • sensuapp.org/docs/latest/guide
  • [DONE] Setup basic 2 machine Sensu environment manually (1 server and 1 client)
    • [DONE] Sensu Server
      • RabbitMQ
      • Sensu API
      • Sensu client
      • Sensu server
      • Redis
    • [DONE] Sensu Client
      • Sensu client
      • connectivity to RabbitMQ
  • [DONE] Add Uchiwa dashboard to server for web UI.
    • provided in Sensu repo
  • [DONE] Puppet implementation and dev environment setup
    • [DONE] Create VMs via foreman
      • sensu[1,2,3]
        • sensu-server
        • sensu-api
        • sensu-client
        • uchiwa
      • sensu-mq[1,2]
        • RabbitMQ
        • sensu-client
      • sensu-redis[1,2,3]
        • Redis
        • Redis Sentinel
        • sensu-client  
    • [DONE (tentatively)] Initial Puppet Setup
      • Clone sensu puppet module from github
      • Clone uchiwa puppet module from github
      • Create sensu-server profile/role
      • Create sensu-client profile/role
      • Create sensu-redis profile/role
      • Create sensu-rabbitmq profile/role
      • Update existing redis module to allow for sentinel
    • [DONE (tentatively)] Initial Hiera Setup
      •  Create necessary files for each machine
  • Setup and implement Sensu check/handler structure in Puppet/Hiera
    • Modify Yelp's sensu_handlers to conform to our needs, and add any that may be missing.
      • [DONE] mailer
      • hipchat
      • pagerduty
    • Create custom sensu checks to work with custom handlers (borrow from Yelp's style)
    • [DONE] Create package for sensu handlers/plugins so we can manage the installation of these components easily via Puppet (there is an issue filed with sensu to create these packages, but no timeline or projected date has been given)
  • Testing/Troubleshooting
    • Run puppet (successfully) on all VMs (1st iteration with initial configs is done, need to implement checks/handlers before this can be considered 100% done.)
    • [DONE] Ensure necessary connections can be established
    • Ensure master selection/failover is working properly for RabbitMQ
    • [DONE] Ensure master selection/failover is working for Redis + Sentinel
      • Needs load balanced
    • [DONE (tentatively)] Ensure master selection/failover is working for Sensu-servers
      • Needs load balanced
    • Ensure checks/handlers are working as expected
      • Really hammer on handlers to make sure exponential backoff is working, or that handlers aren't blowing up hipchat/email/jira/etc.
    • Ensure Uchiwa dashboard is displaying information correctly
  • LDAP + Uchiwa 
    • Accomplished by using Apache as a proxy for authentification, and turn off Uchiwa native auth.
  • Code review(s)
  • Clean-up/Refactor Code
  • Explore Graphite integrations with Uchiwa
    • You can embed graphs within Uchiwa and jazz up the interface more details on this can be found at http://roobert.github.io/
  • Explore integrations with Consul?
  • Explore creating a Sensu API command line tool via Ruby's OptParse?
  • Demo Sensu?
Presentation preparation
  • Provide documentation on how to start up Sensu manually, and provide well documented code in Puppet if clarification is needed.
  • Presentation (ppt?, oral?, whiteboard outline?, project map?)

No comments:

Post a Comment