[Prometheus e Pushgateway] Enviar dados para o poço

Apenas tipos numéricos são permitidos para valores métricos

报错 erro de análise de formato de texto na linha 1: flutuação esperada como valor, obtido “1.1.1.1”

Razão:
Para desenhar melhor, apenas os valores dos indicadores numéricos podem ser retornados

$ echo ipaddr 1.1.1.1 curl --data-binary @- -g http://ip:9090/metrics/job/pushgateway/instance/test

ipaddr 值为 1.1.1.1 是会报错
text format parsing error in line 1: expected float as value, got "1.1.1.1"

解决方法:
将1.1.1.1 转为数字

function checkIP()
{
    ip=$1
    if [ $ip != "${1#*[0-9].[0-9]}" ]; then
        # IPv4
        a=`echo $ip | awk -F'.' '{print $1}'`
        b=`echo $ip | awk -F'.' '{print $2}'`
        c=`echo $ip | awk -F'.' '{print $3}'`
        d=`echo $ip | awk -F'.' '{print $4}'`
    
        echo "$(((a<<24)+(b<<16)+(c<<8)+d))"
    elif [ "$ip" != "${1#*:[0-9a-fA-F]}" ]; then
        # IPv6
        echo $ip
    else
        echo 0
    fi
}

Link de referência: https://github.com/prometheus/prometheus/issues/2227

O valor métrico só pode aceitar até 16 dígitos. Após 16 dígitos, o número torna-se 0

“FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF”:340282366920938463463374607431768211455

$ echo ipaddr 340282366920938463463374607431768211455 \ 
curl --data-binary @- -g http://ip:9090/metrics/job/pushgateway/instance/test

实际结果:
ipaddr{instance="test"}  340282366920938500000000000000000000000

Persistência de dados Pushgateway

A fim de evitar a reinicialização do pushgateway ou acidente travado, perda de dados, podemos -persistence.filee -persistence.intervalparametrizar a persistência dos dados para baixo.


Explicação do site oficial da Prometheus

Rótulos de métrica e nomenclatura de rótulos

Nome da métrica e modelo de dados de rótulo

excedeu a resolução máxima de 11.000 pontos por série temporal. Tente diminuir a resolução da consulta

Ao realizar esta operação:
GET http: // xxx / prometheus / api / v1 / query_range? Query = bps {mac = ~ 'xx: xx: xx: xx: xx: xx'} & start = 2019-09-19T09: 29 : 26Z & end = 2019-09-20T09: 29: 26Z & step = 15s e tempo limite = 60s

Motivo: o Prometheus define um limite rígido de 11k pontos de dados para cada consulta.
Link de referência:
https://github.com/prometheus/prometheus/issues/1968
https://github.com/prometheus/prometheus/issues/2253

A reinicialização do docker-compose não terá efeito no docker-compose.yml recém-alterado

必须 docker-compose down

然后 docker-compose up 

Abrir atualização quente

A partir do 2.0, a função hot reload está desativada por padrão.
Se você precisar ativá-la, será necessário adicionar o parâmetro --web.enable-lifecycle ao iniciar o Prometheus

热更新加载方法有两种:
kill -HUP pid
curl -X POST http://IP/-/reload  【推荐】

Blackbox_exporter mostra um erro: Tempo limite de leitura do soquete

解决方法:
重启 blackbox 容器

Pushgateway Delete Group 报错 : A exclusão do grupo de métricas falhou: Bad Request

如果 key="", 会报错Deleting metric group failed: Bad Request
解决:
对每个KEY 设置默认值,保证每一个 key 都有值

PushGateway push e configuração de tempo de pull Prometheus

Cada vez que o Prometheus extrai dados do PushGateway, não são todos os dados enviados pelo usuário durante o ciclo de pull, mas sim os dados enviados ao PushGateway da última vez,
portanto, é recomendável definir o tempo de push menor ou igual ao tempo puxado pela Prometheus para garantir que os dados extraídos cada vez sejam o push mais recente.

Acho que você gosta

Origin blog.csdn.net/qq_22227087/article/details/100698791
Recomendado
Clasificación