Tuesday 15 August 2017

Rrdtool graph moving average


Shift os dados para a frente por uma semana 604800 segundos. Se a função especializada RRAs existem para detecção de comportamento aberrante, eles podem ser usados ​​para gerar o gráfico de uma série temporal com bandas de confiança e falhas. Este exemplo gera um gráfico da série de dados em azul LINE2 com a fonte de dados virtual scaledobs, limites de confiança em red scaledupper e fontes de dados virtuais scaledlower e potenciais falhas, ou seja, comportamento aberrante aberrante potencial marcado por linhas amarelas verticais a fonte de dados de falha. Os dados brutos vem de um RRA MÉDIO a melhor resolução do Série temporal observada um ponto de dados consolidado por ponto de dados primário Os valores previstos ou suavizados são armazenados no RPR HWPREDICT Os desvios previstos pensam valores de desvio padrão armazenados no DEVPREDICT RRA Finalmente, o RAD DE FALHAS contém indicadores, com 1 falha potencial. Todos os dados são redimensionados em bits em vez de Octetos multiplicando por 8 Os limites de confiança são calculados por Um deslocamento de 2 desvios tanto acima como abaixo dos valores previstos os CDEFs superior e inferior Linhas verticais indicadas falhas potenciais são graficadas através do elemento gráfico TICK, que converte valores não nulos em um RRA em marcas de carrapatos Aqui um argumento de fração de eixo de 1 0 significa que as marcas passam por todo o eixo y e, portanto, tornam-se linhas verticais no gráfico. A escolha de 2 desvios um fator de escala corresponde ao padrão usado internamente pelo RAS de FALHAS Se o valor interno for alterado, veja rrdtune, Deve ser alterado para ser consistente. O comando rrdtool gráfico é projetado para plotar dados em uma resolução temporal especificada, independentemente da resolução real dos dados no arquivo RRD Isso pode apresentar um problema para as funções de consolidação especializadas que mantêm um one-to - um mapeamento entre pontos de dados primários e pontos de dados consolidados Se um gráfico insiste em visualizar o conteúdo desses RRAs em uma escala temporal mais grosseira, o comando de gráfico tenta fazer Rrdgraphrata descreve DEF, CDEF e VDEF em detalhes rrdgraphrpn descreve a linguagem RPN usada nas instruções xDEF rrdgraphgraph page Descreve todas as funções gráficas e de impressão. Programa por Tobias Oetiker. Esta página de manual por Alex van den Bogaerdt com correções e ou adições por várias pessoas. RRDtool criar tutorial e examples. rrdtool criar cria um banco de dados Não lê sua mente. Antes de você Pode dizer RRDtool o que criar, você deve primeiro determinar o que você precisa e quando você precisa it. This exemplo não é tanto sobre cortar e colar, é para ensinar-lhe como você poderia traduzir a sua idéia em um trabalho setup. Have um close Olhe para os números que você vai dar para RRDtool mais tarde O que esses números representam Como eles mudam. Um exemplo comum é um contador que é mantido por um dispositivo de rede, mostrando dormente Er de octetos bytes dentro ou fora do dispositivo Este contador é iniciado em algum ponto, e continua a aumentar Neste caso, você está interessado na diferença, o delta, entre dois momentos no tempo A diferença é a quantidade de octetos transportados em que Intervalo de tempo. Um exemplo semelhante, mas menos freqüentemente visto exemplo seria o contador em um medidor de eletricidade Este também é um contador cada vez maior Isso resulta na quantidade de kWh usado em um intervalo de tempo No entanto, neste caso, você deve reconhecer que kWh é Apenas uma outra maneira de contar Joules, algo que você realmente quer saber mais tarde no processo. A completamente outro tipo de entrada seria um velocímetro, o dispositivo em um carro que mostra o quão rápido você está se movendo O número que você começa já é uma taxa Mesmo se você obtê-lo em mph ou em km h, é apenas um número de metros por segundo, embora dadas em uma unidade diferente, semelhante a kWh vs Joules. Eventually, RRDtool irá transformar a entrada que obtém em uma taxa e vai normalizar Essas taxas para que o Se em intervalos de tempo bem definidos Não há nada que você possa fazer sobre isso, é como funciona Veja as taxas, normalizando e consolidando para uma explicação mais elaborada do this. There s nenhum problema se você abusar RRDtool para trabalhar com dados que não é Uma taxa, como a temperatura Basta lembrar que RRDtool vai pensar que é uma taxa, e dá-lo a RRDtool como se já é uma taxa Isso significa que o tipo de contador GAUGE. There são muitos exemplos diferentes a pensar Se você tem um exemplo que vai Ser de interesse geral, ou se você está disposto a pagar pelo meu tempo, faça encaminhar para mim e eu vou trabalhar aqui. A entrada é uma taxa, egms, ou deve ser tratada como uma taxa, por exemplo, temperature. The entrada É um número cada vez maior, por exemplo, um contador de octetos em um roteador RRDtool deve calcular a diferença entre a última atualização ea atual, e dividi-lo pela quantidade de tempo decorrido. Isso é semelhante a COUNTER, exceto que a entrada pode diminuir This É útil por exemplo em um medidor de kWh quando você produz E mais energia solar do que você usa Nesse caso, você realmente obter uma taxa negativa. Isto é para ser usado quando o contador é redefinido toda vez que é lido, quando as pessoas começam a contar a partir de zero, e assim por diante A principal diferença entre ABSOLUTE e A diferença principal entre ABSOLUTE e COUNTER é que RRDtool não deve usar o valor de entrada anterior para calcular seu delta. Uma vez que você descobriu como Para processar a entrada, você precisa descobrir como você deseja armazenar as taxas calculadas Há várias coisas para olhar Em primeiro lugar você precisa saber quanto tempo você quer ser capaz de olhar também muito importante é como você quer Para ser capaz de olhar para este. Say você quer ser capaz de olhar para trás um ano, você ainda precisa saber se você quiser ser capaz de ampliar ou se você só quer olhar para o grande imagem Em outras palavras, se agora É 01 de março de 2009, você quer olhar para 2007-03-01 até 2009-03-01 ou você quer Para poder olhar 2007-03-01 meia-noite à meia-noite seguinte. O que você necessita compreender aqui é consolidação Diga que você estará olhando dois anos worth da informação, e que os dados disponíveis estão em uma definição de 300 segundos por Bucket Isso significa que você tem mais de 200.000 baldes Se você estiver indo para exibir isso em uma imagem de 400 pixels de largura, 500 desses baldes precisam se encaixar na coluna de pixels Mantendo esses 200.000 baldes não é apenas um desperdício de espaço Se RRDtool necessidades Para fazer todos esses baldes caber no gráfico, ele precisa fazer o trabalho Dependendo das capacidades de processamento do seu servidor, isso pode significar um atraso na visualização de seus gráficos. Você pode instruir RRDtool para manter dados históricos de forma consolidada, adequado para a exibição Sem o atraso apenas mencionado Isso requer algum planejamento, vou elaborar mais sobre Mas o que se você quiser ser capaz de ampliar Não há problema, você pode dizer RRDtool para manter também os dados em seu tamanho de balde original, por exemplo, aqueles 300 segundos Ou, se Você ch Oose assim, você pode dizer RRDtool para manter os dados somente naquele tamanho original da cubeta É até você Apenas sabe que é difícil mudar sua mente uma vez que você construiu sua base de dados Em muitos casos você terá que começar tudo sobre se você Do. RRDtool usa RRAs RRDtool Arquivos para armazenar dados Cada um desses RRAs é independente dos outros, você pode ter um que armazena dados em uma resolução de 300 segundos e outro que armazena dados em uma resolução de 86400 segundos Se você quiser Pode cada um desses exemplos conter a mesma quantidade de tempo, não há problema É apenas uma questão de quantas linhas você gera em cada RRA. Say você estará gerando imagens onde a área do gráfico interno é de 360 ​​pixels de largura É geralmente melhor se você Setup seu RRD de modo que um de seus RRAs corresponda à definição na tela Você pode fazer este na fase de projeto ajustando o tamanho de cada cubeta, ou você pode planear com cuidado tempos do começo e do fim Se você tem um RRA que armazene dados em um 86400 - segunda resolução, e você exibir 360 da Ys de informações, este é um ajuste agradável Exibir 180 dias e cada dia será 2 colunas de largura, não muito de um problema Exibir 720 dias e RRDtool ainda precisa fazer 2 baldes se encaixam em um pixel. Consider olhando estatísticas de rede, de modo que Você pode saber quantos dados são transportados, o que ajuda você a determinar se é hora de expandir seus contadores de trabalho de capacidade da rede provavelmente vão ser números cada vez maiores até que um contador wrap ocorre de modo que parte é de uso fácil CONTADOR Também, muitas vezes eles vêm Em pares inbound e outbound como visto do dispositivo Você vai consultar o dispositivo aproximadamente a cada 5 minutos, mas você dar-se yourself e seu schedular alguma folga No entanto, há um limite para quanta folga você está preparado para dar Se as atualizações estão mais distantes do que 10 minutos, algo deu errado e você não pode confiar na precisão dos contadores de rede Uma interrupção pode ter ocorrido, resultando em uma reinicialização do dispositivo Você sabe que o dispositivo nunca vai transportar mais de 100Mbps, então qualquer taxa Maior do que isso é o resultado de alguma falha desconhecida em algum lugar desconhecido Você não sabe por que isso aconteceria se em tudo, você apenas nunca quer que ele apareça É apenas como uma rede de segurança. Um dos contadores. Contador é exatamente o mesmo, exceto seu nome Dê o seguinte ao rrdtool create. Say você quer ser capaz de exibir os últimos 2 anos, os últimos 2 meses, as últimas 2 semanas e os últimos 2 dias O banco de dados usa o passo padrão Tamanho de 300 segundos por intervalo. Primeira coisa que eu aviso cada vez último é mencionado Isso significa que não há linhas extras precisam estar presentes para permitir o zoom no passado Por exemplo, não há necessidade de manter os dados em uma resolução de 300 segundos para o Um ano pode ser de 365 dias ou 366 dias Um mês pode ser 28 dias, 29 dias, 30 dias, 31 dias, ele Pode mesmo ser uma hora menos ou uma hora mais, ou 30 minutos menos mais, dependendo de como a economia de hora trabalha f Ou você Similarmente uma semana nem sempre é 7 dias e um dia não é sempre 24 horas Isso é inviável, e para o propósito deste exemplo também é desnecessário Isso significa que eu posso, deve e irá modificar o pedido para mostrar os últimos 720 dias , Os últimos 60 dias, os últimos 14 dias e os últimos 2 dias, todos com base no horário UTC sem horário de verão para considerar. Agora é hora de determinar a largura de cada gráfico Primeira coisa a fazer é olhar para a quantidade de tempo com Um tamanho de etapa de 300 segundos, um dia é igual a 288 passos.720 288 207360 steps. It nem sempre acabam por ser um ajuste tão bom Decida por si mesmo o que você gosta mais olhar mais ou menos tempo do que inicialmente previsto, ou ter diferentes Largura de imagem O que quer que você faça, certifique-se de que os números são números inteiros Não porque RRDtool precisa dele não, mas porque faz a vida mais fácil. Os números 360, 30, 7 e 1 são a quantidade de etapas a preencher ao criar cada RRA The Número 576 é a quantidade de linhas a preencher Isto deixa dois outros parâmetros CF E xff, que eu explico em breve Dê isto a RRDtool. RRA MIN 0 360 576 RRA MIN 0 30 576 RRA MIN 0 7 576 RRA MÉDIA 0 360 576 RRA AVERAGE 0 30 576 RRA MÉDIA 0 7 576 RRA MÉDIA 0 1 576 RRA MAX 0 576MIN, MÉDIA e MAX determinam como o RRDtool deve consolidar múltiplas taxas em um Mais sobre isto em Taxas, normalizando e consolidando se você está interessado Você percebe que eu tenho 3 MIN e MAX RRAs E 4 MÉDIA Isto é porque o mínimo, médio e máximo de apenas uma taxa será sempre o mesmo Eu só preciso de um deles, nem todos os três. XFF, o X-Files Factor, tem o seu nome porque não é científico se você tem Ele definido para qualquer outro número que zero Ele tem a ver com dados desconhecidos e como isso é processado Qual é a média de A única resposta verdadeira é desconhecida Ainda assim, muitas pessoas querem resposta 1 XFF determina quanto dos dados originais pode ser Desconhecido e ainda produzir 1 ou qualquer outra taxa Um valor comum é 0 5 o que significa resultados em 1, mas fazer Para este exemplo, 0 5 seria adequado, mas se você estiver usando os dados para fins de faturamento não seria considerar média Com XFF definido como 0 5, isso seria 100 em média As chances são as incógnitas são o resultado de uma conexão Problema, caso em que seria injusto para faturar o seu cliente para uma taxa de 100 durante esses intervalos desconhecidos Para o planejamento de capacidade, por outro lado, você provavelmente teria visto uma taxa de 100 quando nenhuma interrupção teria ocorrido Então, novamente, você Pode querer saber que houve uma interrupção, mesmo quando olhando para o gráfico mostrando 2 years. rrdtool criar também aceitará uma hora de início Isso só é importante se você tiver dados históricos que você vai importar Se você não fizer isso, apenas Ignorar o parâmetro e RRDtool fará a coisa certa Se você estiver indo para importar dados históricos, defina isso um pouco antes dos dados mais antigos que você vai import. Outros parâmetros são passo tamanho 300 segundos por padrão eo nome do arquivo para criar . O exemplo inteiro é n Ow finished Este é o comando para dar a RRDtool, para este exemplo particular case. rrdtool criar DS ds0 CONTADOR 600 0 12500000 DS ds1 CONTADOR 600 0 12500000 RRA MIN 0 360 576 RRA MIN 0 30 576 RRA MIN 0 7 576 RRA AVERAGE 0 360 576 RRA MÉDIA 0 30 576 RRA MÉDIA 0 7 576 RRA MÉDIA 0 1 576 RRA MAX 0 360 576 RRA MAX 0 30 576 RRA MAX 0 7 576.Eu gosto de escrever meus scripts ligeiramente diferentes Eu uso um shell unix e escrevo meu script Como isso. Isso não faz diferença, quando o shell dispara rrdtool, ele começa a ver o mesmo comando, talvez com mais alguns espaços em branco, eu don t mesmo know. Do você gosta desta informação Diga aos outros Don t you Tell me. This page was Criado por Alex van den Bogaerdt, um consultor de TI independente Se você quiser fornecer feedback ou se você quiser me contratar, por favor see. Creating RRD gráficos em PHP. Posted por Joshua Thijssen em 23 de fevereiro de 2011. Você pode não estar familiarizado com o Prazo, mas se eu mostrar um você provavelmente reconhecê-los instantaneamente Eles são usados ​​para plotar todos Tipo de dados contra o tempo de uma forma muito fácil que é por isso que eles são usados ​​muito em todos os tipos de aplicações Mesmo que muitos consideram RRD como uma biblioteca para criar gráficos, é realmente mais do que um sistema completo para armazenar dados agregados em Uma forma muito eficiente. RRD significa Round Robin Database É um banco de dados para coletar todos os tipos de dados contra o tempo O round robin representa o fato de que apenas uma certa quantidade de pontos de dados podem ser armazenados Quando chegamos ao final do banco de dados, Ele vai envolver de volta para o início novamente Isso significa que os arquivos de banco de dados RRD nunca crescerá em tamanho. Cada RRD funciona com uma taxa de passo, o que nos diz o quão longe os pontos de dados estão localizados uns dos outros Normalmente, este é 300 segundos 5 minutos, Os dados são armazenados em um intervalo de 5 minutos Isso não significa que você só pode adicionar dados a cada 5 minutos, embora você pode adicionar tantos dados para o RRD e em qualquer momento que você gosta O RRD irá combinar esses dados em um ponto de dados Se você tiver um Taxa padrão de 5 minutos S, mas você adiciona alguns dados a cada minuto para o seu RRD, ele irá média destes 5 valores em 1 ponto de dados Como você pode imagem, RRD s não são realmente para armazenar dados reais, mas apenas para usages gráficos e estatísticos. Obtendo a extensão. Before Podemos fazer algo útil com RRD, precisamos instalar a extensão RRD Se você estiver executando no CentOS você está na sorte O repositório RPMForge fornece um pacote php5-rrdtool que você pode instalar com yum install php5-rrdtool Em um sistema Debian ou Ubuntu Não há pacote padrão, mas é muito fácil de construir a partir da fonte. Se você não pode construir a extensão ou você não pode encontrar nada de trabalho, sem medo Você ainda pode usar a versão de linha de comando do RRDTool para tentar todos os exemplos. Nome RRD. A melhor maneira de se familiarizar com RRD é realmente criar um Suponha que você deseja exibir algumas estatísticas de usuários que fizeram logon em nosso aplicativo da web e queremos ver o número de falhas que ocorreram, por exemplo, quando um usuário tem Entrou um wr Ong password Nós queremos ver esses dados em um gráfico diário, um gráfico semanal, um gráfico mensal e talvez um gráfico anual também. Criando nosso arquivo de banco de dados. Como se disse, RRDtool é mais ou menos um banco de dados por isso definimos muito algum tipo de Schema Para fazer isso, podemos usar a função rrdcreate ou o rrdtool criar a versão de linha de comando Existem duas coisas diferentes que precisamos para configurar as fontes de dados e os arquivos round robin As fontes de dados diz o que armazenar enquanto os arquivos round robin Diz-lhe como armazená-lo. Configurar fontes de dados. As fontes de dados descrevem os dados reais que queremos armazenar No nosso caso, queremos armazenar 2 tipos de pontos de dados o número de log-ins bem-sucedidos eo número de log - Ins Chamamos-lhes sucesso e falhou, respectivamente Essas fontes de dados são tipos ABSOLUTOS, o que significa que os dados são redefinidos após cada coleção de pontos Existem outros tipos, dependendo do tipo de dados que você deseja armazenar. Além disso, precisamos especificar um heartbeat This significa que Quando nenhuma fonte de dados é registrada nessa quantidade de tempo, RRD considerará o ponto de dados como desconhecido, que é algo diferente de 0. Os últimos 2 itens que temos de especificar é o limite inferior e superior da fonte de dados Se tivéssemos dados Fonte que é dada em porcentagens, por exemplo, o seu servidor s utilizado espaço em disco em percentagem, poderíamos especificar um limite inferior de 0 e um limite superior de 100 Desde que lidamos com tentativas de log-in, só podemos especificar os limites inferiores Nós Definir o limite superior para U unknown. Setting até o RRA. Now que sabemos WHAT para armazenar, devemos dizer RRD como armazenar os dados Como dito, os dados são armazenados em uma rodada cíclica robin forma, então devemos definir a quantidade de espaço Queremos usar Queremos ter 4 gráficos diferentes diariamente, semanalmente, mensalmente e anualmente Isso no entanto não significa que precisamos ter 4 RRA s RRD pode decidir qual RRA s ele vai usar para gráficos de dados. Cada RRA é definido no seguinte O CF representa a função de consolidação e pode ser MÉDIA, LAST, MIN, MAX Define como os pontos de dados serão agregados AVERAGE medirá os pontos, LAST armazenará o último ponto, MIN armazenará o ponto mais baixo encontrado e MAX o mais alto O xff deve ser definido como 0 5 e as etapas decidem como Muitos pontos são consolidados, linhas é a quantidade de pontos que irá armazenar eventualmente. Decidi criar 3 RRA s um armazena as amostras de 5 minutos por um período de 1 dia 12 pontos por hora 24 horas 288 pontos, uma loja 1 hora amostras 12 pontos por 1 semana 24 7 pontos e um armazena 1 dia 288 pontos amostras para um ano 365 pontos. Off curso, poderíamos ter armazenado cada ponto de 5 minutos por um período de 1 ano, mas teríamos que armazenar 12 24 365 105120 pontos Ao armazenar de forma consolidada, temos uma maneira eficiente de armazenar os dados enquanto ainda mantemos informações suficientes para traçar nossos gráficos. Atualizando seus dados. RDR deve coletar dados em intervalos fixos Devemos ter um sistema separado como Um cronjob que coleta a quantidade de dados e u Pdates o RRD conformemente Se nós don t atualizam no tempo como especificado pelo heartbeat, nós começamos pontos desconhecidos que causa pontos vazios em nossos gráficos mais tarde O trecho seguinte simulará logon sucesso e falhas que variam atrás de 180 dias atrás até now. Now nós Chegou à melhor parte de RRD a representação gráfica dos dados que eu crio 4 gráficos básicos Cada gráfico mostra as tentativas bem sucedidas em verde e em cima eu ve especificado as tentativas falhadas Há muitas maneiras diferentes de gráficos dos dados como linhas, tons diferentes , Etc superfícies e quase todos os aspectos do gráfico é customizable. Our resultado deve ser algo como this. RRDtool é um realmente grande para gerar gráficos de uma maneira simples, mas don t get enganado por ele é aparente simplicidade É capaz de criar muito Gráficos complexos, se necessário Nós apenas raspou o básico que é mais do que suficiente para você começar em seus próprios gráficos Infelizmente, a ligação do PHP RRDTool não são realmente bem mantida, mas uma vez que eles são apenas um shell Em torno da versão da linha de comando, trabalham corretamente bastante para criar gráficos frescos. Mais informação sobre RRD e o RRDTool podem ser encontrados no Web site principal de RRD. Sobre o autor Joshua Thijssen é um engenheiro de software sênior em Enrise e proprietário da companhia privada NoxLogic Sua habilidade de programação inclui, mas não se limita a assembléia, C, C, Java, Perl, Python e PHP e tem experiência em administrar uma ampla gama de sistemas operacionais Uma de suas especialidades é afinar bases de dados MySQL e consultas Seu blog pessoal pode ser Encontrado em.

No comments:

Post a Comment