Commit 982b9ef4915c97a77e1b9e07b511803d4571ab61
1 parent
26f97aea
Exists in
master
how to configure monit for errbit on a capistrano deployment
Showing
1 changed file
with
44 additions
and
0 deletions
Show diff stats
docs/deployment/capistrano.md
@@ -76,3 +76,47 @@ rbenv=1 bundle exec cap production deploy | @@ -76,3 +76,47 @@ rbenv=1 bundle exec cap production deploy | ||
76 | ## Schedule recurring tasks | 76 | ## Schedule recurring tasks |
77 | You may want to periodically clear resolved errors to free up space. | 77 | You may want to periodically clear resolved errors to free up space. |
78 | Schedule ```rake errbit:db:clear_resolved``` to run every day or so. | 78 | Schedule ```rake errbit:db:clear_resolved``` to run every day or so. |
79 | + | ||
80 | + | ||
81 | +## Monit | ||
82 | +If you like errbit to be monitored by monit, you'll have to install and start monit | ||
83 | +with http support before deploying errbit. | ||
84 | +In order to enable http support you have to edit the monit config file which you can | ||
85 | +find in `/etc/monit/monitrc` for Ubuntu and set these lines: | ||
86 | +``` | ||
87 | +set httpd port 2812 and | ||
88 | + use address localhost # only accept connection from localhost | ||
89 | + allow localhost | ||
90 | +``` | ||
91 | + | ||
92 | +Next you have to add the following line to the Capfile: | ||
93 | +``` | ||
94 | +require 'capistrano/puma/monit' | ||
95 | +``` | ||
96 | + | ||
97 | +And you have to deploy the monit config with the command: | ||
98 | +```bash | ||
99 | +bundle exec cap production puma:monit:config | ||
100 | +``` | ||
101 | + | ||
102 | +The configuration file (depending on the distro) will be generated at: `/etc/monit/conf.d/puma_errbit_production.conf` | ||
103 | + | ||
104 | +### Controlling memory usage with monit | ||
105 | +If you like to limit memory usage for puma and restart it in case the usage gets | ||
106 | +over a 2GB limit, for example, you can add at the end of the monit config file the line | ||
107 | +``` | ||
108 | +if totalmem is greater than 2048 MB for 3 cycles then restart | ||
109 | +``` | ||
110 | + | ||
111 | +The config file will look like: | ||
112 | + | ||
113 | +``` | ||
114 | +# Monit configuration for Puma | ||
115 | +# Service name: puma_errbit_production | ||
116 | +# | ||
117 | +check process puma_errbit_production | ||
118 | + with pidfile "/var/www/apps/errbit/shared/tmp/pids/puma.pid" | ||
119 | + start program = "/usr/bin/sudo -u root /bin/bash -c 'cd /var/www/apps/errbit/current && /usr/bin/env bundle exec puma -C /var/www/apps/errbit/shared/puma.rb --daemon'" | ||
120 | + stop program = "/usr/bin/sudo -u root /bin/bash -c 'cd /var/www/apps/errbit/current && /usr/bin/env bundle exec pumactl -S /var/www/apps/errbit/shared/tmp/pids/puma.state stop'" | ||
121 | + if totalmem is greater than 2048 MB for 3 cycles then restart | ||
122 | +``` |