Acontece que as permissões em local_settings.py
eram muito restritivas e o Apache não conseguiu lê-lo:
-rw------- 1 root root 4006 May 4 13:40 local_settings.py
Corrigir as permissões para 644 (em vez de 600) resolveu o problema.
Eu tenho a configuração do Graphite em três instâncias no EC2:
relay1.graphite.prod.example.ec2
cache3.graphite.prod.example.ec2
cache4.graphite.prod.example.ec2
O relé está funcionando perfeitamente com hashing consistente. O problema é que os dois servidores da Web não estão se comunicando entre si, portanto, só vejo as métricas de um servidor.
Eu passei muito tempo olhando o link e não consigo descobrir o que eu configurei incorretamente. Eu posso executar um wget do cache3 no cache4, recuperar dados e ver nos logs do Apache. Então eu não acho que seja um problema de firewall. Eu tentei ativar suppressError = False
em remote_storage.py e ativei DEBUG em local_settings.py, mas não vejo nenhum erro no Firebug.
cache3 - local_settings.py
CLUSTER_SERVERS = [ 'cache4.graphite.prod.example.ec2', 'localhost' ]
cache4 - local_settings.py
CLUSTER_SERVERS = [ 'cache3.graphite.prod.example.ec2', 'localhost' ]
Eu tentei usar endereços IP também e isso não teve impacto.
Eu fiz um pouco mais de depuração e modifiquei storage.py
para codificar diretamente meus hosts remotos:
STORE = Store(settings.DATA_DIRS, remote_hosts=["cache4.graphite.prod.example.ec2", "127.0.0.1"])
Isso funcionou. Então, de alguma forma, meu valor CLUSTER_SERVERS
não está sendo extraído de local_settings.py corretamente.
Alguma sugestão?
Tags monitoring cluster graphite metrics