Artigo Diretório
-
-
- Apenas tipos numéricos são permitidos para valores métricos
- O valor métrico só pode aceitar até 16 dígitos. Após 16 dígitos, o número torna-se 0
- Persistência de dados Pushgateway
- Explicação do site oficial da Prometheus
- excedeu a resolução máxima de 11.000 pontos por série temporal. Tente diminuir a resolução da consulta
- A reinicialização do docker-compose não terá efeito no docker-compose.yml recém-alterado
- Abrir atualização quente
- Blackbox_exporter mostra um erro: Tempo limite de leitura do soquete
- Pushgateway Delete Group 报错 : A exclusão do grupo de métricas falhou: Bad Request
- PushGateway push e configuração de tempo de pull Prometheus
-
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.file
e -persistence.interval
parametrizar 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.