Graphite: Como disponibilizar dados históricos de sussurros através do aplicativo da web

2

Recentemente, reconfigurei minha configuração de grafite de uma única instância de cache de carbono para várias instâncias de cache de carbono. Como eu precisava preparar isso em um novo host sem derrubar o servidor de grafite antigo durante a configuração, agora tenho um diretório suspenso com as métricas históricas do servidor antigo que preciso disponibilizar por meio do webapp no novo host.

Copiei o dir para o novo host e adicionei uma entrada na webapp local_settings.py: DATA_DIRS = ['/ carbon1 / whisper', '/ carbon2 / sussurro', '/ carbon3 / whisper', '/ carbon4 / whisper', '/ whisper-archive']

whisper-archive é o diretório do qual estou falando. Infelizmente, os dados não estão aparecendo. Estou fazendo algo errado ou existe uma maneira melhor de fazer isso?

executando a instalação da fonte de grafite 0.10.0 no freebsd 10.0-RELEASE-p12

    
por Gregory Patmore 21.11.2014 / 22:37

2 respostas

0

Eu acho que é só olhar nesses lugares e usar os dados do primeiro que encontrar. Se você quiser ter os dados antigos nos mesmos gráficos que o novo, então eu acho que você vai ter que usar o whisper-dump para despejar os dados das antigas e novas métricas e mesclar para combiná-los .

    
por 29.11.2014 / 04:56
0

No final, Steve estava certo.

O problema é que eu tinha a pasta de arquivo primeiro na lista de diretórios de dados. Quando surgiu uma consulta com um intervalo de tempo que fazia a ligação da transição, o webapp recebeu uma resposta da pasta de arquivos e parou de procurar mais.

A correção, no entanto, não foi como Steve explica. Em vez disso, tive que misturar os dados antigos nos novos arquivos. Desde que eu tenho 4 armazenamentos de cache de carbono e uma replicação de 2, isso era mais complicado do que o habitual.

Acabei criando um script bash rápido para mesclar recursivamente os dados em seus equivalentes mais recentes. Aqui está um trecho no caso de poder ajudar alguém:

for l in $(find /whisper-archive -type f -name '*.wsp'); do

  for c in {1..4}; do
    echo -n "carbon$c: Checking whisper file: $l..."; #debug output

    # I made a tmp file with the list of whisper files in each carbon instance
    # for quick searching and handy list for validation 

    grep $l ./carbon$c.files.txt >/dev/null \
         && sudo /usr/local/bin/whisper-merge.py \
                 /whisper-archive/$l /carbon$c/whisper/$l; 

    echo 'done'; # debug output
  done;
done;
    
por 01.12.2014 / 19:26