Skip to content

Instantly share code, notes, and snippets.

@pedro108
Created June 16, 2016 22:26
Show Gist options
  • Save pedro108/21fefcbd2aae08988487b69829c68b3d to your computer and use it in GitHub Desktop.
Save pedro108/21fefcbd2aae08988487b69829c68b3d to your computer and use it in GitHub Desktop.
Snippet de código para o artigo "Como instalar e configurar o Monit para gerenciar os processos de sua aplicação Web em produção." Raw
##
# OBS: as regras "cycles", representam o intervalo de tempo que o Monit realiza a checagem das diretivas. O valor de um cycle
# é definido no monitrc, e, no caso deste exemplo, está definido como 60 segundos.
#
check process mysql # Nome do processo (mysql)
with pidfile /var/run/mysqld/mysqld.pid # Caminho do PIDfile do processo
start program = "/usr/sbin/service mysql start" # Comando para iniciar o processo (aqui é necessario utilizar o caminho absoluto para executar qualquer programa pois o PATH não é definido)
stop program = "/usr/sbin/service mysql stop" # Comando para parar o processo (aqui é necessario utilizar o caminho absoluto para executar qualquer programa pois o PATH não é definido)
if failed host 127.0.0.1 port 3306 then restart # Monitoramento do acesso à porta TCP 3306 (do MySQL), se esse teste falhar, o Monit reinicia o processo (restart)
if totalmem > 500.0 MB for 5 cycles then restart # Monitoramento da memória utilizada pelo MySQL; se for maior que 500 MB, durante 5 ciclos, o Monit reinicia o processo (restart)
if cpu usage > 90% for 3 cycles then alert # Monitoramento da CPU utilizada pelo MySQL; se for maior que 90%, durante 3 ciclos, o Monit envia um alerta por email (alert)
if 5 restarts within 5 cycles then timeout # Se o Monit reiniciar este processo 5 vezes em um intervalo de 5 ciclos, o Monit para o monitoramento deste processo
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment