mysql bugfix + updated rrd functions

This commit is contained in:
Serghey Rodin 2012-04-28 22:44:22 +03:00
commit 46e0bc239b
14 changed files with 161 additions and 110 deletions

View file

@ -92,7 +92,6 @@ echo
# PAM
echo "-- PAM --"
pam='yes'
mkdir $tmpdir/pam
echo -e "$(date "+%F %T") passwd / shadow /group"
grep "^$user:" /etc/passwd > $tmpdir/pam/passwd
@ -451,15 +450,15 @@ for backup_record in $deprecated; do
done
# Concatenating string
backup_str="DATE='$DATE' TIME='$TIME' RUNTIME='$run_time'"
backup_str="BACKUP='$user.$DATE.tar'"
backup_str="$backup_str TYPE='$BACKUP_SYSTEM' SIZE='$size'"
backup_str="$backup_str VESTA='$vst'"
backup_str="$backup_str PAM='$pam'"
backup_str="$backup_str WEB='${web_list// /,}'"
backup_str="$backup_str DNS='${dns_list// /,}'"
backup_str="$backup_str MAIL='${mail_list// /,}'"
backup_str="$backup_str DB='${db_list// /,}'"
backup_str="$backup_str CRON='$cron_list'"
backup_str="$backup_str RUNTIME='$run_time' TIME='$TIME' DATE='$DATE'"
echo "$backup_str" >> $USER_DATA/backup.conf
chmod 660 $USER_DATA/backup.conf

View file

@ -36,14 +36,15 @@ if [ ! -e "$conf" ]; then
fi
# Defining fileds to select
fields="\$DATE \$TIME \$RUNTIME \$TYPE \$SIZE \$VESTA \$PAM \$WEB \$DNS \$DB"
fields="$fields \$MAIL \$CRON"
fields="\$BACKUP \$TYPE \$SIZE \$VESTA \$PAM \$WEB \$DNS \$DB"
fields="$fields \$MAIL \$CRON \$RUNTIME \$TIME \$DATE"
# Listing domains
case $format in
json) json_list ;;
plain) nohead=1; shell_list ;;
shell) fields='$DATE $TIME $RUNTIME $TYPE $SIZE'; shell_list |column -t;;
shell) fields='$BACKUP $TYPE $SIZE $RUNTIME $TIME $DATE';
shell_list |column -t;;
*) check_args '1' '0' '[format]' ;;
esac

View file

@ -1,6 +1,6 @@
#!/bin/bash
# info: update system rrd charts
# options: period
# options: none
#
# The script is wrapper for all rrd functions. It updates all
# v_update_sys_rrd_* at once.
@ -22,9 +22,6 @@ source $VESTA/func/shared.sh
PATH="$PATH:$BIN"
export PATH
# Argument defenition
period=$1
# Checking rrddir
if [ ! -d "$RRD" ]; then
mkdir -p $RRD
@ -35,37 +32,100 @@ fi
# Action #
#----------------------------------------------------------#
# Checking daily period
if [ -e "$RRD/daily.rrd" ]; then
mtime=$(stat -c "%Y" $RRD/daily.rrd)
ctime=$(date +%s)
dtime=$((ctime - mtime))
# Update every 5 minute
if [ "$dtime" -gt '290' ]; then
touch $RRD/daily.rrd
periods="$periods daily"
fi
else
touch $RRD/daily.rrd
periods="$periods daily"
fi
# Checking weekly period
if [ -e "$RRD/weekly.rrd" ]; then
mtime=$(stat -c "%Y" $RRD/weekly.rrd)
ctime=$(date +%s)
dtime=$((ctime - mtime))
# Update every hour
if [ "$dtime" -gt '3590' ]; then
touch $RRD/weekly.rrd
periods="$periods weekly"
fi
else
touch $RRD/weekly.rrd
periods="$periods weekly"
fi
# Checking monthly period
if [ -e "$RRD/monthly.rrd" ]; then
mtime=$(stat -c "%Y" $RRD/monthly.rrd)
ctime=$(date +%s)
dtime=$((ctime - mtime))
# Update every 6 hours
if [ "$dtime" -gt '21590' ]; then
touch $RRD/monthly.rrd
periods="$periods monthly"
fi
else
touch $RRD/monthly.rrd
periods="$periods monthly"
fi
# Checking yearly period
if [ -e "$RRD/yearly.rrd" ]; then
mtime=$(stat -c "%Y" $RRD/yearly.rrd)
ctime=$(date +%s)
dtime=$((ctime - mtime))
# Update every 12 hours
if [ "$dtime" -gt '43190' ]; then
touch $RRD/yearly.rrd
periods="$periods yearly"
fi
else
touch $RRD/yearly.rrd
periods="$periods yearly"
fi
# Updateing system stats
$BIN/v_update_sys_rrd_la $period
$BIN/v_update_sys_rrd_net $period
$BIN/v_update_sys_rrd_mem $period
$BIN/v_update_sys_rrd_ssh $period
for period in $periods; do
# Updating web stats
if [ "$WEB_SYSTEM" = 'apache' ]; then
$BIN/v_update_sys_rrd_httpd $period
fi
$BIN/v_update_sys_rrd_la $period
$BIN/v_update_sys_rrd_net $period
$BIN/v_update_sys_rrd_mem $period
$BIN/v_update_sys_rrd_ssh $period
if [ "$PROXY_SYSTEM" = 'nginx' ]; then
$BIN/v_update_sys_rrd_nginx $period
fi
# Updating web stats
if [ "$WEB_SYSTEM" = 'apache' ]; then
$BIN/v_update_sys_rrd_httpd $period
fi
# Updating ftp stats
if [ ! -z "$FTP_SYSTEM" ] && [ "$FTP_SYSTEM" != 'no' ]; then
$BIN/v_update_sys_rrd_ftp $period
fi
if [ "$PROXY_SYSTEM" = 'nginx' ]; then
$BIN/v_update_sys_rrd_nginx $period
fi
# Updating db stats
if [ ! -z "$DB_SYSTEM" ] && [ "$DB_SYSTEM" != 'no' ]; then
for type in ${DB_SYSTEM//,/ }; do
# Switching on db type
case $type in
mysql) $BIN/v_update_sys_rrd_mysql $period ;;
pgsql) $BIN/v_update_sys_rrd_pgsql $period ;;
esac
done
fi
# Updating ftp stats
if [ ! -z "$FTP_SYSTEM" ] && [ "$FTP_SYSTEM" != 'no' ]; then
$BIN/v_update_sys_rrd_ftp $period
fi
# Updating db stats
if [ ! -z "$DB_SYSTEM" ] && [ "$DB_SYSTEM" != 'no' ]; then
for type in ${DB_SYSTEM//,/ }; do
# Switching on db type
case $type in
mysql) $BIN/v_update_sys_rrd_mysql $period ;;
pgsql) $BIN/v_update_sys_rrd_pgsql $period ;;
esac
done
fi
done
#----------------------------------------------------------#
# Vesta #

View file

@ -10,7 +10,6 @@
#----------------------------------------------------------#
# Argument defenition
update=$1
period=${1-daily}
# Includes
@ -52,7 +51,7 @@ if [ ! -e "$RRD/ftp/ftp.rrd" ]; then
fi
# Parsing data
if [ -z "$update" ]; then
if [ "$period" = 'daily' ]; then
a=0
a=$(ps aux |grep $FTP_SYSTEM |grep -v grep| grep -v nobody|\
grep -v root|wc -l)
@ -70,14 +69,14 @@ rrdtool graph $RRD/ftp/$period-ftp.png \
--end "$end" \
--vertical-label "Connections" \
--x-grid "$grid" \
-c "BACK#484439" \
-c "SHADEA#484439" \
-c "SHADEB#484439" \
-c "FONT#DDDDDD" \
-c "CANVAS#202020" \
-c "BACK#7a766d" \
-c "SHADEA#7a766d" \
-c "SHADEB#7a766d" \
-c "FONT#FFFFFF" \
-c "CANVAS#302c2d" \
-c "GRID#666666" \
-c "MGRID#AAAAAA" \
-c "FRAME#202020" \
-c "FRAME#302c2d" \
-c "ARROW#FFFFFF" \
DEF:a=$RRD/ftp/ftp.rrd:A:AVERAGE \
COMMENT:'\r' \

View file

@ -10,7 +10,6 @@
#----------------------------------------------------------#
# Argument defenition
update=$1
period=${1-daily}
# Includes
@ -53,7 +52,7 @@ if [ ! -e "$RRD/web/httpd.rrd" ]; then
fi
# Parsing data
if [ -z "$update" ]; then
if [ "$period" = 'daily' ]; then
server_status=$(wget -qO- http://localhost:8081/server-status |\
grep 'currently being processed'| \
cut -f 2 -d '>' |\
@ -76,14 +75,14 @@ rrdtool graph $RRD/web/$period-httpd.png \
--end "$end" \
--vertical-label "Connections" \
--x-grid "$grid" \
-c "BACK#484439" \
-c "SHADEA#484439" \
-c "SHADEB#484439" \
-c "FONT#DDDDDD" \
-c "CANVAS#202020" \
-c "BACK#7a766d" \
-c "SHADEA#7a766d" \
-c "SHADEB#7a766d" \
-c "FONT#FFFFFF" \
-c "CANVAS#302c2d" \
-c "GRID#666666" \
-c "MGRID#AAAAAA" \
-c "FRAME#202020" \
-c "FRAME#302c2d" \
-c "ARROW#FFFFFF" \
DEF:a=$RRD/web/httpd.rrd:A:AVERAGE \
COMMENT:'\r' \

View file

@ -10,7 +10,6 @@
#----------------------------------------------------------#
# Argument defenition
update=$1
period=${1-daily}
# Includes
@ -53,7 +52,7 @@ if [ ! -e "$RRD/la/la.rrd" ]; then
fi
# Parsing data
if [ -z "$update" ]; then
if [ "$period" = 'daily' ]; then
loadavg=$(cat /proc/loadavg )
la=$(echo "$loadavg"|cut -f 2 -d ' ')
pr=$(echo "$loadavg"|cut -f 4 -d ' '|cut -f 2 -d /)
@ -71,14 +70,14 @@ rrdtool graph $RRD/la/$period-la.png \
--end "$end" \
--vertical-label "Points" \
--x-grid "$grid" \
-c "BACK#484439" \
-c "SHADEA#484439" \
-c "SHADEB#484439" \
-c "FONT#DDDDDD" \
-c "CANVAS#202020" \
-c "BACK#7a766d" \
-c "SHADEA#7a766d" \
-c "SHADEB#7a766d" \
-c "FONT#FFFFFF" \
-c "CANVAS#302c2d" \
-c "GRID#666666" \
-c "MGRID#AAAAAA" \
-c "FRAME#202020" \
-c "FRAME#484243" \
-c "ARROW#FFFFFF" \
DEF:la=$RRD/la/la.rrd:LA:AVERAGE \
DEF:pr=$RRD/la/la.rrd:PR:AVERAGE \

View file

@ -10,7 +10,6 @@
#----------------------------------------------------------#
# Argument defenition
update=$1
period=${1-daily}
# Includes
@ -53,7 +52,7 @@ if [ ! -e "$RRD/mem/mem.rrd" ]; then
fi
# Parsing data
if [ -z "$update" ]; then
if [ "$period" = 'daily' ]; then
mem=$(free -m)
ram=$(echo "$mem" |awk '{print $3}'|head -n2 |tail -n1)
swap=$(echo "$mem" |awk '{print $3}'|tail -n1)
@ -71,14 +70,14 @@ rrdtool graph $RRD/mem/$period-mem.png \
--end "$end" \
--vertical-label "Mbytes" \
--x-grid "$grid" \
-c "BACK#484439" \
-c "SHADEA#484439" \
-c "SHADEB#484439" \
-c "FONT#DDDDDD" \
-c "CANVAS#202020" \
-c "BACK#7a766d" \
-c "SHADEA#7a766d" \
-c "SHADEB#7a766d" \
-c "FONT#FFFFFF" \
-c "CANVAS#302c2d" \
-c "GRID#666666" \
-c "MGRID#AAAAAA" \
-c "FRAME#202020" \
-c "FRAME#302c2d" \
-c "ARROW#FFFFFF" \
DEF:ram=$RRD/mem/mem.rrd:RAM:AVERAGE \
DEF:swap=$RRD/mem/mem.rrd:SWAP:AVERAGE \

View file

@ -10,7 +10,6 @@
#----------------------------------------------------------#
# Argument defenition
update=$1
period=${1-daily}
# Includes
@ -68,7 +67,7 @@ for host in $hosts; do
RRA:MAX:0.5:288:797
fi
if [ -z "$update" ]; then
if [ "$period" = 'daily' ]; then
# Defining host credentials
host_str=$(grep "HOST='$host'" $conf)
for key in $host_str; do
@ -107,14 +106,14 @@ for host in $hosts; do
--end "$end" \
--vertical-label "Queries" \
--x-grid "$grid" \
-c "BACK#484439" \
-c "SHADEA#484439" \
-c "SHADEB#484439" \
-c "FONT#DDDDDD" \
-c "CANVAS#202020" \
-c "BACK#7a766d" \
-c "SHADEA#7a766d" \
-c "SHADEB#7a766d" \
-c "FONT#FFFFFF" \
-c "CANVAS#302c2d" \
-c "GRID#666666" \
-c "MGRID#AAAAAA" \
-c "FRAME#202020" \
-c "FRAME#302c2d" \
-c "ARROW#FFFFFF" \
DEF:a=$RRD/db/mysql_$host.rrd:A:AVERAGE \
DEF:s=$RRD/db/mysql_$host.rrd:S:AVERAGE \

View file

@ -10,7 +10,6 @@
#----------------------------------------------------------#
# Argument defenition
update=$1
period=${1-daily}
# Includes
@ -62,7 +61,7 @@ for iface in $ifaces; do
fi
# Parsing device stats
if [ -z "$update" ]; then
if [ "$period" = 'daily' ]; then
raw_iface=$(grep "$iface:" /proc/net/dev |sed -e "s/:/ /")
rx=$(echo "$raw_iface" |awk '{print $2}')
tx=$(echo "$raw_iface" |awk '{print $10}')
@ -80,14 +79,14 @@ for iface in $ifaces; do
--end "$end" \
--vertical-label "KBytes" \
--x-grid "$grid" \
-c "BACK#484439" \
-c "SHADEA#484439" \
-c "SHADEB#484439" \
-c "FONT#DDDDDD" \
-c "CANVAS#202020" \
-c "BACK#7a766d" \
-c "SHADEA#7a766d" \
-c "SHADEB#7a766d" \
-c "FONT#FFFFFF" \
-c "CANVAS#302c2d" \
-c "GRID#666666" \
-c "MGRID#AAAAAA" \
-c "FRAME#202020" \
-c "FRAME#302c2d" \
-c "ARROW#FFFFFF" \
DEF:inoctets=$RRD/net/$iface.rrd:RX:AVERAGE \
DEF:outoctets=$RRD/net/$iface.rrd:TX:AVERAGE \

View file

@ -10,7 +10,6 @@
#----------------------------------------------------------#
# Argument defenition
update=$1
period=${1-daily}
# Includes
@ -52,7 +51,7 @@ if [ ! -e "$RRD/web/nginx.rrd" ]; then
fi
# Parsing data
if [ -z "$update" ]; then
if [ "$period" = 'daily' ]; then
a=$(wget -qO- http://localhost:8084/|head -n1|cut -f 3 -d ' ')
# Updating rrd database
@ -68,14 +67,14 @@ rrdtool graph $RRD/web/$period-nginx.png \
--end "$end" \
--vertical-label "Connections" \
--x-grid "$grid" \
-c "BACK#484439" \
-c "SHADEA#484439" \
-c "SHADEB#484439" \
-c "FONT#DDDDDD" \
-c "CANVAS#202020" \
-c "BACK#7a766d" \
-c "SHADEA#7a766d" \
-c "SHADEB#7a766d" \
-c "FONT#FFFFFF" \
-c "CANVAS#302c2d" \
-c "GRID#666666" \
-c "MGRID#AAAAAA" \
-c "FRAME#202020" \
-c "FRAME#302c2d" \
-c "ARROW#FFFFFF" \
DEF:a=$RRD/web/nginx.rrd:A:AVERAGE \
COMMENT:'\r' \

View file

@ -10,7 +10,6 @@
#----------------------------------------------------------#
# Argument defenition
update=$1
period=${1-daily}
# Includes
@ -68,7 +67,7 @@ for host in $hosts; do
RRA:MAX:0.5:288:797
fi
if [ -z "$update" ]; then
if [ "$period" = 'daily' ]; then
# Defining host credentials
host_str=$(grep "HOST='$host'" $conf)
for key in $host_str; do
@ -112,14 +111,14 @@ for host in $hosts; do
--end "$end" \
--vertical-label "Queries" \
--x-grid "$grid" \
-c "BACK#484439" \
-c "SHADEA#484439" \
-c "SHADEB#484439" \
-c "FONT#DDDDDD" \
-c "CANVAS#202020" \
-c "BACK#7a766d" \
-c "SHADEA#7a766d" \
-c "SHADEB#7a766d" \
-c "FONT#FFFFFF" \
-c "CANVAS#302c2d" \
-c "GRID#666666" \
-c "MGRID#AAAAAA" \
-c "FRAME#202020" \
-c "FRAME#302c2d" \
-c "ARROW#FFFFFF" \
DEF:a=$RRD/db/pgsql_$host.rrd:A:AVERAGE \
DEF:t=$RRD/db/pgsql_$host.rrd:T:AVERAGE \

View file

@ -10,7 +10,6 @@
#----------------------------------------------------------#
# Argument defenition
update=$1
period=${1-daily}
# Includes
@ -52,7 +51,7 @@ if [ ! -e "$RRD/ssh/ssh.rrd" ]; then
fi
# Parsing data
if [ -z "$update" ]; then
if [ "$period" = 'daily' ]; then
a=0
a=$(ps auxf|grep sshd |grep -v grep |grep -v '/usr/sbin/'| wc -l)
@ -69,14 +68,14 @@ rrdtool graph $RRD/ssh/$period-ssh.png \
--end "$end" \
--vertical-label "Connections" \
--x-grid "$grid" \
-c "BACK#484439" \
-c "SHADEA#484439" \
-c "SHADEB#484439" \
-c "FONT#DDDDDD" \
-c "CANVAS#202020" \
-c "BACK#7a766d" \
-c "SHADEA#7a766d" \
-c "SHADEB#7a766d" \
-c "FONT#FFFFFF" \
-c "CANVAS#302c2d" \
-c "GRID#666666" \
-c "MGRID#AAAAAA" \
-c "FRAME#202020" \
-c "FRAME#302c2d" \
-c "ARROW#FFFFFF" \
DEF:a=$RRD/ssh/ssh.rrd:A:AVERAGE \
COMMENT:'\r' \

View file

@ -568,7 +568,7 @@ rebuild_mysql_database() {
query="CREATE DATABASE $database CHARACTER SET $CHARSET"
mysql -h $HOST -u $USER -p$PASSWORD -P $PORT -e "$query" &> /dev/null
query="GRANT ALL ON $database.* TO '$DBUSER'@'*'"
query="GRANT ALL ON $database.* TO '$DBUSER'@'%'"
mysql -h $HOST -u $USER -p$PASSWORD -P $PORT -e "$query" &> /dev/null
query="GRANT ALL ON $database.* TO '$DBUSER'@'localhost'"

View file

@ -431,8 +431,8 @@ sync_cron_jobs() {
eval $line
if [ "$SUSPENDED" = 'no' ]; then
echo "$MIN $HOUR $DAY $MONTH $WDAY $CMD" |\
sed -e "s/%quote%/'/g" -e "s/%dots%/:/g" |\
>> /var/spool/cron/$user
sed -e "s/%quote%/'/g" -e "s/%dots%/:/g" \
>> /var/spool/cron/$user
fi
done < $USER_DATA/cron.conf
}