Browse code

Adding sysstat monitoring

You can add sysstat logging on the devstack run.
In CI environemnt, sometimes VM creation, Volume creation or
Python unit testing timeouts. It is valuable to monitor
sysstat for investigate the issues.

- How to enable sysstat ( Default is off )
enable_service sysstat

- This commit adds two env variables.
SYSSTAT_FILE : sysstat log file
SYSSTAT_DURATION : duration of sysstat monitoring

Change-Id: I65efb574ef141e6e78c69218f4327df59b3258e2

Nachi Ueno authored on 2013/02/21 04:38:47
Showing 4 changed files
1 1
new file mode 100644
... ...
@@ -0,0 +1 @@
0
+sysstat
0 1
new file mode 100644
... ...
@@ -0,0 +1 @@
0
+sysstat
0 1
new file mode 100644
... ...
@@ -0,0 +1 @@
0
+sysstat
... ...
@@ -268,6 +268,11 @@ SYSLOG=`trueorfalse False $SYSLOG`
268 268
 SYSLOG_HOST=${SYSLOG_HOST:-$HOST_IP}
269 269
 SYSLOG_PORT=${SYSLOG_PORT:-516}
270 270
 
271
+# Enable sysstat logging
272
+SYSSTAT_FILE=${SYSSTAT_FILE:-"sysstat.dat"}
273
+SYSSTAT_INTERVAL=${SYSSTAT_INTERVAL:-"1"}
274
+
275
+
271 276
 # Use color for logging output (only available if syslog is not used)
272 277
 LOG_COLOR=`trueorfalse True $LOG_COLOR`
273 278
 
... ...
@@ -1274,6 +1279,15 @@ if is_service_enabled nova && is_baremetal; then
1274 1274
     screen_it baremetal "nova-baremetal-deploy-helper"
1275 1275
 fi
1276 1276
 
1277
+# run sysstat if it is enabled
1278
+if is_service_enabled sysstat;then
1279
+    if [[ -n ${SCREEN_LOGDIR} ]]; then
1280
+        screen_it sysstat "sar -o $SCREEN_LOGDIR/$SYSSTAT_FILE $SYSSTAT_INTERVAL"
1281
+    else
1282
+        screen_it sysstat "sar $SYSSTAT_INTERVAL"
1283
+    fi
1284
+fi
1285
+
1277 1286
 # Save some values we generated for later use
1278 1287
 CURRENT_RUN_TIME=$(date "+$TIMESTAMP_FORMAT")
1279 1288
 echo "# $CURRENT_RUN_TIME" >$TOP_DIR/.stackenv