Skip to content

Commit 41c7679

Browse files
committed
Changed Anemometer Installation And Add Some Checks
1 parent 15af7b3 commit 41c7679

File tree

2 files changed

+138
-118
lines changed

2 files changed

+138
-118
lines changed

usr/local/sbin/easyengine

Lines changed: 46 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -497,52 +497,6 @@ PHP_PACKAGES()
497497
touch /var/www/22222/htdocs/fpm/status/{php,debug}
498498
fi
499499

500-
# Anemometer Setup
501-
if [ ! -d /var/www/22222/htdocs/db/anemometer/ ]
502-
then
503-
mkdir -p /var/www/22222/htdocs/db/anemometer/ || OwnError "Unable To Create Anemometer Directory"
504-
505-
# Download Anemometer
506-
git clone https://github.com/box/Anemometer.git /var/www/22222/htdocs/db/anemometer &>> $INSTALLLOG \
507-
|| OwnError "Unable To Clone Anemometer"
508-
509-
# Setup Anemometer
510-
# Collect MySQL Login Details
511-
MYSQLROOT
512-
513-
# Setup Anemometer Database
514-
mysql -u $MYSQLUSER -p$MYSQLPASS < /var/www/22222/htdocs/db/anemometer/install.sql \
515-
|| OwnError "Unable To Import Anemometer Database"
516-
517-
# Setup Anemometer Database Grants
518-
ANEMOMETERPASS=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 15 | head -n1)
519-
mysql -u $MYSQLUSER -p$MYSQLPASS -e "grant all on slow_query_log.* to 'anemometer'@'localhost' IDENTIFIED BY '$ANEMOMETERPASS';"
520-
521-
# Put Data In Anemometer Database
522-
pt-query-digest --user=anemometer --password=$ANEMOMETERPASS \
523-
--review D=slow_query_log,t=global_query_review \
524-
--review-history D=slow_query_log,t=global_query_review_history \
525-
--no-report --limit=0% --filter=" \$event->{Bytes} = length(\$event->{arg}) and \$event->{hostname}=\"$HOSTNAME\"" /var/log/mysql/slow.log &>> $INSTALLLOG
526-
527-
# Execute On MySQL Logrotation
528-
sed -i "/endscript/,/}/d" /etc/logrotate.d/mysql-server
529-
echo -e " pt-query-digest --user=anemometer --password=$ANEMOMETERPASS \\" >> /etc/logrotate.d/mysql-server
530-
echo -e " --review D=slow_query_log,t=global_query_review \\" >> /etc/logrotate.d/mysql-server
531-
echo -e " --review-history D=slow_query_log,t=global_query_review_history \\" >> /etc/logrotate.d/mysql-server
532-
echo -e " --no-report --limit=0% --filter=\" \\\$event->{Bytes} = length(\\\$event->{arg}) and \\\$event->{hostname}="\\\"\$HOSTNAME\\\"\" /var/log/mysql/slow.log >> /etc/logrotate.d/mysql-server
533-
echo -e "\t\tendscript" >> /etc/logrotate.d/mysql-server
534-
echo -e "}" >> /etc/logrotate.d/mysql-server
535-
536-
# Copy Anemometer Configuration File
537-
cp /var/www/22222/htdocs/db/anemometer/conf/sample.config.inc.php /var/www/22222/htdocs/db/anemometer/conf/config.inc.php \
538-
|| OwnError "Unable To Copy Anemometer Configuration File"
539-
540-
# Update Anemoneter Configuration File
541-
sed -i "s/root/anemometer/g" /var/www/22222/htdocs/db/anemometer/conf/config.inc.php
542-
sed -i "/password/ s/''/'$ANEMOMETERPASS'/g" /var/www/22222/htdocs/db/anemometer/conf/config.inc.php
543-
544-
fi
545-
546500
# Call PHPUSERINFO Function For PHP User Details
547501
PHPUSERINFO
548502

@@ -628,6 +582,52 @@ COMMONMYSQL()
628582

629583
# Decrease MySQL Wait Timeout
630584
sed -i "/#max_connections/a wait_timeout = 30 \ninteractive_timeout = 60" /etc/mysql/my.cnf
585+
586+
# Anemometer Setup
587+
if [ ! -d /var/www/22222/htdocs/db/anemometer ]
588+
then
589+
mkdir -p /var/www/22222/htdocs/db/anemometer/ || OwnError "Unable To Create Anemometer Directory"
590+
591+
# Download Anemometer
592+
git clone https://github.com/box/Anemometer.git /var/www/22222/htdocs/db/anemometer &>> $INSTALLLOG \
593+
|| OwnError "Unable To Clone Anemometer"
594+
595+
# Setup Anemometer
596+
# Collect MySQL Login Details
597+
MYSQLROOT
598+
599+
# Setup Anemometer Database
600+
mysql -u $MYSQLUSER -p$MYSQLPASS < /var/www/22222/htdocs/db/anemometer/install.sql \
601+
|| OwnError "Unable To Import Anemometer Database"
602+
603+
# Setup Anemometer Database Grants
604+
ANEMOMETERPASS=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 15 | head -n1)
605+
mysql -u $MYSQLUSER -p$MYSQLPASS -e "grant all on slow_query_log.* to 'anemometer'@'localhost' IDENTIFIED BY '$ANEMOMETERPASS';"
606+
607+
# Execute On MySQL Logrotation
608+
sed -i "/endscript/,/}/d" /etc/logrotate.d/mysql-server
609+
echo -e " pt-query-digest --user=anemometer --password=$ANEMOMETERPASS \\" >> /etc/logrotate.d/mysql-server
610+
echo -e " --review D=slow_query_log,t=global_query_review \\" >> /etc/logrotate.d/mysql-server
611+
echo -e " --review-history D=slow_query_log,t=global_query_review_history \\" >> /etc/logrotate.d/mysql-server
612+
echo -e " --no-report --limit=0% --filter=\" \\\$event->{Bytes} = length(\\\$event->{arg}) and \\\$event->{hostname}="\\\"\$HOSTNAME\\\"\" /var/log/mysql/slow.log >> /etc/logrotate.d/mysql-server
613+
echo -e "\t\tendscript" >> /etc/logrotate.d/mysql-server
614+
echo -e "}" >> /etc/logrotate.d/mysql-server
615+
616+
# Copy Anemometer Configuration File
617+
cp /var/www/22222/htdocs/db/anemometer/conf/sample.config.inc.php /var/www/22222/htdocs/db/anemometer/conf/config.inc.php \
618+
|| OwnError "Unable To Copy Anemometer Configuration File"
619+
620+
# Update Anemoneter Configuration File
621+
sed -i "s/root/anemometer/g" /var/www/22222/htdocs/db/anemometer/conf/config.inc.php
622+
sed -i "/password/ s/''/'$ANEMOMETERPASS'/g" /var/www/22222/htdocs/db/anemometer/conf/config.inc.php
623+
624+
fi
625+
626+
# Call PHPUSERINFO Function For PHP User Details
627+
PHPUSERINFO
628+
629+
# Change Ownership
630+
chown -R $PHPUSER:$PHPUSER /var/www/22222/htdocs/db/anemometer/ || OwnError "Unable To Change Ownership For Anemometer"
631631
}
632632

633633
POSTFIXINSTALLTWEAKS()

usr/local/sbin/eeupdate

Lines changed: 92 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -252,59 +252,64 @@ PHP_PACKAGES()
252252
touch /var/www/22222/htdocs/fpm/status/{php,debug}
253253
fi
254254

255-
# Anemometer Setup
256-
if [ ! -d /var/www/22222/htdocs/db/anemometer/ ]
257-
then
258-
mkdir -p /var/www/22222/htdocs/db/anemometer/ || OwnError "Unable To Create Anemometer Directory"
259-
260-
# Download Anemometer
261-
git clone https://github.com/box/Anemometer.git /var/www/22222/htdocs/db/anemometer &>> $INSTALLLOG \
262-
|| OwnError "Unable To Clone Anemometer"
263-
264-
# Setup Anemometer
265-
# Collect MySQL Login Details
266-
MYCNFCHECK
267-
268-
# Setup Anemometer Database
269-
mysql -u $MYSQLUSER -p$MYSQLPASS < /var/www/22222/htdocs/db/anemometer/install.sql \
270-
|| OwnError "Unable To Import Anemometer Database"
271-
272-
# Setup Anemometer Database Grants
273-
ANEMOMETERPASS=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 15 | head -n1)
274-
mysql -u $MYSQLUSER -p$MYSQLPASS -e "grant all on slow_query_log.* to 'anemometer'@'localhost' IDENTIFIED BY '$ANEMOMETERPASS';"
275-
276-
# Put Data In Anemometer Database
277-
pt-query-digest --user=anemometer --password=$ANEMOMETERPASS \
278-
--review D=slow_query_log,t=global_query_review \
279-
--review-history D=slow_query_log,t=global_query_review_history \
280-
--no-report --limit=0% --filter=" \$event->{Bytes} = length(\$event->{arg}) and \$event->{hostname}=\"$HOSTNAME\"" /var/log/mysql/slow.log &>> $INSTALLLOG
281-
282-
# Execute On MySQL Logrotation
283-
sed -i "/endscript/,/}/d" /etc/logrotate.d/mysql-server
284-
echo -e " pt-query-digest --user=anemometer --password=$ANEMOMETERPASS \\" >> /etc/logrotate.d/mysql-server
285-
echo -e " --review D=slow_query_log,t=global_query_review \\" >> /etc/logrotate.d/mysql-server
286-
echo -e " --review-history D=slow_query_log,t=global_query_review_history \\" >> /etc/logrotate.d/mysql-server
287-
echo -e " --no-report --limit=0% --filter=\" \\\$event->{Bytes} = length(\\\$event->{arg}) and \\\$event->{hostname}="\\\"\$HOSTNAME\\\"\" /var/log/mysql/slow.log >> /etc/logrotate.d/mysql-server
288-
echo -e "\t\tendscript" >> /etc/logrotate.d/mysql-server
289-
echo -e "}" >> /etc/logrotate.d/mysql-server
290-
291-
# Copy Anemometer Configuration File
292-
cp /var/www/22222/htdocs/db/anemometer/conf/sample.config.inc.php /var/www/22222/htdocs/db/anemometer/conf/config.inc.php \
293-
|| OwnError "Unable To Copy Anemometer Configuration File"
294-
295-
# Update Anemoneter Configuration File
296-
sed -i "s/root/anemometer/g" /var/www/22222/htdocs/db/anemometer/conf/config.inc.php
297-
sed -i "/password/ s/''/'$ANEMOMETERPASS'/g" /var/www/22222/htdocs/db/anemometer/conf/config.inc.php
298-
299-
fi
300-
301255
# Call PHPUSERINFO Function For PHP User Details
302256
PHPUSERINFO
303257

304258
# Change Ownership
305259
chown -R $PHPUSER:$PHPUSER /var/www/22222 || OwnError "Unable To Change Ownership For /var/www/22222"
306260
}
307261

262+
ANEMOMETER_INSTALL()
263+
{
264+
if [ -d /etc/mysql/ ]
265+
then
266+
267+
# Anemometer Setup
268+
if [ ! -d /var/www/22222/htdocs/db/anemometer ]
269+
then
270+
mkdir -p /var/www/22222/htdocs/db/anemometer/ || OwnError "Unable To Create Anemometer Directory"
271+
272+
# Download Anemometer
273+
git clone https://github.com/box/Anemometer.git /var/www/22222/htdocs/db/anemometer &>> $INSTALLLOG \
274+
|| OwnError "Unable To Clone Anemometer"
275+
276+
# Setup Anemometer
277+
# Collect MySQL Login Details
278+
MYCNFCHECK
279+
280+
# Setup Anemometer Database
281+
mysql -u $MYSQLUSER -p$MYSQLPASS < /var/www/22222/htdocs/db/anemometer/install.sql \
282+
|| OwnError "Unable To Import Anemometer Database"
283+
284+
# Setup Anemometer Database Grants
285+
ANEMOMETERPASS=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 15 | head -n1)
286+
mysql -u $MYSQLUSER -p$MYSQLPASS -e "grant all on slow_query_log.* to 'anemometer'@'localhost' IDENTIFIED BY '$ANEMOMETERPASS';"
287+
288+
# Execute On MySQL Logrotation
289+
sed -i "/endscript/,/}/d" /etc/logrotate.d/mysql-server
290+
echo -e " pt-query-digest --user=anemometer --password=$ANEMOMETERPASS \\" >> /etc/logrotate.d/mysql-server
291+
echo -e " --review D=slow_query_log,t=global_query_review \\" >> /etc/logrotate.d/mysql-server
292+
echo -e " --review-history D=slow_query_log,t=global_query_review_history \\" >> /etc/logrotate.d/mysql-server
293+
echo -e " --no-report --limit=0% --filter=\" \\\$event->{Bytes} = length(\\\$event->{arg}) and \\\$event->{hostname}="\\\"\$HOSTNAME\\\"\" /var/log/mysql/slow.log >> /etc/logrotate.d/mysql-server
294+
echo -e "\t\tendscript" >> /etc/logrotate.d/mysql-server
295+
echo -e "}" >> /etc/logrotate.d/mysql-server
296+
297+
# Copy Anemometer Configuration File
298+
cp /var/www/22222/htdocs/db/anemometer/conf/sample.config.inc.php /var/www/22222/htdocs/db/anemometer/conf/config.inc.php \
299+
|| OwnError "Unable To Copy Anemometer Configuration File"
300+
301+
# Update Anemoneter Configuration File
302+
sed -i "s/root/anemometer/g" /var/www/22222/htdocs/db/anemometer/conf/config.inc.php
303+
sed -i "/password/ s/''/'$ANEMOMETERPASS'/g" /var/www/22222/htdocs/db/anemometer/conf/config.inc.php
304+
305+
# Call PHPUSERINFO Function For PHP User Details
306+
PHPUSERINFO
307+
308+
# Change Ownership
309+
chown -R $PHPUSER:$PHPUSER /var/www/22222/htdocs/db/anemometer/ || OwnError "Unable To Change Ownership For Anemometer"
310+
fi
311+
}
312+
308313
INSTALLPMA()
309314
{
310315
# Install PMA/phpMyAdmin
@@ -346,13 +351,9 @@ INSTALLPMA()
346351
echo -e "\033[34mAlready Installed phpMyAdmin (/var/www/22222/htdocs/db/pma)...\e[0m"
347352
fi
348353
}
354+
349355
EE122()
350356
{
351-
# Install Packages
352-
echo -e "\033[34mInstalling php5-xdebug percona-toolkit graphviz, Please Wait...\e[0m"
353-
apt-get -y install php5-xdebug percona-toolkit graphviz
354-
355-
356357
# EasyEngine Config File
357358
sed -i "/# WordPress Defaults/i # Comma Separated Whitelist/Debugging IP Address\nip_address = \n" /etc/easyengine/ee.conf
358359

@@ -404,33 +405,52 @@ EE122()
404405
openssl x509 -req -days 3652 -in /var/www/22222/cert/22222.csr -signkey /var/www/22222/cert/22222.key -out /var/www/22222/cert/22222.crt &>> $INSTALLLOG \
405406
|| OwnError "Unable To Generate SSL Certificate"
406407

407-
# Personal Settings For PHP
408-
echo -e "\033[34mUpdating PHP Configuration Files, Please Wait...\e[0m"
409-
410-
# Needed For Custome PHP5 Logs
411-
if [ ! -d /var/log/php5/ ]
408+
# PHP Setup
409+
dpkg -l | grep php5-fpm &>> $INSTALLLOG
410+
if [ $? -eq 0 ]
412411
then
413-
mkdir -p /var/log/php5/ || OwnError "Unable To Create PHP5 Log Directory: /var/log/php5/"
414-
fi
412+
# Install Packages
413+
echo -e "\033[34mInstalling php5-xdebug percona-toolkit graphviz, Please Wait...\e[0m"
414+
apt-get -y install php5-xdebug percona-toolkit graphviz
415415

416-
TIME_ZONE=$(cat /etc/timezone | sed "s'/'\\\/'")
417-
sed -i "s/;date.timezone.*/date.timezone = $TIME_ZONE/" /etc/php5/fpm/php.ini
416+
# Personal Settings For PHP
417+
echo -e "\033[34mUpdating PHP Configuration Files, Please Wait...\e[0m"
418418

419-
# Change PHP5-FPM Error Logs Location
420-
sed -i "s'error_log.*'error_log = /var/log/php5/fpm.log'" /etc/php5/fpm/php-fpm.conf
419+
# Needed For Custome PHP5 Logs
420+
if [ ! -d /var/log/php5/ ]
421+
then
422+
mkdir -p /var/log/php5/ || OwnError "Unable To Create PHP5 Log Directory: /var/log/php5/"
423+
fi
424+
425+
TIME_ZONE=$(cat /etc/timezone | sed "s'/'\\\/'")
426+
sed -i "s/;date.timezone.*/date.timezone = $TIME_ZONE/" /etc/php5/fpm/php.ini
427+
428+
# Change PHP5-FPM Error Logs Location
429+
sed -i "s'error_log.*'error_log = /var/log/php5/fpm.log'" /etc/php5/fpm/php-fpm.conf
430+
431+
# Separate PHP POOL For Slow Logs
432+
cp /etc/php5/fpm/pool.d/www.conf /etc/php5/fpm/pool.d/debug.conf
433+
sed -i "s'\[www\]'[debug]'" /etc/php5/fpm/pool.d/debug.conf || OwnError "Unable To Change PHP Pool Name"
434+
sed -i "s'listen = 127.0.0.1:9000'listen = 127.0.0.1:9001'" /etc/php5/fpm/pool.d/debug.conf || OwnError "Unable To Change PHP Fastcgi Listen Port"
435+
sed -i "s/pm = dynamic/pm = ondemand/" /etc/php5/fpm/pool.d/debug.conf || OwnError "Unable To Chnage Process Manager From Dynamic To Ondemand"
436+
sed -i "s';slowlog.*'slowlog = /var/log/php5/slow.log'" /etc/php5/fpm/pool.d/debug.conf || OwnError "Unable To Change PHP Slowlog"
437+
sed -i "s';request_slowlog_timeout.*'request_slowlog_timeout = 10s'" /etc/php5/fpm/pool.d/debug.conf || OwnError "Unable To Change PHP Request Slowlog Timeout"
438+
echo -e "php_admin_value[xdebug.profiler_output_dir] = /tmp/ \nphp_admin_value[xdebug.profiler_output_name] = cachegrind.out.%p-%H-%R \nphp_admin_flag[xdebug.profiler_enable_trigger] = on \nphp_admin_flag[xdebug.profiler_enable] = off" | tee -ai /etc/php5/fpm/pool.d/debug.conf &>> $INSTALLLOG \
439+
|| OwnError "Unable To Add Xdebug Settings"
421440

422-
# Separate PHP POOL For Slow Logs
423-
cp /etc/php5/fpm/pool.d/www.conf /etc/php5/fpm/pool.d/debug.conf
424-
sed -i "s'\[www\]'[debug]'" /etc/php5/fpm/pool.d/debug.conf || OwnError "Unable To Change PHP Pool Name"
425-
sed -i "s'listen = 127.0.0.1:9000'listen = 127.0.0.1:9001'" /etc/php5/fpm/pool.d/debug.conf || OwnError "Unable To Change PHP Fastcgi Listen Port"
426-
sed -i "s/pm = dynamic/pm = ondemand/" /etc/php5/fpm/pool.d/debug.conf || OwnError "Unable To Chnage Process Manager From Dynamic To Ondemand"
427-
sed -i "s';slowlog.*'slowlog = /var/log/php5/slow.log'" /etc/php5/fpm/pool.d/debug.conf || OwnError "Unable To Change PHP Slowlog"
428-
sed -i "s';request_slowlog_timeout.*'request_slowlog_timeout = 10s'" /etc/php5/fpm/pool.d/debug.conf || OwnError "Unable To Change PHP Request Slowlog Timeout"
429-
echo -e "php_admin_value[xdebug.profiler_output_dir] = /tmp/ \nphp_admin_value[xdebug.profiler_output_name] = cachegrind.out.%p-%H-%R \nphp_admin_flag[xdebug.profiler_enable_trigger] = on \nphp_admin_flag[xdebug.profiler_enable] = off" | tee -ai /etc/php5/fpm/pool.d/debug.conf &>> $INSTALLLOG \
430-
|| OwnError "Unable To Add Xdebug Settings"
441+
else
442+
# Install Packages
443+
echo -e "\033[34mInstalling percona-toolkit graphviz, Please Wait...\e[0m"
444+
apt-get -y install percona-toolkit graphviz
445+
fi
431446

432447
# Install PHP Packages
433448
PHP_PACKAGES
449+
450+
# Install Anemometer
451+
ANEMOMETER_INSTALL
452+
453+
# Install phpMyAdmin
434454
INSTALLPMA
435455
}
436456

@@ -547,7 +567,7 @@ then
547567
echo -e "\033[37msource /etc/bash_completion.d/ee\e[0m" | tee -ai $INSTALLLOG
548568
echo
549569
echo -e "\033[34mEasyEngine (ee) Updated Successfully\e[0m" | tee -ai $INSTALLLOG
550-
echo -e "\033[34mPlease Ignore If You See Anything After This Line.\e[0m" | tee -ai $INSTALLLOG
570+
echo -e "\033[34mPlease Ignore If You See Anything After This Line.\e[0m" | tee -ai $INSTALLLOGfwww
551571

552572
echo -e "\033[34mKilling The Parent Process\e[0m" &>> $INSTALLLOG
553573
ps ax | grep $PPID | grep -v grep &>> $INSTALLLOG

0 commit comments

Comments
 (0)