Estou tentando configurar o Graphite no meu servidor. Posso iniciar o daemon do Carbon Cache sem problemas sudo /opt/graphite/bin/carbon-cache.py start
, mas estou tendo dificuldades para executá-lo como uma unidade Systemd.
Aqui está o que eu tenho no meu arquivo de serviço graphite.service
:
[Unit]
Description=Carbon for Graphite
[Service]
ExecStart=/opt/graphite/bin/carbon-cache.py start
[Install]
WantedBy=multi-user.target
Mas quando inicio a unidade, recebo o seguinte status:
$ systemctl status graphite.service
* graphite.service - Carbon for Graphite
Loaded: loaded (/etc/systemd/system/graphite.service; enabled)
Active: inactive (dead) since Fri 2014-06-13 18:44:11 UTC; 2s ago
Process: 4525 ExecStart=/opt/graphite/bin/carbon-cache.py start (code=exited, status=0/SUCCESS)
Main PID: 4525 (code=exited, status=0/SUCCESS)
Jun 13 18:44:11 MEADOW systemd[1]: Started Carbon for Graphite.
O Journalctl não fornece mais informações.
Como devo interpretar e depurar unidades com o status "inativo (morto) ... (código = encerrado, status = 0 / SUCESSO)"? Já vi unidades com falha antes, mas esta foi carregada com sucesso e ainda não está em execução, e não sei o que isso significa.
Type=
opção? Vejaman systemd.service
para um tipo apropriado.Type=forking
à[Service]
seção.Respostas:
Pelo comentário de jasonwryan, embora o padrão
Type=simple
funcione para muitos arquivos de serviço do Systemd, ele não funciona quando o scriptExecStart
inicia outro processo e é concluído, como é o caso do carbon-cache.py da grafite. Nesses casos, é necessário especificar explicitamenteType=forking
na[Service]
seção, para que o Systemd saiba examinar o processo gerado, e não o processo inicial.Como explicado em
man systemd.service
:Resposta específica de grafite
Embora o problema acima tenha resolvido meu problema no Systemd, eu rapidamente me deparei com problemas específicos de grafite (com o Twisted) e acabei voltando ao padrão
Type
.Grafite <0.9.12
Nas versões anteriores do Graphite, só é possível evitar a bifurcação usando a
--debug
opção:Grafite> = 0.9.13
Em esta solicitação puxar a
--no-daemon
opção foi incorporada:fonte