Se o comportamento do Monit não corresponder ao que está escrito no arquivo de configuração, uma possível causa pode ser que o Monit realmente use um arquivo de configuração diferente.
O script /etc/rc.d/init.d/monit
no pacote monit-5.5-1.el6.rf
inicia monit
sem especificar o nome do arquivo de configuração; portanto, o Monit tenta localizar o arquivo de configuração em vários locais e usa o primeiro encontrado. Outra coisa importante é que o nome do arquivo de configuração padrão neste pacote é diferente daquele usado pela versão upstream não modificada do Monit - upstream usa monitrc
, mas o pacote do RepoForge usa monit.conf
.
A ordem de pesquisa usada para o arquivo de configuração é a seguinte:
-
~/.monitrc
na versão a montante da Monit, ou~/.monit.conf
no pacote Repoforge (o diretório home do usuário que inicioumonit
é usado, se Monit é iniciado a partir do script de inicialização, o usuário éroot
). O diretório pessoal é lido usandogetpwuid(geteuid())
(ou seja, de/etc/passwd
ou qualquer outro banco de dados NSS), não da variável de ambienteHOME
. -
/etc/monitrc
na versão upstream do Monit, ou/etc/monit.conf
no pacote do RepoForge. Se o pacote RepoForge for usado,/etc/monit.conf
inicialmente contém uma linhainclude
não comentada, o que faz com que o Monit leia arquivos de configuração adicionais a partir do diretório/etc/monit.d
:include /etc/monit.d/*
Nas fontes upstream, o exemplo
monitrc
tem essa linha comentada, portanto, nenhum arquivo de configuração adicional é usado por padrão.Note também que o pacote RepoForge tem um script postinstall:
# Moving old style configuration file to conf standard location if [ -f /etc/monitrc ]; then mv -f /etc/monitrc /etc/monit.conf fi
Portanto, se o arquivo
/etc/monitrc
existir antes da instalação do pacote ou atualizar , esse arquivo será renomeado para/etc/monit.conf
, sobrescrevendo-o silenciosamente. -
$SYSCONFDIR/monitrc
na versão a montante da Monit, onde$SYSCONFDIR
é o valor da opção--sysconfdir=...
passados para o scriptconfigure
ao compilar a fonte (o valor padrão desta opção é$prefix/etc
, como de costume com scriptsconfigure
gerados pelo Autoconf, e o prefixo padrão é/usr/local
, portanto, o nome do arquivo de configuração se torna/usr/local/etc/monitrc
). No pacote RepoForge, esse nome de arquivo se torna/etc/monit.conf
, tornando-o redundante. -
/usr/local/etc/monitrc
na versão upstream do Monit ou/usr/local/etc/monit.conf
no pacote do RepoForge. Aqui, o diretório/usr/local/etc
é codificado e não depende de nenhuma opçãoconfigure
. -
./monitrc
na versão a montante da Monit, ou./monit.conf
no pacote Repoforge (quando se inicia a partir do script de inicialização, o diretório atual é provável que seja/
).