Fighting InstitutionalMemory Loss
Integrated Issue and SolutionTracking with Trackle
Dan Crosta
15-Nov-2006 2
The SCCS
Swarthmore College Computer SocietyPublic Linux/OS X multimedia labUNIX shell acctsWeb space, WikisMailing listsVideo & still cams
15-Nov-2006 3
Student Sysadmins
SCCS: unique needs as UNIX admins– Lots of us– Kind of clueless– Few regular hours– Always other or better things to do – Self-reporting stinks:
rm –rf ~/bin vs. rm –rf /bin
15-Nov-2006 4
Partial Solutions: Email
Do some work
Get distracted by something shiny
Maybe remember what you did
Maybe email staff to say what you did
15-Nov-2006 5
Partial Solution: Wiki
Do some work
Write it down as you go
Get distracted by something shiny
Maybe email staff to say you did something and here’s a link to it
15-Nov-2006 6
Partial Solution: Ticket System
Create a ticket
Do some work
Record your changes as a ticket annotation
Get distracted by something shiny
Maybe remember to email staff to say you did something and here’s a link
15-Nov-2006 7
We Need MoreRecord all sysadminly actions:– Who, exactly what and how, when
Records accessible from the web– Because we do everything on the web– Allow arbitrary annotation to improve
clarity to future generations
Not ugly– Get distracted by something shiny and useful
15-Nov-2006 8
Trackle
Web- and console-facing tools
Automatic recording of system changes
Minimalistic approach stays out of the way
Integrated Wiki
Automatic notification to staff
Users may subscribe to ticket updates
Appropriate support for staff and end-users
15-Nov-2006 9
Trackle Architecture
Database
Web Interface
Console Tools
Email System
ShellTracking
15-Nov-2006 10
Web Interface
Supports 2 user classes: anonymous “users” and authenticated “staff”– Both: ticket creation, viewing– Staff only: ticket editing, shell sessions
Integrated Wiki, Timeline, Milestones
15-Nov-2006 11
Web Interface: Tickets
15-Nov-2006 12
Web Interface: Tickets
15-Nov-2006 13
Web Interface: Shell Sessions
15-Nov-2006 14
Web Interface
Wiki pages: public & private
Wiki areas in all web components
Milestones for ticket organization
Timeline for tracking actions
15-Nov-2006 15
Console Tools
GUI-like interface for creation, viewing, editing
Start shell tracking session
Provides subset of web functionality
15-Nov-2006 16
Shell Session Tracking Shell /
trackle-cli
Program Code
System Libraries
fopen()chmod()...
libtrackle Session State
To db viatrackle-cli
15-Nov-2006 17
Shell Session Tracking
trackle-cli records cmds, environment
trackle-cli loads libtrackle with LD_PRELOAD
libtrackle tracks file-related system calls: fopen, chmod, unlink, etc
State directory used for IPC from libtrackle to parent trackle-cli process
15-Nov-2006 18
Shell Session Tracking
15-Nov-2006 19
Email System
Email confirmation for user creation
Staff notified when a ticket is confirmed
Users may add selves to watcher list– With email confirmation
Staff, watchers notified of status changes
Cron script for periodic staff reminders
15-Nov-2006 20
Future Plans
Private tickets
Ticket due dates
Ticket relationships (parent/child, “depends on”, etc)
Incremental file diffs & version tracking
Multiple machine support
High-level abstractions: free tagging
LISA ’06 Paper
15-Nov-2006 21
Thanks!
Currently in use at the SCCSOpen Source (BSD License)Currently under active development (you can help!)Thanks to Ben Kuperman, Mustafa Paksoy for AudlibThanks to Edgwall Software & contributors for TracPrevious names: wicket, twiki