Author: blues                        Date: Tue Oct  3 22:31:17 2006 GMT
Module: SOURCES                       Tag: HEAD
---- Log message:
- more PLD-like script; changed default script, from package

---- Files affected:
SOURCES:
   mysqlard.init (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: SOURCES/mysqlard.init
diff -u /dev/null SOURCES/mysqlard.init:1.1
--- /dev/null   Wed Oct  4 00:31:17 2006
+++ SOURCES/mysqlard.init       Wed Oct  4 00:31:12 2006
@@ -0,0 +1,198 @@
+#!/bin/sh
+#
+# mysqlard     Start script for the MySQL Activity Report Daemon
+#
+# chkconfig:   2345 79 11
+# description: MySQL Activity Report Daemon
+# processname: mysqlard
+# config:      /etc/mysqlard/mysqlard.cnf
+# pidfile:     /var/lib/mysqlard/mysqlard.pid
+
+# Source function library.
+. /etc/rc.d/init.d/functions
+
+########################################################################
+# Options, change them in /etc/mysqlard/mysqlard.cnf or you can override
+# them here, but that's not recommended. Read the comments in
+# /etc/mysqlard/mysqlard.cnf if you want to know what you're changing.
+
+step=${step:="60"}
+minsamples=${minsamples:="720"}
+datadir=${datadir:="/var/lib/mysqlard"}
+pidfile=${pidfile:="/var/lib/mysqlard/mysqlard.pid"}
+RRDTOOL=${RRDTOOL:="/usr/bin/rrdtool"}
+MYSQLARD=${MYSQLARD:="/usr/sbin/mysqlard"}
+MYSQLUSER=${MYSQLUSER:="mysqlar"}
+MYSQLHOST=${MYSQLHOST:=""}
+confile=${confile:="${datadir}/connections.rrd"}
+tabfile=${tabfile:="${datadir}/table_cache.rrd"}
+keyfile=${keyfile:="${datadir}/key_cache.rrd"}
+queryfile=${queryfile:="${datadir}/queries.rrd"}
+slavefile=${slavefile:="${datadir}/slave.rrd"}
+slaveopt=
+
+# Source mysqlard configuration.
+if [ -f /etc/sysconfig/mysqlard ]; then
+       . /etc/sysconfig/mysqlard
+fi
+
+# Source the config script
+if [ -f /etc/mysqlard/mysqlard.cnf ]; then
+       . /etc/mysqlard/mysqlard.cnf
+else
+       nls "Error: %s not found" /etc/mysqlard/mysqlard.cnf
+       nls "%s can't be run." mysqlard
+       exit 1
+fi
+
+if [[ "$slave" != "" ]]; then
+       slaveopt=-L
+fi
+
+if [[ "$MYSQLHOST" != "" ]] ; then
+       MYSQLHOST=--host=$MYSQLHOST
+fi
+
+# functions
+avgsamps () {
+       avg=$(($1 / $2))
+       if [ ${avg} -lt 1 ]; then
+               avg=1
+       fi
+       echo ${avg}
+}
+
+archives () {
+       arch=$(($1 / $2))
+       if [[ $(($2 * ${arch} * $3)) -lt $4 ]]; then
+               arch=$((${arch} + 1))
+       fi
+       echo ${arch}
+}
+
+# calculated values
+heartbeat=$((${step} * 2))
+hoursamps=$((3600 / ${step}))
+houravgs=$(avgsamps ${hoursamps} ${minsamples})
+hourarchives=$(archives ${hoursamps} ${houravgs} ${step} 3600)
+daysamps=$((86400 / ${step}))
+dayavgs=$(avgsamps ${daysamps} ${minsamples})
+dayarchives=$(archives ${daysamps} ${dayavgs} ${step} 86400)
+weeksamps=$((604800 / ${step}))
+weekavgs=$(avgsamps ${weeksamps} ${minsamples})
+weekarchives=$(archives ${weeksamps} ${weekavgs} ${step} 604800)
+monthsamps=$((2678400 / ${step}))
+monthavgs=$(avgsamps ${monthsamps} ${minsamples})
+montharchives=$(archives ${monthsamps} ${monthavgs} ${step} 2678400)
+yearsamps=$((31622400 / ${step}))
+yearavgs=$(avgsamps ${yearsamps} ${minsamples})
+yeararchives=$(archives ${yearsamps} ${yearavgs} ${step} 31622400)
+
+# calculated RRA's
+hourrra="RRA:AVERAGE:0.5:${houravgs}:${hourarchives}"
+dayrra="RRA:AVERAGE:0.5:${dayavgs}:${dayarchives}"
+weekrra="RRA:AVERAGE:0.5:${weekavgs}:${weekarchives}"
+monthrra="RRA:AVERAGE:0.5:${monthavgs}:${montharchives}"
+yearrra="RRA:AVERAGE:0.5:${yearavgs}:${yeararchives}"
+allrras="${hourrra} ${dayrra} ${weekrra} ${monthrra} ${yearrra}"
+
+initrrd () {
+       if [ ! -f ${confile} ]; then
+               ${RRDTOOL} create ${confile} --step ${step} \
+                       DS:threads_connected:GAUGE:${heartbeat}:0:U \
+                       DS:max_connections:GAUGE:${heartbeat}:0:U \
+                       ${allrras}
+       fi
+       
+       if [ ! -f ${tabfile} ]; then
+               ${RRDTOOL} create ${tabfile} --step ${step} \
+                       DS:open_tables:GAUGE:${heartbeat}:0:U \
+                       DS:table_cache:GAUGE:${heartbeat}:0:U \
+                       DS:created_tmp_tables:COUNTER:${heartbeat}:0:U \
+                       DS:created_tmp_disk_t:COUNTER:${heartbeat}:0:U \
+                       ${allrras}
+       fi
+       
+       if [ ! -f ${keyfile} ]; then
+               ${RRDTOOL} create ${keyfile} --step ${step} \
+                       DS:key_reads:COUNTER:${heartbeat}:0:U \
+                       DS:key_read_requests:COUNTER:${heartbeat}:0:U \
+                       DS:key_buffer_size:GAUGE:${heartbeat}:0:U \
+                       DS:key_blocks_used:GAUGE:${heartbeat}:0:U \
+                       DS:select_full_join:COUNTER:${heartbeat}:0:U \
+                       DS:select_range_check:COUNTER:${heartbeat}:0:U \
+                       DS:handler_read_key:COUNTER:${heartbeat}:0:U \
+                       DS:handler_read_rnd:COUNTER:${heartbeat}:0:U \
+                       DS:slow_queries:COUNTER:${heartbeat}:0:U \
+                       ${allrras}
+       fi
+       
+       if [ ! -f ${queryfile} ]; then
+               ${RRDTOOL} create ${queryfile} --step ${step} \
+                       DS:questions:COUNTER:${heartbeat}:0:U \
+                       DS:com_select:COUNTER:${heartbeat}:0:U \
+                       DS:com_insert:COUNTER:${heartbeat}:0:U \
+                       DS:com_update:COUNTER:${heartbeat}:0:U \
+                       DS:com_delete:COUNTER:${heartbeat}:0:U \
+                       ${allrras}
+       fi
+       
+       if [ ! -f ${slavefile} ]; then
+               ${RRDTOOL} create ${slavefile} --step ${step} \
+                       DS:read_master_log_pos:COUNTER:${heartbeat}:0:U \
+                       DS:exec_master_log_pos:COUNTER:${heartbeat}:0:U \
+                       ${allrras}
+       fi
+       chown stats:http ${slavefile} ${queryfile} ${keyfile} ${confile} 
${tabfile}
+       chmod 640 ${slavefile} ${queryfile} ${keyfile} ${confile} ${tabfile}
+}
+
+case "$1" in
+       start)
+               if [ ! -f "${confile}" -o ! -f "${tabfile}" -o ! -f 
"${keyfile}" -o ! -f "${queryfile}" -o ! -f "${slavefile}" ]; then
+                       nls "Try \`%s init' before start %s." "$0" "mysqlard"
+               else
+                       if [ ! -f /var/lock/subsys/mysqlard ]; then
+                               msg_starting mysqlard
+                               daemon --user stats \
+                                       ${MYSQLARD} \
+                                       --step=${step} \
+                                       --datadir=${datadir} \
+                                       --user=${MYSQLUSER} $MYSQLHOST \
+                                       --pidfile=${pidfile} \
+                                       ${slaveopt}
+                               RETVAL=$?
+                               [ $RETVAL -eq 0 ] && touch 
/var/lock/subsys/mysqlard
+                       else
+                               msg_already_running mysqlard
+                       fi
+               fi
+       ;;
+       stop)
+               if [ -f /var/lock/subsys/mysqlard ]; then
+                       msg_stopping mysqlard
+                       killproc --pidfile ${pidfile} mysqlard
+                       rm -f ${pidfile}
+                       rm -f /var/lock/subsys/mysqlard
+               else
+                       msg_not_running mysqlard
+               fi
+       ;;
+       restart|force-reload)
+               $0 stop
+               $0 start
+               exit $?
+       ;;
+       init)
+               initrrd
+       ;;
+       status)
+               status mysqlard
+               RETVAL=$?
+       ;;
+       *)
+               msg_usage "Usage: $0 
{start|stop|restart|force-reload|status|init}"
+               exit 1
+esac
+
+exit $?
================================================================
_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to