Generate qkview on core dump or unknown restart
Problem this snippet solves:
This iCall script is a demo showing how a perpetual iCall handler can be used to watch for changes to the contents of the directory used to store core files (created when BIG-IP daemons unexpectedly exit), and upon seeing a new or modified entry, collecting a diagnostic snapshot of the system.
How to use this snippet:
Implementation Details
This iCall script requires v11.4 or higher.
Code :
### start code ### sys icall script core_restart_watch { app-service none definition { # prime the array with existing cores so the initial run won't generate # qkviews foreach { file } [glob /var/core/*.gz] { file stat $file corestat set cores($file) $corestat(mtime) } # main loop while { 1 } { foreach { file } [glob /var/core/*.gz] { file stat $file corestat # act if an entry doesn't already exist (indicating new core), # or if one exists but has a different modification time # (indicating an overwritten corefile) if { ! [info exists cores($file)] || $cores($file) ne $corestat(mtime) } { # insert/update this core for future use set cores($file) $corestat(mtime) # name the qkview after the hostname and date+time set date [clock format [clock seconds] -format "%Y%m%d%H%M%S"] set settings [tmsh::get_config sys global-settings] set host [tmsh::get_field_value [lindex $settings 0] hostname] # generate a UCS at this time puts "core found ($file), collecting diagnostic data as: /var/tmp/${host}-${date}.ucs" exec tmsh save sys config file /var/tmp/${host}-${date}.ucs # no need to run for more than one core break } } # time in ms to wait between this running after 30000 } } description none events none } ### end code ### And the following perpetual handler to run it: ### start code ### handler perpetual core_restart_watch sys icall handler perpetual core_restart_watch { script core_restart_watch } ### end code ###
Published Mar 09, 2015
Version 1.0Brent_Blood_102
Historic F5 Account
Joined July 06, 2006
Brent_Blood_102
Historic F5 Account
Joined July 06, 2006
No CommentsBe the first to comment