summaryrefslogtreecommitdiffstats
path: root/initscript/README.initscript
diff options
context:
space:
mode:
Diffstat (limited to 'initscript/README.initscript')
-rw-r--r--initscript/README.initscript355
1 files changed, 0 insertions, 355 deletions
diff --git a/initscript/README.initscript b/initscript/README.initscript
deleted file mode 100644
index c7bb4888..00000000
--- a/initscript/README.initscript
+++ /dev/null
@@ -1,355 +0,0 @@
-Systemtap initscript
-Version 0.2.1
-Author: Masami Hiramatsu <mhiramat@redhat.com>
-
-INDEX
-=====
-1. Introduction
-2. Usage
-3. Files
-4. Configuration Format
-5. How to use
-
-1. Introduction
-===============
-Systemtap initscript aims to provide
-- running systemtap script as a service with dependency.
-- easy way to control(start/stop) those scripts individually.
-The dependency means that which user-defined systemtap script is required by
-other script (Here the scripts don't include tapsets). This dependency
-will be useful for users who use -DRELAY_HOST and -DRELAY_GUEST.
-
-2. Usage
-========
-2.1 Synopsis
-
-/sbin/service systemtap {start|stop|restart|status|compile|cleanup} \
- [-r kernelrelease] [-c config] [-R] [-y] [script(s)]
-
-2.2 Commands
- You have to specify one of the below commands.
-
-2.2.1 start
- Run script(s). If the script(s) is already started, the command will be
- ignored. If it fails to start, return FAIL. If AUTOCOMPILE option is 'yes'
- (see 4.1.9), this will try to compile or update the specified script when
- one of the below condition is true.
- - compiled cache file does not exist.
- - mtime (modified time stamp) of original script file is newer than compiled
- script cache.
- - script options which is used when compiling(see 4.2.1) has been changed.
- - result of `uname -a` has been changed.
- If no scripts specified from command line, it starts all scripts in the script
- directory or the scripts specified by DEFAULT_START in config (see 4.1.10).
-
-2.2.2 stop
- Stop script(s). If the script(s) is already stopped, this will be ignored.
- If it fails to stop, return FAIL.
- If no scripts specified from command line, it stops all running scripts.
-
-2.2.3 restart
- Stop and start script(s) again.
-
-2.2.4 status
- Show running script(s) status and dependency.
-
-2.2.5 compile
- Compile script(s) on the specified kernel. This command takes '-r' option
- which specifies the release of the kernel(see 2.3.4) on which you would
- like to compile script(s). This command asks user whether it can overwrite
-existing caches.
-
-2.2.6 cleanup
- Cleanup compiled script(s) from cache directory(see 3.4). This command also
- takes '-r' option. If '-r' option is omitted, cleanup all caches for running
- kernel. This command asks user whether it can remove caches.
-
-2.3 Options
- Systemtap initscript can have some options. However, since user can't pass
- these options on boot, these options are only for testing or managing scripts
- after booting.
-
-2.3.1 -c config_path
- You can specify configuration path of this initscript.
-
-2.3.2 script(s)
- You can specify individual scripts to the commands. If you omit to specify
- any script, systemtap initscript will execute the command with all scripts
- in the script directory(except 'start' and 'stop' command, see 2.2.1 and
- 2.2.2).
-
-2.3.3 -R
- If this option is specified, systemtap initscript will try to solve
- dependency of specified script(s). This option is always set if you don't
- specify any script(s) from command line.
-
-2.3.4 -r kernelrelease
- You can specify release version of the kernel(e.g. 2.6.26.1). This option
- is valid only with compile and cleanup commands.
-
-2.3.5 -y
- Answer yes for all questions.
-
-2.4 Misc
-2.4.1 Service Priority
- Each initscript has execution priority. Since user would like to trace
- other services by using systemtap, systemtap initscript should have the
- highest priority.
-
-3. Files
-========
-3.1 initscript
- /etc/init.d/systemtap
-
- This file is an executable bash script.
-
-3.2 Configurations
- Configuration files are written in bash script.
-
-3.2.1 Global config file
- /etc/systemtap/config
-
- This config file is for global parameters(see 4.1).
-
-3.2.2 Script config files
- /etc/systemtap/conf.d/*.conf
-
- The config files under this directory are for each scripts or script groups
- (see 4.2).
-
-3.3 Script directory
- /etc/systemtap/script.d/
-
- Systemtap initscript finds systemtap scripts from this directory.
-
-3.3.1 Scripts in the directory
- /etc/systemtap/script.d/<script-name>.stp
-
- Systemtap scripts stored in the script directory must have ".stp" suffix.
-
-3.4 Cache directory
- /var/cache/systemtap/<kernel-version>/
-
- Systemtap initscript stores compiled scripts in this directory.
-
-3.4.1 Compiled scripts (or script caches)
- /var/cache/systemtap/<kernel-version>/<script-name>.ko
- /var/cache/systemtap/<kernel-version>/<script-name>.opts
-
- *.ko file is the compiled script, and *.opts is the file which stores
- stap options and uname -a.
-
-3.5 Message Log
- /var/log/systemtap.log
-
- All messages including compilation errors and detailed messages are sent
- to this file.
- Some error and warning messages are also sent to console and syslogd (syslog
- output is optional, because this service will start before syslog).
-
-3.7 Status files
- /var/run/systemtap/<script-name>
-
-
-4. Configuration Format
-=======================
-Configuration file allows us
-- specifying options for each script
-- supporting flight recorder mode (on file or memory)
-
-4.1 Global Parameters
-
-4.1.1 SCRIPT_PATH
- Specify the absolute path of the script directory.
- (default: /etc/systemtap/script.d)
-
-4.1.2 CONFIG_PATH
- Specify the absolute path of the script config directory.
- (default: /etc/systemtap/conf.d)
-
-4.1.3 CACHE_PATH
- Specify the absolute path of the parent directory of the cache directory.
- (default: /var/cache/systemtap)
-
-4.1.4 TEMP_PATH
- Specify the absolute path of the temporary directory on which systemtap
- initscript make temporary directories to compile scripts.
- (default: /tmp)
-
-4.1.5 STAT_PATH
- Specify the absolute path of the running status directory.
- (default: /var/run/systemtap)
-
-4.1.6 LOG_FILE
- Specify the absolute path of the log file
- (default: /var/log/systemtap.log)
-
-4.1.7 PASSALL
- If this is set 'yes', systemtap initscript will fail when it fails
- to run one of the scripts. If not, systemtap initscript will not
- fail(just warn).
- (default: yes)
-
-4.1.8 RECURSIVE
- If this is set 'yes', systemtap initscript will always follow script
- dependencies. This means, you don't need to specify '-R' option. This flag is
- effective only if you specify script(s) from command line.
- (default: no)
-
-4.1.9 AUTOCOMPILE
- If this is set 'yes', systemtap initscript automatically tries to compile
- specified script if there is no valid cache. Otherwides, it just fails to
- run script(s).
- (default: yes)
-
-4.1.10 DEFAULT_START
- Specify scripts which will be started by default. If omitted (or empty),
- all scripts in the script directory will be started.
- (default: "")
-
-4.1.11 ALLOW_CACHEONLY
- If this is set 'yes', systemtap initscript list up cache-only scripts too.
- *NOTE*: systemtap initscript will load unexpected obsolate caches with this
- option. You should check cache directory before enabling this option.
- (default: no)
-
-4.2 Script Parameters
-
-4.2.1 <script-name>_OPT
- Specify options passed to stap command for each script. "script-name" is the
- name of the script file without the suffix extension(.stp).
- Some options are just ignored. And even if you don't specify -F option,
- systemtap initscript always add it for flight recorder mode.
- - Below options are ignored when compiling script.
- -p,-m,-r,-c,-x,-e,-s,-o,-h,-V,-k
- - Below options are ignored when starting script.
- -h,-V,-v,-t,-p,-I,-e,-R,-r,-m,-k,-g,-P,-D,-b,-u,-q,-w,-l,-d,-L,-F, and
- other long options.
-
-4.2.2 <script-name>_REQ
- Specify script dependency(which script this script requires).
- For example, "foo.stp" script requires(or run after) "bar.stp" script, set
-
- foo_REQ="bar"
-
- If the script requires many scripts, set all scripts separated by spaces.
-
- foo_REQ="bar baz"
-
-4.3 Configuration Example
-
-4.3.1 Global Config Example
----
-SCRIPT_PATH=/var/systemtap/script.d/
-PASSALL=yes
-RECURSIVE=no
----
-
-4.3.2 Script Config Example
----
-script1_OPT="-o /var/log/script1.out -DRELAYHOST=group1"
-script2_OPT="-DRELAYGUEST=group1"
-script2_REQ=script1
----
-
-5. How to use
-=============
-
-5.1 Package Installation
- After installing systemtap package, install systemtap-initscript package.
- # yum install systemtap-initscript
- This package will include initscript and default configuration file and
- other files.
-
-5.2 Script installation
-5.2.1 Installing script files
- Copy a systemtap script ("script1.stp") into script directory.
- # cp script1.stp /etc/systemtap/script.d/
-
-5.2.2 Configuration script options
- Add configuration file to specify options.
- # vi /etc/systemtap/conf.d/group1
- script1_OPT="-o /var/log/group1.log -DRELAYHOST=group1"
-
-5.2.3 Installing script file with dependency
- For example, a script("script2.stp") which shares buffer with another
- script("script1.stp"), there is a dependency. In this case, you just do
- as following.
-
- # cp script2.stp /etc/systemtap/script.d/
- # vi /etc/systemtap/conf.d/group1
- script2_OPT="-DRELAYGUEST=group1"
- script2_REQ=script1
-
- In this case, if stap fails to run script1.stp, systemtap initscript will
- not run script2.stp.
-
-5.3 Testing
- After installing all scripts, please make sure to run service successfully.
- # service systemtap start
- # service systemtap stop
- If there is no error, we are ready to use it.
-
-5.4 Service Enabling
- After all test passed, enable systemtap initscript.
- # chkconfig systemtap on
-
-5.5 Adding script
-5.5.1 Installing and configuring new scripts
- Copy new systemtap script("script3.stp") into script directory.
- # cp script3.stp /etc/systemtap/script.d/
- and configure it.
- # vi /etc/systemtap/conf.d/group1
- script3_OPT="-DRELAYGUEST=group1"
- script3_REQ="script1"
-
-5.5.2 Start new script
- If you've already started systemtap initscript, just start new script.
- # service systemtap start script3
-
-5.6 Deleting script
-5.6.1 Deleting old script
- Remove old script ("script2.stp") and remove configure lines
- # rm /etc/systemtap/script.d/script2.stp
- # vi /etc/systemtap/conf.d/group1
- (delete script2_OPT and script2_REQ)
-
-5.6.2 Stopping old script and cleanup
- Stop old script.
- # service systemtap stop script2
- And cleanup the script caches.
- # service systemtap cleanup script2
-
-5.7 Updating kernel
- Usually, you don't need to do anything. Systemtap initscript checks the
- kernel version when starting the service, and compile scripts.
- (If you would like to use compiled scripts due to lack of compiler or
- debuginfo on the system, see 5.8)
- However, if you want to avoid compiling when booting system, you can prepare
- script caches for new kernel.
- # service systemtap compile -r <new kernel version>
-
-5.8 Using with compiled scripts
- Sometimes, production systems don't have any compilation environment. Even
- though, you can use systemtap initscript with compiled scripts as script
- caches, which are compiled on other machine (but same software environment).
-
-5.8.1 Preparing compiled scripts
- As described in 5.2, installing scripts and configure it on the compiling
- machine (which has compilation environment).
- After that, compile those scripts.
- # service systemtap compile -r <kernel-version>
- And package the compiled scripts and configuration file.
- # tar czf stap-scripts-<kernel-version>.tar.gz \
- /var/cache/systemtap/<kernel-version> /etc/systemtap/conf.d/<config>
- And copy this package to the target machine.
-
-5.8.2 Installing pre-compiled scripts
- On the target machine, unpackage the compiled scripts into cache
- directory.
- # tar xzf stap-scripts-<kernel-version>.tar.gz -C /var/cache/systemtap/
- # mv /var/cache/systemtap/<config> /etc/systemtap/conf.d/
- At last, set AUTOCOMPILE=no and ALLOW_CACHEONLY=yes in config file.
- # vi /etc/systemtap/config
- AUTOCOMPILE=no
- ALLOW_CACHEONLY=yes