Difference between revisions of "Tech Support Intern Training Lesson Plan"

From FreekiWiki
Jump to navigation Jump to search
Line 26: Line 26:
 
# Be able to identify a consistent approach to trouble shooting
 
# Be able to identify a consistent approach to trouble shooting
  
 +
=== Intro -- The First, Second and Third Line Model ===
 
{|
 
{|
| Intro | 5 mins | 5 |-
+
! !! Time !! Total
 +
|-
 +
| Intro || 5 mins || 5  
 +
|-
 +
| The First, Second and Third Line Model ||5 mins || 10
 +
|-
 +
|
 +
* What it means in the real world (Verbal Instruction)
 +
**  1st Line
 +
***    support desk, log calls, answer common questions from script, assign to technicians
 +
**  2nd Line
 +
***    solve day to day problems, may do call backs, fix boxes
 +
**  3rd Line
 +
***    Guru's. Solve new problems, train + document, proactively manage potential issues
 +
* What it means in Free Geek
 +
**  1st Line
 +
***    Answer phones, do intake, create tickets, call people to let them know their machines are ready
 +
**  2nd Line
 +
***    Fix boxes, do callback for problems 1st line techs can't solve.
 +
**  3rd Line
 +
***    Staff
 +
|
 
|}
 
|}
The First, Second and Third Line Model 5 mins 10
 
What it means in the real world Verbal Instruction
 
1st Line
 
support desk, log calls, answer common questions from script, assign to technicians
 
2nd Line
 
solve day to day problems, may do call backs, fix boxes
 
3rd Line
 
Guru's. Solve new problems, train + document, proactively manage potential issues
 
What it means in Free Geek
 
1st Line
 
Answer phones, do intake, create tickets, call people to let them know their machines are ready
 
2nd Line
 
Fix boxes, do callback for problems 1st line techs can't solve.
 
3rd Line
 
Staff
 
RT
 
Basic concepts
 
Ticket 15 mins 25
 
Purpose
 
Heart of all TS departments. Enables issues to be tracked over time and people.
 
Make a New Ticket Verbal Instruction
 
Click on new ticket/http://data.fglan/work_orders/new?mode=ts
 
Subject Format - Name, Summary
 
Important Fields
 
Phone No
 
Box Source, type, ticket type.
 
What to write and when
 
Everything, as soon as it happens, if not before
 
Owning a ticket
 
Important in the outside world
 
Who is working on this
 
Need to take/unown tickets
 
Escalating
 
1->2->3
 
When?
 
When you don't have the answer
 
When to call
 
Everyday until you speak to someone in person
 
Phone messages get three strikes
 
Conventions and abbreviations
 
Left VM -- Date
 
CNR
 
Avoid Jargon
 
Comments vs Replies 2.5 mins
 
Comments are internal
 
Replies go to user
 
Sopmetimes need to change requestor
 
Be careful with subject lines
 
Workflow 2.5 mins    27.5
 
New -> Open (->contact)->pending->resolved
 
Status 5 mins 32.5
 
New
 
untouched
 
be careful not to change status if you add notes
 
Open
 
actively being worked on
 
Contact
 
custom status
 
ready for pickup
 
Stalled
 
Pending
 
boxes waiting to be picked up
 
atypical (normally more like contact/stalled
 
Resolved
 
EXERCISE:
 
Create Ticket
 
Students to create 1 ticket in Sandbox Queue
 
My name is...
 
Comment on ticket
 
Comment on ticket of person to left
 
Resolved ticket of person to right
 
Custom Fields etc 2.5 mins 40
 
Basic
 
name etc
 
Status
 
fields specific to Free Geek
 
Links
 
refers to/by
 
merge
 
can not undo
 
depends on
 
parent/child
 
People
 
requestor
 
cc
 
owner
 
Dashboards 2.5 mins
 
Line 1
 
lists phone calls and messages, boxes ready for pickup
 
Line 2
 
Boxes on the bench, new and open
 
Always work in chronological order
 
follow list
 
Line 3
 
For staff
 
Working on the command line
 
Commands 5 mins 45
 
pwd, ls
 
Commands are like work in a sentence
 
simple
 
verbs
 
Fetch! list!
 
e.g. pwd, ls, cd, rm, mv
 
EXERCISE:
 
Open Terminal
 
type whoami, pwd read back and interpret results
 
basic arguments
 
nouns
 
fetch this box, list this directory
 
e.g ls /home
 
Options 5 mins 50
 
adverbs,
 
Fetch quickly, list fully
 
e.g. ls -alh
 
- and -- short and long (gnu) form
 
common options
 
-h, --help
 
-v, --verbose
 
-R, recursive
 
differ between commands
 
can be combined with noun form
 
-o [file]
 
EXERCISE:
 
type ls, ls /home, ls ~/, ls -a,  ls -al, ls -alh, ls --almost-all
 
  
Common commands 20 mins 1hr 10
+
=== RT ===
man
+
==== Basic concepts ====
free
+
{|
df
+
|
df -h
+
* Ticket
du
+
|15 mins
du -sh  
+
|25
du -ch --max-depth=1
+
|-
EXERCISE:
+
|
Use df and du to determine total size of hard drive and size of usr directory
+
** Purpose
ps
+
*** Heart of all TS departments. Enables issues to be tracked over time and people
ps aux
+
** Make a New Ticket (Verbal Instruction)
kill, killall, pkill, pgrep
+
*** Click on new ticket/http://data.fglan/work_orders/new?mode=ts
top
+
** Subject Format - Name, Summary
uses ncurses
+
** Important Fields
half way to gui
+
*** Phone No
EXERCISE:
+
*** Box Source, type, ticket type.
Use ps and top to idntify processes running under your user
+
** What to write and when
mount
+
*** Everything, as soon as it happens, if not before
mount (-t option) device mountpoint
+
** Owning a ticket
ssh
+
*** Important in the outside world
used for connecting to remote machine securely
+
*** Who is working on this
log into a box anywhere
+
*** Need to take/unown tickets
ssh me@there
+
** Escalating
scp
+
***1->2->3
secure copy  
+
*** When?
scp here me@there:
+
**** When you don't have the answer
note colon
+
** When to call
otherwise works as cp
+
*** Everyday until you speak to someone in person
sftp
+
**** Phone messages get three strikes
secure ftp  
+
** Conventions and abbreviations
less, view etc
+
*** Left VM -- Date
head
+
*** CNR
head file
+
*** Avoid Jargon
head -10 file
+
|
tail
+
|-
tail -f
+
|
pager  
+
* Comments vs Replies
used to view files
+
| 2.5 mins
less is more
+
|
go backwards and forwards, search
+
|-
view
+
** Comments are internal
vi in readonly mode, usefull for syntax and commands
+
** Replies go to user
editors 10 mins 1hr 20
+
*** Sopmetimes need to change requestor
nano
+
*** Be careful with subject lines
easy(ish)
+
|
only standard on Debian
+
|-
vi
+
|
on nearly every *nix box
+
** Workflow
vi(m) -- vi (i)m(proved)
+
| 2.5 mins
steep learning curve but very powerful
+
|  27.5
worth the effort
+
|-
EXERCISE: 05 min 1hr 25
+
|
open vim:
+
** New -> Open (->contact)->pending->resolved
vim hello-world
+
|
write hello world
+
|
i...
+
|-
duplicate line
+
|
yy... ESC..p
+
** Status
delete world
+
| 5 mins
dw
+
| 32.5
write  and quit
+
|-
(colon)wq
+
|
 +
** New
 +
*** untouched
 +
**** be careful not to change status if you add notes
 +
** Open
 +
*** actively being worked on
 +
** Contact
 +
*** custom status
 +
*** ready for pickup
 +
** Stalled
 +
** Pending
 +
*** boxes waiting to be picked up
 +
*** FG use is atypical (normally more like contact/stalled in regular Tech Support)
 +
** Resolved
 +
** EXERCISE:
 +
** Create Ticket
 +
*** Students to create 1 ticket in Sandbox Queue
 +
**** My name is...
 +
** Comment on ticket
 +
*** Comment on ticket of person to left
 +
** Resolved ticket of person to right
 +
|
 +
|
 +
|-
 +
|
 +
** Custom Fields etc
 +
| 2.5 mins
 +
| 40
 +
|-
 +
|
 +
** Basic
 +
*** name etc
 +
*** Status
 +
*** fields specific to Free Geek
 +
** Links
 +
*** refers to/by
 +
*** merge
 +
**** can not undo
 +
*** depends on
 +
*** parent/child
 +
** People
 +
*** requestor
 +
*** cc
 +
*** owner
 +
|
 +
|
 +
|-
 +
|
 +
** Dashboards| 2.5 mins
 +
|
 +
|-
 +
|
 +
** Line 1
 +
*** lists phone calls and messages, boxes ready for pickup
 +
** Line 2
 +
*** Boxes on the bench, new and open
 +
**** Always work in chronological order
 +
***** follow list*
 +
** Line 3
 +
*** For staff
 +
|
 +
|
 +
|}
 +
===Working on the command line===
 +
====Basic Commands====
 +
{|
 +
|
 +
* Commands
 +
| 5 mins
 +
| 45
 +
|-
 +
|
 +
** pwd, ls
 +
*** Commands are like work in a sentence
 +
*** simple
 +
**** verbs
 +
***** Fetch! list!
 +
****** e.g. pwd, ls, cd, rm, mv
 +
*** EXERCISE:
 +
**** Open Terminal
 +
***** type whoami, pwd read back and interpret results
 +
*** basic arguments
 +
**** nouns
 +
***** fetch this box, list this directory
 +
****** e.g ls /home
 +
|
 +
|
 +
|-
 +
|
 +
* Options
 +
|5 mins
 +
|50
 +
|-
 +
|
 +
** adverbs,
 +
** Fetch quickly, list fully
 +
*** e.g. ls -alh
 +
** - and -- short and long (gnu) form
 +
** common options
 +
***  -h, --help
 +
***-v, --verbose
 +
***-R, recursive
 +
** differ between commands
 +
** can be combined with noun form
 +
***-o [file]
 +
** EXERCISE:
 +
*** type ls, ls /home, ls ~/, ls -a,  ls -al, ls -alh, ls --almost-all
 +
|
 +
|
 +
|-
 +
|
 +
* Common commands  
 +
| 20 mins  
 +
| 1hr 10
 +
|-
 +
|
 +
** man
 +
** free
 +
** df
 +
*** df -h
 +
** du
 +
*** du -sh  
 +
*** du -ch --max-depth=1
 +
*** EXERCISE:
 +
**** Use df and du to determine total size of hard drive and size of usr directory
 +
** ps
 +
*** ps aux
 +
** kill, killall, pkill, pgrep
 +
** top
 +
*** uses ncurses
 +
**** half way to gui
 +
** EXERCISE:
 +
*** Use ps and top to idntify processes running under your user
 +
** mount
 +
*** mount (-t option) device mountpoint
 +
** ssh
 +
*** used for connecting to remote machine securely
 +
**** log into a box anywhere
 +
***** ssh me@there
 +
** scp
 +
*** secure copy  
 +
**** scp here me@there:
 +
***** note colon
 +
****** otherwise works as cp
 +
** sftp
 +
*** secure ftp  
 +
* less, view etc
 +
** head
 +
*** head file
 +
*** head -10 file
 +
** tail
 +
*** tail -f
 +
** pager  
 +
*** used to view files
 +
*** less is more
 +
**** go backwards and forwards, search
 +
*** view
 +
**** vi in readonly mode, usefull for syntax and commands
  
 +
|
 +
|-
 +
|
 +
* editors
 +
| 10 mins
 +
| 1hr 20
 +
|-
 +
|
 +
** nano
 +
*** easy(ish)
 +
*** only standard on Debian
 +
** vi
 +
*** on nearly every * nix box
 +
*** vi(m) -- vi (i)m(proved)
 +
*** steep learning curve but very powerful
 +
**** worth the effort
 +
|
 +
|
 +
|-
 +
|
 +
** EXERCISE:
 +
| 05 min
 +
| 1hr 25
 +
|-
 +
|
 +
*** open vim:
 +
**** vim hello-world
 +
***** write hello world
 +
****** i...
 +
***** duplicate line
 +
****** yy... ESC..p
 +
***** delete world
 +
****** dw
 +
***** write  and quit
 +
****** (colon)wq
 +
|
 +
|
 +
|}
 
 
  
TS Tools
+
====TS Tools====
ts_network_backup 15 mins 1hr 40
+
{|
basic backup
+
|ts_network_backup||15 mins||1hr 40
ts_network_backup -c [ticket no]
+
|-
does everything for you
+
|
advanced backups
 
backing up when a drive is attached to another box
 
-p option
 
alternative path to home
 
command line options
 
-a
 
other things to back up
 
-u, -d
 
backup less
 
restoring backups
 
ts_network_backup -r [folder]
 
EXERCISE:
 
create command line for backup using one option, say what you would use to restore it.
 
ts_identify 5 mins 1hr 45
 
identifies backup folder
 
ts_identify_backups (-t) ticket number
 
others
 
do what they say on the tin, no options except -h
 
File system basics 10 mins 1hr 55
 
/
 
/bin etc
 
bin, sbin,opt, root, tmp, lib
 
var
 
cache, mail, www
 
where servers store things
 
usr
 
for users
 
repeats hierarchy
 
also doc share src
 
/etc
 
config files
 
/etc/apt
 
filesystem
 
/etc/fstab & /etc/mtab
 
network
 
/etc/host
 
/etc/resolv.conf
 
users and groups
 
passwd, shadow, group, gshadow
 
/var/log
 
where log files are stored\
 
whats going on
 
/home
 
where you live
 
users files
 
/proc & /sys
 
not really files
 
contain system info
 
cat /proc/cpuinfo
 
/mnt & /media
 
mount discs
 
Manual Backups 10 mins 2hr 05
 
Go over page,
 
backup config
 
backup users and groups
 
get list of installed packages
 
transfer data
 
rsync -avzh here me@there:/var/tsbackup
 
backup name
 
ticket -iso date
 
iso date
 
why its important
 
  
Rooting a box 15 mins 2hr 20
+
* basic backup
why
+
*** ts_network_backup -c [ticket no]
password security
+
**** does everything for you
if you have physical possesion of box there is no security
+
** advanced backups
recovery mode
+
*** backing up when a drive is attached to another box
press shift
+
**** -p option
when
+
***** alternative path to home
after bios screen
+
*** command line options
1st menu
+
**** -a
recovery mode
+
***** other things to back up
2nd menu
+
**** -u, -d
rootshell
+
***** backup less
not networking
+
** restoring backups
remounting
+
*** ts_network_backup -r [folder]
makes file system writable
+
** EXERCISE:
mount -o rw,remount /
+
*** create command line for backup using one option, say what you would use to restore it.
starting networking
+
|
dhclient eth0 etc
+
|
network booting
+
|-
the network boot menu
+
|
change bios settings, go
+
** ts_identify
tech support -> debian rescue
+
|5 mins
why use a recovery disk
+
|1hr 45
specialist tools
+
|-
efficient
+
|
mounting a hard drive
+
*** identifies backup folder
mount (-t) drive mountpiint
+
**** ts_identify_backups (-t) ticket number
chroot'ing
+
** others
chroot /mnt
+
*** do what they say on the tin, no options except -h
for i in dev proc sys dev/pts; do mount $i /mnt/$i; done
+
|
EXERCISE:
+
|
In pairs,Root box and netboot to debian rescue
+
|}
Diagnosing problems through log files and error message
+
===Linux File System===
running in the terminal 5 mins 2hr 25
+
{|
verbose mode
+
| File system basics||10 mins||1hr 55
-v --verbose
+
|-
multiple levels
+
|
debug modes
+
*/
log levels
+
*/bin etc
warn, info, error
+
** bin, sbin,opt, root, tmp, lib
dmesg 5 mins 2hr 30
+
** var
/var/log/syslog
+
*** cache, mail, www
essential info
+
**** where servers store things
what the system does
+
** usr
EXERCISE:  
+
*** for users
tail -f /var/log/syslog
+
**** repeats hierarchy
I/O Redirection 5 mins 2hr 35
+
**** also doc share src
pipe to  command
+
*/etc
|  
+
** config files
pipe to file
+
***/etc/apt
< > >>
+
*** filesystem
stdout & stderr
+
****/etc/fstab & /etc/mtab
1 > /dev/null
+
*** network
redirect std out
+
****/etc/host
(makes it disappear
+
****/etc/resolv.conf
2 > error.file
+
*** users and groups
redirect stderr
+
**** passwd, shadow, group, gshadow
&> log
+
*/var/log
both to log
+
** where log files are stored
EXERCISE:  
+
*** whats going on
with ls send stdout and stderr to /dev/null and observe results
+
*/home
grep 10 mins 2hr 45
+
** where you live
search tool
+
*** users files
global regular expression parser
+
*/proc & /sys
'Some people, when confronted with a problem, think “I know, I'll use regular expressions.”  Now they have two problems.'
+
** not really files
no need to use regex for most things  
+
** contain system info
a word is a regex that says match this word
+
*** cat /proc/cpuinfo
awk (and sed)
+
*/mnt & /media
sed was the cause of the regex quote
+
** mount discs
can be very useful but unlikely you will need to use it
+
|
command line search and replace
+
|
awk was the source of the quote
+
|}
whole programming language for dealing with tabular data
+
===Manual Backups===
you only need to know tow things
+
{|
awk '{print $1}'
+
| Manual Backups||10 mins||2hr 05
awk '{print NF}'
+
|-
cat /var/log/apache2/access.log | awk '{print $2}' | sort | uniq -c |sort -g
+
|
EXERCISE: use grep and awk to get time and date of kernel events using awk
+
** Go over wiki page
(as group on board, use questions and prompts)
+
*** backup config
 
+
*** backup users and groups
How to troubleshoot 15 mins 3hr
+
*** get list of installed packages
Importance of consistency
+
*** transfer data
Not your machine
+
**** rsync -avzh here me@there:/var/tsbackup
Do not break it
+
***** backup name
Repeatable solutions
+
****** ticket -iso date
Needs to diagnose problem not just fix it
+
******* iso date
reinstall is not the answer
+
****** why its important
Problem solving
+
|
https://en.wikipedia.org/wiki/Problem_solving
+
|
Read this page(write on board)
+
|}
OODA loop (Observe, Orient, Decide, Act)
+
===Working Without Passwords===
https://en.wikipedia.org/wiki/OODA_loop
+
{|
Comes from military/fighter pilots
+
|Rooting a box||15 mins||2hr 20
designed for stressful situations and quick reactions
+
|-
important part it is a loop
+
|
constant feedback
+
* why
ability to change course
+
** password security
Observe
+
*** if you have physical possesion of box there is no security
what is going on
+
* recovery mode
Orient
+
** press shift
where might the problem lie
+
*** when
Decide
+
**** after bios screen
how can we test this
+
***1st menu
Act
+
**** recovery mode
run test
+
***2nd menu
Observe
+
**** rootshell
what where the results
+
***** not networking
Orient  
+
** remounting
what did they tell us
+
*** makes file system writable
Decide
+
**** mount -o rw,remount /
whats the solution to fix the problem
+
** starting networking
Act
+
*** dhclient eth0 etc
apply solution
+
* network booting
Observe
+
** the network boot menu
did it work?
+
*** change bios settings, go
etc...
+
*** tech support -> debian rescue
PDCA (Plan Do Check Act)
+
** why use a recovery disk
https://en.wikipedia.org/wiki/PDCA
+
*** specialist tools
Plan
+
*** efficient
Study the problem, establish the objectives, devise test
+
** mounting a hard drive
Do
+
*** mount (-t) drive mountpiint
Carry out test, collect data
+
** chroot'ing
where there any error meessages?
+
*** chroot /mnt
what did the log files say?
+
*** for i in dev proc sys dev/pts; do mount $i /mnt/$i; done
Check
+
* EXERCISE:
Study results, compare to what was expected
+
** In pairs,Root box and netboot to debian rescue
Act  
+
|
Analyse differences, determine root causes, corrective actions, next steps
+
|
repeat if necessary
+
|}
RPR (Rapid Problem Resolution)
+
===Diagnosing problems through log files and error message===
https://en.wikipedia.org/wiki/RPR_Problem_Diagnosis
+
{|
Discover, Investigate, Fix
+
|
IT Specific
+
* running in the terminal
Discover
+
|5 mins
Gather and review information
+
|2hr 25
Build model
+
|-
Investigate
+
|
Create and carry out plan to gather data
+
** verbose mode
analyse results and iterate
+
***-v --verbose
Identify root cause
+
**** multiple levels
Fix
+
** debug modes
Determine and implement fix
+
*** log levels
check root cause worked
+
**** warn, info, error
Example
+
|
The Facebook isn't working'
+
|
Discover
+
|-
is it facebook or the internet
+
|
Investigate
+
* dmesg
ping facebook
+
|5 mins
No -- iterate
+
|2hr 30
ping google
+
|-
No  -- iterate
+
|
ping router
+
* /var/log/syslog
No -- the internet is down
+
** essential info
Fix
+
** what the system does
reboot router
+
** EXERCISE:  
open browser
+
*** tail -f /var/log/syslog
visit facebook
+
* I/O Redirection***********5 mins**2hr 35
EXERCISE:
+
** pipe to  command
A box comes in that the user reports is not booting
+
*** \|  
In pairs, Chose one method and outline the steps to solve the problem
+
** pipe to file
 
+
*** < > >>
Total Time 3 hours, not incrluding a break.  
+
*** stdout & stderr
</pre>
+
**** 1 > /dev/null
 +
***** redirect std out
 +
****** (makes it disappear
 +
**** 2 > error.file
 +
***** redirect stderr
 +
**** &> log
 +
***** both to log
 +
** EXERCISE:  
 +
*** with ls send stdout and stderr to /dev/null and observe results
 +
|
 +
|
 +
|-
 +
|
 +
* grep
 +
|10 mins
 +
|2hr 45
 +
|-
 +
|
 +
** search tool
 +
** global regular expression parser
 +
*** 'Some people, when confronted with a problem, think “I know, I'll use regular expressions.”  Now they have two problems.'
 +
*** no need to use regex for most things  
 +
**** a word is a regex that says match this word
 +
* awk (and sed)
 +
** sed was the cause of the regex quote
 +
*** can be very useful but unlikely you will need to use it
 +
*** command line search and replace
 +
** awk was the source of the quote
 +
*** whole programming language for dealing with tabular data
 +
**** you only need to know tow things
 +
***** awk '{print $1}'
 +
***** awk '{print NF}'
 +
*** cat /var/log/apache2/access.log | awk '{print $2}' | sort | uniq -c |sort -g
 +
** EXERCISE: use grep and awk to get time and date of kernel events using awk
 +
*** (as group on board, use questions and prompts)
 +
|
 +
|
 +
|}
 +
===Trouble Shooting and Problem Solving===
 +
{|
 +
|How to troubleshoot||15 mins||3hr
 +
|-
 +
|
 +
* Importance of consistency
 +
** Not your machine
 +
*** Do not break it
 +
** Repeatable solutions
 +
** Needs to diagnose problem not just fix it
 +
*** reinstall is not the answer
 +
* Problem solving
 +
** https://en.wikipedia.org/wiki/Problem_solving
 +
*** Read this page(write on board)
 +
*** OODA loop (Observe, Orient, Decide, Act)
 +
**** https://en.wikipedia.org/wiki/OODA_loop
 +
**** Comes from military/fighter pilots
 +
***** designed for stressful situations and quick reactions
 +
***** important part it is a loop
 +
****** constant feedback
 +
******* ability to change course
 +
***** Observe
 +
****** what is going on
 +
***** Orient
 +
****** where might the problem lie
 +
***** Decide
 +
****** how can we test this
 +
***** Act
 +
****** run test
 +
***** Observe
 +
****** what where the results
 +
***** Orient  
 +
****** what did they tell us
 +
***** Decide
 +
****** whats the solution to fix the problem
 +
***** Act
 +
****** apply solution
 +
***** Observe
 +
****** did it work?
 +
***** etc...
 +
*** PDCA (Plan Do Check Act)
 +
**** https://en.wikipedia.org/wiki/PDCA
 +
**** Plan
 +
***** Study the problem, establish the objectives, devise test
 +
**** Do
 +
***** Carry out test, collect data
 +
****** where there any error meessages?
 +
****** what did the log files say?
 +
**** Check
 +
***** Study results, compare to what was expected
 +
**** Act  
 +
***** Analyse differences, determine root causes, corrective actions, next steps
 +
***** repeat if necessary
 +
*** RPR (Rapid Problem Resolution)*
 +
**** https://en.wikipedia.org/wiki/RPR_Problem_Diagnosis
 +
**** Discover, Investigate, Fix
 +
***** IT Specific
 +
***** Discover
 +
****** Gather and review information
 +
****** Build model
 +
***** Investigate
 +
****** Create and carry out plan to gather data
 +
****** analyse results and iterate
 +
****** Identify root cause
 +
***** Fix
 +
****** Determine and implement fix
 +
****** check root cause worked
 +
***** Example
 +
****** The Facebook isn't working'
 +
******* Discover
 +
******** is it facebook or the internet
 +
******* Investigate
 +
******** ping facebook
 +
********* No -- iterate
 +
******** ping google
 +
********* No  -- iterate
 +
******** ping router
 +
********* No -- the internet is down
 +
******* Fix
 +
******** reboot router
 +
******** open browser
 +
********* visit facebook
 +
* EXERCISE:
 +
** A box comes in that the user reports is not booting
 +
*** In pairs, Chose one method and outline the steps to solve the problem
 +
|
 +
|
 +
|}
 +
Total Time 3 hours, not incrluding a break.

Revision as of 11:47, 23 March 2013

Tech Support Basics

Aims

To give a new Tech Support intern an understanding of the basic tools and procedures used in Tech Support

Objectives

  1. Understand the pupose of the ticket sytem
  2. Know how to create a new ticket
  3. " " " comment and reply on a ticket and understand the difference
  4. " " " escalate a ticket
  5. " " " resolve a ticket/change its status and when
  6. " " " use the dashboards and how this fits in with our workflow
  7. Be able to use command line tools including command line args
  8. Use and interpet the output of free, du, df and top
  9. Be able to mount an external drive
  10. " " " ssh into a remote box
  11. " " " view and edit files
  12. " " " direct command output to a file or another command
  13. " " " create and restore network backups using tstools
  14. have a basic understanding of the manual equivalent
  15. Be able to boot a box into recovery mode and make the hard drive writable
  16. Be able to start a net boot
  17. Know how to get useful debugging output from a command
  18. Identify common logs
  19. Have an understanding of the tools that can aid in interpreting them
  20. Be able to identify a consistent approach to trouble shooting

Intro -- The First, Second and Third Line Model

Time Total
Intro 5 mins 5
The First, Second and Third Line Model 5 mins 10
  • What it means in the real world (Verbal Instruction)
    • 1st Line
      • support desk, log calls, answer common questions from script, assign to technicians
    • 2nd Line
      • solve day to day problems, may do call backs, fix boxes
    • 3rd Line
      • Guru's. Solve new problems, train + document, proactively manage potential issues
  • What it means in Free Geek
    • 1st Line
      • Answer phones, do intake, create tickets, call people to let them know their machines are ready
    • 2nd Line
      • Fix boxes, do callback for problems 1st line techs can't solve.
    • 3rd Line
      • Staff

RT

Basic concepts

    • Comments are internal
    • Replies go to user
      • Sopmetimes need to change requestor
      • Be careful with subject lines
  • Ticket
15 mins 25
    • Purpose
      • Heart of all TS departments. Enables issues to be tracked over time and people
    • Make a New Ticket (Verbal Instruction)
    • Subject Format - Name, Summary
    • Important Fields
      • Phone No
      • Box Source, type, ticket type.
    • What to write and when
      • Everything, as soon as it happens, if not before
    • Owning a ticket
      • Important in the outside world
      • Who is working on this
      • Need to take/unown tickets
    • Escalating
      • 1->2->3
      • When?
        • When you don't have the answer
    • When to call
      • Everyday until you speak to someone in person
        • Phone messages get three strikes
    • Conventions and abbreviations
      • Left VM -- Date
      • CNR
      • Avoid Jargon
  • Comments vs Replies
2.5 mins
    • Workflow
2.5 mins 27.5
    • New -> Open (->contact)->pending->resolved
    • Status
5 mins 32.5
    • New
      • untouched
        • be careful not to change status if you add notes
    • Open
      • actively being worked on
    • Contact
      • custom status
      • ready for pickup
    • Stalled
    • Pending
      • boxes waiting to be picked up
      • FG use is atypical (normally more like contact/stalled in regular Tech Support)
    • Resolved
    • EXERCISE:
    • Create Ticket
      • Students to create 1 ticket in Sandbox Queue
        • My name is...
    • Comment on ticket
      • Comment on ticket of person to left
    • Resolved ticket of person to right
    • Custom Fields etc
2.5 mins 40
    • Basic
      • name etc
      • Status
      • fields specific to Free Geek
    • Links
      • refers to/by
      • merge
        • can not undo
      • depends on
      • parent/child
    • People
      • requestor
      • cc
      • owner
    • Dashboards| 2.5 mins
    • Line 1
      • lists phone calls and messages, boxes ready for pickup
    • Line 2
      • Boxes on the bench, new and open
        • Always work in chronological order
          • follow list*
    • Line 3
      • For staff

Working on the command line

Basic Commands

  • Commands
5 mins 45
    • pwd, ls
      • Commands are like work in a sentence
      • simple
        • verbs
          • Fetch! list!
            • e.g. pwd, ls, cd, rm, mv
      • EXERCISE:
        • Open Terminal
          • type whoami, pwd read back and interpret results
      • basic arguments
        • nouns
          • fetch this box, list this directory
            • e.g ls /home
  • Options
5 mins 50
    • adverbs,
    • Fetch quickly, list fully
      • e.g. ls -alh
    • - and -- short and long (gnu) form
    • common options
      • -h, --help
      • -v, --verbose
      • -R, recursive
    • differ between commands
    • can be combined with noun form
      • -o [file]
    • EXERCISE:
      • type ls, ls /home, ls ~/, ls -a, ls -al, ls -alh, ls --almost-all
  • Common commands
20 mins 1hr 10
    • man
    • free
    • df
      • df -h
    • du
      • du -sh
      • du -ch --max-depth=1
      • EXERCISE:
        • Use df and du to determine total size of hard drive and size of usr directory
    • ps
      • ps aux
    • kill, killall, pkill, pgrep
    • top
      • uses ncurses
        • half way to gui
    • EXERCISE:
      • Use ps and top to idntify processes running under your user
    • mount
      • mount (-t option) device mountpoint
    • ssh
      • used for connecting to remote machine securely
        • log into a box anywhere
          • ssh me@there
    • scp
      • secure copy
        • scp here me@there:
          • note colon
            • otherwise works as cp
    • sftp
      • secure ftp
  • less, view etc
    • head
      • head file
      • head -10 file
    • tail
      • tail -f
    • pager
      • used to view files
      • less is more
        • go backwards and forwards, search
      • view
        • vi in readonly mode, usefull for syntax and commands
  • editors
10 mins 1hr 20
    • nano
      • easy(ish)
      • only standard on Debian
    • vi
      • on nearly every * nix box
      • vi(m) -- vi (i)m(proved)
      • steep learning curve but very powerful
        • worth the effort
    • EXERCISE:
05 min 1hr 25
      • open vim:
        • vim hello-world
          • write hello world
            • i...
          • duplicate line
            • yy... ESC..p
          • delete world
            • dw
          • write and quit
            • (colon)wq


TS Tools

ts_network_backup 15 mins 1hr 40
  • basic backup
      • ts_network_backup -c [ticket no]
        • does everything for you
    • advanced backups
      • backing up when a drive is attached to another box
        • -p option
          • alternative path to home
      • command line options
        • -a
          • other things to back up
        • -u, -d
          • backup less
    • restoring backups
      • ts_network_backup -r [folder]
    • EXERCISE:
      • create command line for backup using one option, say what you would use to restore it.
    • ts_identify
5 mins 1hr 45
      • identifies backup folder
        • ts_identify_backups (-t) ticket number
    • others
      • do what they say on the tin, no options except -h

Linux File System

File system basics 10 mins 1hr 55
  • /
  • /bin etc
    • bin, sbin,opt, root, tmp, lib
    • var
      • cache, mail, www
        • where servers store things
    • usr
      • for users
        • repeats hierarchy
        • also doc share src
  • /etc
    • config files
      • /etc/apt
      • filesystem
        • /etc/fstab & /etc/mtab
      • network
        • /etc/host
        • /etc/resolv.conf
      • users and groups
        • passwd, shadow, group, gshadow
  • /var/log
    • where log files are stored
      • whats going on
  • /home
    • where you live
      • users files
  • /proc & /sys
    • not really files
    • contain system info
      • cat /proc/cpuinfo
  • /mnt & /media
    • mount discs

Manual Backups

Manual Backups 10 mins 2hr 05
    • Go over wiki page
      • backup config
      • backup users and groups
      • get list of installed packages
      • transfer data
        • rsync -avzh here me@there:/var/tsbackup
          • backup name
            • ticket -iso date
              • iso date
            • why its important

Working Without Passwords

Rooting a box 15 mins 2hr 20
  • why
    • password security
      • if you have physical possesion of box there is no security
  • recovery mode
    • press shift
      • when
        • after bios screen
      • 1st menu
        • recovery mode
      • 2nd menu
        • rootshell
          • not networking
    • remounting
      • makes file system writable
        • mount -o rw,remount /
    • starting networking
      • dhclient eth0 etc
  • network booting
    • the network boot menu
      • change bios settings, go
      • tech support -> debian rescue
    • why use a recovery disk
      • specialist tools
      • efficient
    • mounting a hard drive
      • mount (-t) drive mountpiint
    • chroot'ing
      • chroot /mnt
      • for i in dev proc sys dev/pts; do mount $i /mnt/$i; done
  • EXERCISE:
    • In pairs,Root box and netboot to debian rescue

Diagnosing problems through log files and error message

  • running in the terminal
5 mins 2hr 25
    • verbose mode
      • -v --verbose
        • multiple levels
    • debug modes
      • log levels
        • warn, info, error
  • dmesg
5 mins 2hr 30
  • /var/log/syslog
    • essential info
    • what the system does
    • EXERCISE:
      • tail -f /var/log/syslog
  • I/O Redirection***********5 mins**2hr 35
    • pipe to command
      • \|
    • pipe to file
      • < > >>
      • stdout & stderr
        • 1 > /dev/null
          • redirect std out
            • (makes it disappear
        • 2 > error.file
          • redirect stderr
        • &> log
          • both to log
    • EXERCISE:
      • with ls send stdout and stderr to /dev/null and observe results
  • grep
10 mins 2hr 45
    • search tool
    • global regular expression parser
      • 'Some people, when confronted with a problem, think “I know, I'll use regular expressions.” Now they have two problems.'
      • no need to use regex for most things
        • a word is a regex that says match this word
  • awk (and sed)
    • sed was the cause of the regex quote
      • can be very useful but unlikely you will need to use it
      • command line search and replace
    • awk was the source of the quote
      • whole programming language for dealing with tabular data
        • you only need to know tow things
          • awk '{print $1}'
          • awk '{print NF}'
      • cat /var/log/apache2/access.log | awk '{print $2}' | sort | uniq -c |sort -g
    • EXERCISE: use grep and awk to get time and date of kernel events using awk
      • (as group on board, use questions and prompts)

Trouble Shooting and Problem Solving

How to troubleshoot 15 mins 3hr
  • Importance of consistency
    • Not your machine
      • Do not break it
    • Repeatable solutions
    • Needs to diagnose problem not just fix it
      • reinstall is not the answer
  • Problem solving
    • https://en.wikipedia.org/wiki/Problem_solving
      • Read this page(write on board)
      • OODA loop (Observe, Orient, Decide, Act)
        • https://en.wikipedia.org/wiki/OODA_loop
        • Comes from military/fighter pilots
          • designed for stressful situations and quick reactions
          • important part it is a loop
            • constant feedback
              • ability to change course
          • Observe
            • what is going on
          • Orient
            • where might the problem lie
          • Decide
            • how can we test this
          • Act
            • run test
          • Observe
            • what where the results
          • Orient
            • what did they tell us
          • Decide
            • whats the solution to fix the problem
          • Act
            • apply solution
          • Observe
            • did it work?
          • etc...
      • PDCA (Plan Do Check Act)
        • https://en.wikipedia.org/wiki/PDCA
        • Plan
          • Study the problem, establish the objectives, devise test
        • Do
          • Carry out test, collect data
            • where there any error meessages?
            • what did the log files say?
        • Check
          • Study results, compare to what was expected
        • Act
          • Analyse differences, determine root causes, corrective actions, next steps
          • repeat if necessary
      • RPR (Rapid Problem Resolution)*
        • https://en.wikipedia.org/wiki/RPR_Problem_Diagnosis
        • Discover, Investigate, Fix
          • IT Specific
          • Discover
            • Gather and review information
            • Build model
          • Investigate
            • Create and carry out plan to gather data
            • analyse results and iterate
            • Identify root cause
          • Fix
            • Determine and implement fix
            • check root cause worked
          • Example
            • The Facebook isn't working'
              • Discover
                • is it facebook or the internet
              • Investigate
                • ping facebook
                  • No -- iterate
                • ping google
                  • No -- iterate
                • ping router
                  • No -- the internet is down
              • Fix
                • reboot router
                • open browser
                  • visit facebook
  • EXERCISE:
    • A box comes in that the user reports is not booting
      • In pairs, Chose one method and outline the steps to solve the problem

Total Time 3 hours, not incrluding a break.