Tenho certeza que entendo o que está acontecendo aqui agora.
Como eu suspeitava, isso tem a ver com a taxa de amostragem da métrica e com a taxa de amostragem esperada pelo banco de dados do Whisper.
A chave é o arquivo storage-schemas.conf que especifica a taxa de amostragem a ser armazenada.
Configurei o grafite usando o módulo de fantoches echocat / graphite. Isso configura uma frequência padrão de 1s para os primeiros 30 minutos, 1m para o primeiro 1d e 5m para 2 anos.
A métrica de carga média que eu estava tentando fazer um gráfico tinha um período de amostragem de 1m ou 60s. Assim, o banco de dados sussurro armazenaria 59 nulos e um valor a cada minuto. Ao solicitar mais de 30 minutos, a grafite descartou os dados reais.
Duas coisas precisam acontecer:
Primeiro, altere a taxa de amostragem inicial em storage-schemas.conf (usando puppet) para que as bandejas de armazenamento correspondam à frequência de amostragem.
Em segundo lugar, os arquivos de banco de dados existentes do Whisper devem ser descartados ou redimensionados.
O Whisper tem um utilitário (whisper-resize.py), mas no meu caso eu não tinha dados valiosos para manter. Limpei os arquivos do Whisper DB afetados e os deixei recriar.