Last active
March 7, 2019 07:17
-
-
Save jezman/5f08a59eab075cb5bfc68939f0d2dc03 to your computer and use it in GitHub Desktop.
Monit configuration
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Nginx | |
check process nginx | |
with pidfile /run/nginx.pid | |
start program = "/bin/systemctl start nginx.service" | |
stop program = "/bin/systemctl stop nginx.service" | |
if cpu > 60% for 2 cycles then alert | |
if cpu > 80% for 5 cycles then restart | |
if memory usage > 80% for 5 cycles then restart | |
if failed host 127.0.0.1 port 80 protocol http | |
then restart | |
if 3 restarts within 5 cycles then timeout | |
# Postgresql | |
check process postgresql | |
with pidfile "/run/postgresql/9.6-main.pid" | |
start program = "/bin/systemctl start postgresql.service" | |
stop program = "/bin/systemctl stop postgresql.service" | |
if failed host localhost port 5432 protocol pgsql then restart | |
if cpu > 80% then restart | |
if memory usage > 80% for 2 cycles then restart | |
if 5 restarts within 5 cycles then timeout | |
# Redis | |
check process redis-server | |
with pidfile "/run/redis/redis-server.pid" | |
start program = "/bin/systemctl start redis-server.service" | |
stop program = "/bin/systemctl stop redis-server.service" | |
if totalmem > 100 Mb then alert | |
if children > 255 for 5 cycles then stop | |
if cpu usage > 95% for 3 cycles then restart | |
if memory usage > 80% for 5 cycles then restart | |
if failed host 127.0.0.1 port 6379 then restart | |
if 5 restarts within 5 cycles then timeout | |
# Sidekiq | |
check process sidekiq | |
with pidfile "/home/deployer/qna/shared/tmp/pids/sidekiq-0.pid" | |
start program = "/bin/su - deployer -c 'cd /home/deployer/qna/current && /home/deployer/.rvm/bin/rvm default do bundle exec sidekiq --index 0 --pidfile /home/deployer/qna/shared/tmp/pids/sidekiq-0.pid --environment production --logfile /home/deployer/qna/shared/log/sidekiq.log --daemon'" | |
stop program = "/bin/su - deployer -c 'cd /home/deployer/qna/current && /home/deployer/.rvm/bin/rvm default do bundle exec sidekiqctl stop /home/deployer/qna/shared/tmp/pids/sidekiq-0.pid 10'" | |
if cpu > 80% then restart | |
if memory usage > 80% for 2 cycles then restart | |
if 3 restarts within 3 cycles then timeout | |
# Unicorn | |
check process unicorn | |
with pidfile "/home/deployer/qna/shared/tmp/pids/unicorn.pid" | |
start program = "/bin/su - deployer -c 'cd /home/deployer/qna/current && /home/deployer/.rvm/bin/rvm default do bundle exec unicorn -c /home/deployer/qna/current/config/unicorn/production.rb -E production -D'" | |
stop program = "/bin/su - deployer -c '/usr/bin/pgrep unicorn | /usr/bin/xargs /bin/kill -QUIT'" | |
if memory usage > 90% for 3 cycles then restart | |
if cpu > 90% for 2 cycles then restart | |
if 5 restarts within 5 cycles then timeout | |
# Sphinx | |
check process sphinx | |
with pidfile "/home/deployer/qna/shared/log/production.sphinx.pid" | |
start program = "/bin/su - deployer -c 'cd /home/deployer/qna/current && /home/deployer/.rvm/bin/rvm default do bundle exec rails RAILS_ENV=production ts:start'" | |
stop program = "/bin/su - deployer -c 'cd /home/deployer/qna/current && /home/deployer/.rvm/bin/rvm default do bundle exec rails RAILS_ENV=production ts:stop'" | |
if cpu > 80% for 2 cycles then restart | |
if memory usage > 80% for 4 cycles then restart | |
if 3 restarts within 3 cycles then timeout |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment