Monit e Varnish

1

Estou usando a seguinte configuração para monit

set daemon  30

check process varnish with pidfile /var/run/varnishd.pid
  if failed host www.hatchedbyyolk.com port 80 protocol http
  and request "/monit-check-url"
  then exec "/root/scripts/varnish_restart.sh"

set httpd port 2812 and
use address localhost                            
allow localhost

monit começa bem, mas monit status mostra o seguinte

Process 'varnish'
  status                            Does not exist
  monitoring status                 monitored
  data collected                    Sun Oct 13 00:37:03 2013

Por alguma razão desconhecida, os comandos start e stop não têm efeito no verniz, então eu uso este script que está em /root/scripts/varnish_restart.sh

#! /bin/sh
killall varnishd
varnishd -f /etc/varnish/default.vcl -s malloc,1G -a 0.0.0.0:80

Escusado será dizer que algo está errado e o Varnish não se reinicia.

O que significa "Não existe" neste contexto para o status?

Eu perdi alguma coisa?

EDITAR

Acabei de verificar também que o PID no arquivo /var/run/varnish.pid não corresponde a nenhum PID que eu possa ver em top

    
por Jake N 13.10.2013 / 02:39

1 resposta

2

O arquivo PID não corresponderá ao processo em execução, já que você não está usando o script de inicialização - ele não está sendo gravado no início do serviço.

Para o arquivo PID ser atualizado, você deve adicionar -P /var/run/varnish.pid à sua linha de comando varnishd - ou melhor, descobrir por que o script init não está funcionando e corrigi-lo.

    
por 13.10.2013 / 08:13

Tags