added munin and monit install
This commit is contained in:
parent
8aa2f3e162
commit
dbf8690c72
130
assets/monitrc
Normal file
130
assets/monitrc
Normal file
@ -0,0 +1,130 @@
|
|||||||
|
set daemon 60
|
||||||
|
set logfile syslog facility log_daemon
|
||||||
|
set mailserver localhost
|
||||||
|
set mail-format { from: monit@server1.example.com }
|
||||||
|
set alert root@localhost
|
||||||
|
set httpd port 2812 and
|
||||||
|
allow admin:PASSWD_TO_REPLACE
|
||||||
|
# SSL ENABLE
|
||||||
|
# PEMFILE /var/certs/monit.pem
|
||||||
|
|
||||||
|
check process sshd with pidfile /var/run/sshd.pid
|
||||||
|
start program "/usr/sbin/service ssh start"
|
||||||
|
stop program "/usr/sbin/service ssh stop"
|
||||||
|
if failed port 22 protocol ssh then restart
|
||||||
|
if 5 restarts within 5 cycles then timeout
|
||||||
|
|
||||||
|
check process apache with pidfile /var/run/apache2/apache2.pid
|
||||||
|
group www
|
||||||
|
start program = "/usr/sbin/service apache2 start"
|
||||||
|
stop program = "/usr/sbin/service apache2 stop"
|
||||||
|
if failed host localhost port 80 protocol http
|
||||||
|
and request "/monit/token" then restart
|
||||||
|
if cpu is greater than 60% for 2 cycles then alert
|
||||||
|
if cpu > 80% for 5 cycles then restart
|
||||||
|
if totalmem > 500 MB for 5 cycles then restart
|
||||||
|
if children > 250 then restart
|
||||||
|
if loadavg(5min) greater than 10 for 8 cycles then stop
|
||||||
|
if 3 restarts within 5 cycles then timeout
|
||||||
|
|
||||||
|
check process mysqld with pidfile /var/run/mysqld/mysqld.pid
|
||||||
|
group mysql
|
||||||
|
start program = "/usr/sbin/service mysqld start"
|
||||||
|
stop program = "/usr/sbin/service mysqld stop"
|
||||||
|
if failed host 127.0.0.1 port 3306 then restart
|
||||||
|
if 5 restarts within 5 cycles then timeout
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# ---------------------------------------------------------------------------------------------
|
||||||
|
# NOTE: Replace example.pid with the pid name of your server, the name depends on the hostname
|
||||||
|
# ---------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
#check process proftpd with pidfile /var/run/proftpd.pid
|
||||||
|
# start program = "/usr/sbin/service proftpd start"
|
||||||
|
# stop program = "/usr/sbin/service proftpd stop"
|
||||||
|
# if failed port 21 protocol ftp then restart
|
||||||
|
# if 5 restarts within 5 cycles then timeout
|
||||||
|
#
|
||||||
|
#check process postfix with pidfile /var/spool/postfix/pid/master.pid
|
||||||
|
# group mail
|
||||||
|
# start program = "/usr/sbin/service postfix start"
|
||||||
|
# stop program = "/usr/sbin/service postfix stop"
|
||||||
|
# if failed port 25 protocol smtp then restart
|
||||||
|
# if 5 restarts within 5 cycles then timeout
|
||||||
|
#
|
||||||
|
#check process nginx with pidfile /var/run/nginx.pid
|
||||||
|
# start program = "/usr/sbin/service nginx start"
|
||||||
|
# stop program = "/usr/sbin/service nginx stop"
|
||||||
|
# if failed host 127.0.0.1 port 80 then restart
|
||||||
|
#
|
||||||
|
#check process memcached with pidfile /var/run/memcached.pid
|
||||||
|
# start program = "/usr/sbin/service memcached start"
|
||||||
|
# stop program = "/usr/sbin/service memcached stop"
|
||||||
|
# if failed host 127.0.0.1 port 11211 then restart
|
||||||
|
#
|
||||||
|
#check process pureftpd with pidfile /var/run/pure-ftpd/pure-ftpd.pid
|
||||||
|
# start program = "/usr/sbin/service pure-ftpd-mysql start"
|
||||||
|
# stop program = "/usr/sbin/service pure-ftpd-mysql stop"
|
||||||
|
# if failed port 21 protocol ftp then restart
|
||||||
|
# if 5 restarts within 5 cycles then timeout
|
||||||
|
#
|
||||||
|
#check process named with pidfile /var/run/named/named.pid
|
||||||
|
# start program = "/usr/sbin/service bind9 start"
|
||||||
|
# stop program = "/usr/sbin/service bind9 stop"
|
||||||
|
# if failed host 127.0.0.1 port 53 type tcp protocol dns then restart
|
||||||
|
# if failed host 127.0.0.1 port 53 type udp protocol dns then restart
|
||||||
|
# if 5 restarts within 5 cycles then timeout
|
||||||
|
#
|
||||||
|
#check process ntpd with pidfile /var/run/ntpd.pid
|
||||||
|
# start program = "/usr/sbin/service ntp start"
|
||||||
|
# stop program = "/usr/sbin/service ntp stop"
|
||||||
|
# if failed host 127.0.0.1 port 123 type udp then restart
|
||||||
|
# if 5 restarts within 5 cycles then timeout
|
||||||
|
#
|
||||||
|
#check process mailman with pidfile /var/run/mailman/mailman.pid
|
||||||
|
# group mail
|
||||||
|
# start program = "/usr/sbin/service mailman start"
|
||||||
|
# stop program = "/usr/sbin/service mailman stop"
|
||||||
|
#
|
||||||
|
#check process amavisd with pidfile /var/run/amavis/amavisd.pid
|
||||||
|
# group mail
|
||||||
|
# start program = "/usr/sbin/service amavis start"
|
||||||
|
# stop program = "/usr/sbin/service amavis stop"
|
||||||
|
# if failed port 10024 protocol smtp then restart
|
||||||
|
# if 5 restarts within 5 cycles then timeout
|
||||||
|
#
|
||||||
|
#check process courier-imap with pidfile /var/run/courier/imapd.pid
|
||||||
|
# group mail
|
||||||
|
# start program = "/usr/sbin/service courier-imap start"
|
||||||
|
# stop program = "/usr/sbin/service courier-imap stop"
|
||||||
|
# if failed host localhost port 143 type tcp protocol imap then restart
|
||||||
|
# if 5 restarts within 5 cycles then timeout
|
||||||
|
#
|
||||||
|
#check process courier-imap-ssl with pidfile /var/run/courier/imapd-ssl.pid
|
||||||
|
# group mail
|
||||||
|
# start program = "/usr/sbin/service courier-imap-ssl start"
|
||||||
|
# stop program = "/usr/sbin/service courier-imap-ssl stop"
|
||||||
|
# if failed host localhost port 993 type tcpssl sslauto protocol imap then restart
|
||||||
|
# if 5 restarts within 5 cycles then timeout
|
||||||
|
#
|
||||||
|
#check process courier-pop3 with pidfile /var/run/courier/pop3d.pid
|
||||||
|
# group mail
|
||||||
|
# start program = "/usr/sbin/service courier-pop start"
|
||||||
|
# stop program = "/usr/sbin/service courier-pop stop"
|
||||||
|
# if failed host localhost port 110 type tcp protocol pop then restart
|
||||||
|
# if 5 restarts within 5 cycles then timeout
|
||||||
|
#
|
||||||
|
#check process courier-pop3-ssl with pidfile /var/run/courier/pop3d-ssl.pid
|
||||||
|
# group mail
|
||||||
|
# start program = "/usr/sbin/service courier-pop-ssl start"
|
||||||
|
# stop program = "/usr/sbin/service courier-pop-ssl stop"
|
||||||
|
# if failed host localhost port 995 type tcpssl sslauto protocol pop then restart
|
||||||
|
# if 5 restarts within 5 cycles then timeout
|
||||||
|
#
|
||||||
|
#check process dovecot with pidfile /var/run/dovecot/master.pid
|
||||||
|
# group mail
|
||||||
|
# start program = "/usr/sbin/service dovecot start"
|
||||||
|
# stop program = "/usr/sbin/service dovecot stop"
|
||||||
|
# if failed host localhost port 993 type tcpssl sslauto protocol imap then restart
|
||||||
|
# if 5 restarts within 5 cycles then timeout
|
@ -338,6 +338,85 @@ else
|
|||||||
echo "Vhost installation aborted"
|
echo "Vhost installation aborted"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
echo '\033[35m
|
||||||
|
__ ___ _ __ __ __ ___ _
|
||||||
|
/ |/ /__ ___ (_) /_ _/_/ / |/ /_ _____ (_)__
|
||||||
|
/ /|_/ / _ \/ _ \/ / __/ _/_/ / /|_/ / // / _ \/ / _ \
|
||||||
|
/_/ /_/\___/_//_/_/\__/ /_/ /_/ /_/\_,_/_//_/_/_//_/
|
||||||
|
\033[0m'
|
||||||
|
echo "\033[35;1mInstalling Munin \033[0m"
|
||||||
|
sleep 3
|
||||||
|
# https://www.howtoforge.com/tutorial/server-monitoring-with-munin-and-monit-on-debian/
|
||||||
|
apt-get install munin munin-node munin-plugins-extra
|
||||||
|
# Configure Munin
|
||||||
|
# enable plugins
|
||||||
|
ln -s /usr/share/munin/plugins/mysql_ /etc/munin/plugins/mysql_
|
||||||
|
ln -s /usr/share/munin/plugins/mysql_bytes /etc/munin/plugins/mysql_bytes
|
||||||
|
ln -s /usr/share/munin/plugins/mysql_innodb /etc/munin/plugins/mysql_innodb
|
||||||
|
ln -s /usr/share/munin/plugins/mysql_isam_space_ /etc/munin/plugins/mysql_isam_space_
|
||||||
|
ln -s /usr/share/munin/plugins/mysql_queries /etc/munin/plugins/mysql_queries
|
||||||
|
ln -s /usr/share/munin/plugins/mysql_slowqueries /etc/munin/plugins/mysql_slowqueries
|
||||||
|
ln -s /usr/share/munin/plugins/mysql_threads /etc/munin/plugins/mysql_threads
|
||||||
|
|
||||||
|
ln -s /usr/share/munin/plugins/apache_accesses /etc/munin/plugins/
|
||||||
|
ln -s /usr/share/munin/plugins/apache_processes /etc/munin/plugins/
|
||||||
|
ln -s /usr/share/munin/plugins/apache_volume /etc/munin/plugins/
|
||||||
|
|
||||||
|
# ln -s /usr/share/munin/plugins/fail2ban /etc/munin/plugins/
|
||||||
|
|
||||||
|
# dbdir, htmldir, logdir, rundir, and tmpldir
|
||||||
|
sed -i 's/^#dbdir/dbdir/' /etc/munin/munin.conf
|
||||||
|
sed -i 's/^#htmldir/htmldir/' /etc/munin/munin.conf
|
||||||
|
sed -i 's/^#logdir/logdir/' /etc/munin/munin.conf
|
||||||
|
sed -i 's/^#rundir/rundir/' /etc/munin/munin.conf
|
||||||
|
sed -i 's/^#tmpldir/tmpldir/' /etc/munin/munin.conf
|
||||||
|
|
||||||
|
sed -i "s/^\[localhost.localdomain\]/[${HOSTNAME}]/" /etc/munin/munin.conf
|
||||||
|
|
||||||
|
# ln -s /etc/munin/apache24.conf /etc/apache2/conf-enabled/munin.conf
|
||||||
|
sed -i 's/Require local/Require all granted\nOptions FollowSymLinks SymLinksIfOwnerMatch/g' /etc/munin/apache24.conf
|
||||||
|
htpasswd -c /etc/munin/munin-htpasswd admin
|
||||||
|
sed -i 's/Require all granted/AuthUserFile \/etc\/munin\/munin-htpasswd\nAuthName "Munin"\nAuthType Basic\nRequire valid-user/g' /etc/munin/apache24.conf
|
||||||
|
|
||||||
|
|
||||||
|
service apache2 restart
|
||||||
|
service munin-node restart
|
||||||
|
echo "\033[92;1mMunin installed\033[Om"
|
||||||
|
|
||||||
|
echo "\033[35;1mInstalling Monit \033[0m"
|
||||||
|
sleep 3
|
||||||
|
# https://www.howtoforge.com/tutorial/server-monitoring-with-munin-and-monit-on-debian/2/
|
||||||
|
apt-get install monit
|
||||||
|
# TODO setup monit rc
|
||||||
|
cat "$_cwd"/assets/monitrc > /etc/monit/monitrc
|
||||||
|
|
||||||
|
# TODO setup webaccess
|
||||||
|
passok=0
|
||||||
|
while [ "$passok" = "0" ]
|
||||||
|
do
|
||||||
|
echo -n "Write web access password to monit"
|
||||||
|
read passwda
|
||||||
|
echo -n "ReWrite web access password to monit"
|
||||||
|
read passwdb
|
||||||
|
if [ "$passwda" = "$passwdb" ]; then
|
||||||
|
sed -i 's/PASSWD_TO_REPLACE/$passwda/g' /etc/monit/monitrc
|
||||||
|
passok=1
|
||||||
|
else
|
||||||
|
echo "pass words don't match, please try again"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
# TODO setup mail settings
|
||||||
|
sed -i "s/server1\.example\.com/$HOSTNAME/g" /etc/monit/monitrc
|
||||||
|
|
||||||
|
mkdir /var/www/html/monit
|
||||||
|
echo "hello" > /var/www/html/monit/token
|
||||||
|
|
||||||
|
service monit start
|
||||||
|
|
||||||
|
echo "\033[92;1mMonit installed\033[Om"
|
||||||
|
|
||||||
|
|
||||||
echo '\033[35m
|
echo '\033[35m
|
||||||
___ __ __
|
___ __ __
|
||||||
/ |_ _______/ /_____ _/ /_
|
/ |_ _______/ /_____ _/ /_
|
||||||
|
Loading…
x
Reference in New Issue
Block a user