3 votos

Tener problemas para determinar si se está ejecutando el daemon de Bitcoin monit

Estoy configurando Monit para supervisar el Bitcoin demonio para asegurarse de que funciona 24/7 y se reinicia si algo va mal. El Bitcoin binario es en /usr/local/bin/bitcoind, y el directorio de datos es en /home/bitcoin/.bitcoin.

Me han dicho Monit para supervisar el demonio a través del archivo pid /var/run/bitcoind.pid cada 2 minutos e iniciar / detener el demonio como el usuario bitcoin. Sin embargo, aquí es donde he pasado incontables horas tratando de averiguar lo que está mal.

Porque no tengo un bloqueo de arranque / arranque del script para bitcoind, tengo que pasar directamente los comandos para el binario, que puede ser visto con los siguientes /etc/monit/monitrc archivo:

set daemon 120
set logfile /var/log/monit.log 

check process bitcoind with pidfile "/var/run/bitcoind.pid"
    start program "/usr/local/bin/bitcoind -pid=/var/run/bitcoind.pid -datadir=/home/bitcoin/.bitcoin -daemon"
        as uid bitcoin and gid bitcoin
    stop program "/usr/local/bin/bitcoind stop"
        as uid bitcoin and gid bitcoin
    if failed port 8332 for 2 cycles then restart

Cuando el sistema de startups, yo inicie la sesión como el usuario bitcoin e inician ps -u bitcoin. Efectivamente, el bitcoind aparece como la ejecución de debajo de mi usuario. Sin embargo, cuando me Monit para mostrar el estado a través de la monit status, la respuesta se muestra primero como execution failed, a continuación, not monitored.

He comprobado /var/run/ mientras bitcoind está ejecutando y se encontró que no existe tal archivo denominado como bitcoind.pid, lo que me deja a pensar que el bitcoind no tiene permisos suficientes para crear un pid archivo /var/run mientras se ejecuta como usuario bitcoin.

Para una solución alternativa, dejé el pid archivo creado en la ubicación predeterminada (/home/bitcoin/.bitcoin/bitcoind.pid), pero la root no puede acceder a ella, que también conduce al mismo resultado.

El /var/log/monit.log archivo no proporciona ninguna información útil, por lo que tienen las "envolturas" lo he intentado.

Todo esto puede ser resuelto mediante la ejecución de bitcoind como root, sin embargo estoy preocupado por los problemas de seguridad.

2voto

Ryan Sampson Puntos 2898

Tienes razón en que considerando el bitcoin usuario no tiene permiso para escribir en /var/run , sin embargo root será capaz de leer /home/bitcoin/.bitcoin/bitcoind.pid . Dejo el PID en el último lugar y luego trabajar más en averiguar por qué monit no leer esa segunda ubicación. Mi apuesta sería un error en la ruta de la configuración de monit.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X