Serviços do Autorestart após travar em rhel 6

2

Como implementar isso sem systemd (chkconfig, etc.)?

Eu gostaria de reiniciar o PostgreSQL, o Mongod e o RabbitMQ.

    
por shkiper 22.09.2016 / 15:02

2 respostas

1

RedHat 6 usa upstart como o sistema init.

Você precisa criar uma definição de inicialização adequada em /etc/init (nota: NÃO /etc/init.d ).

por exemplo (mas pode precisar de depuração) /etc/init/myservice

start on runlevel [2345]
stop on runlevel [S016]

respawn
exec /code/to/program

O valor respawn fará com que program seja reiniciado se terminar.

    
por 22.09.2016 / 15:06
1

Para fazer a recuperação automática de serviços, você pode usar monit . É um serviço bastante leve e fácil de usar.

Para instalar no Debian faça:

sudo apt-get install monit

Como instalar e configurar o programa

Quanto a configurá-lo, edite /etc/monit/monitrc e reinicie o serviço.

Por exemplo, para monitorar se o daemon está em execução e se o serviço está respondendo nas portas correspondentes e configurar a recuperação automática para o PostgreSQL, RabbitMQ e mongoDB:

check process postgres with pidfile /var/postgres/postmaster.pid
   group database
   start program = "/etc/init.d/postgresql start"
   stop  program = "/etc/init.d/postgresql stop"
   if failed unixsocket /var/run/postgresql/.s.PGSQL.5432 protocol pgsql 
      then restart
   if failed host 192.168.1.1 port 5432 protocol pgsql then restart

check host mongodb with address localhost
    start program = "/usr/bin/sudo /opt/database/mongo/bin/mongod"
    stop program = "/usr/bin/sudo /usr/bin/pkill -f mongod"
    if failed port 28017 protocol HTTP
        request /
        with timeout 10 seconds
        then start

check process rabbitmq-server with pidfile /var/run/rabbitmq.pid  
   group rabbitmq  
   start program "/etc/init.d/rabbitmq-server start"  
   stop program "/etc/init.d/rabbitmq-server stop"  
   if failed port 5672 type tcp then restart  
   if 3 restarts within 3 cycles then timeout  

Para mais serviços, consulte: Monit wiki

Monit também permite que você envie um e-mail em regras e atue na carga do servidor. Aconselho qualquer pessoa a investigar melhor.

    
por 22.09.2016 / 15:09