Как решить эту ошибку в ошибке разбора формата Prometheus Ktext в строке 1: ожидаемое значение с плавающей запятой в качестве значения, полученное «41584 \ r» - PullRequest
0 голосов
/ 09 мая 2019

когда я передаю параметры от sh на мой сервер, prometheus показывает ошибку, данные, которые я получаю от json

my sh

#!/bin/bash
REPORT=C:/gauge2/gauge/reports/json-report
FILE=$REPORT/result.json     

# Validate & push the metrics
if [ -f $FILE ]; then
   echo "File $FILE exists."
   cat $REPORT/result.json | \
    # Extract a nice json from last report
    jq -r '.projectName as $project |.environment as $env | .specResults[] |"ngt_lambda_qa {env=\"\($env)\", spec=\"\(.specHeading|gsub("\"";"\\\""))\", result=\"\(.executionStatus)\"} \(.executionTime)"' | \

    # Send to the metric server
    curl -v --data-binary @- localhost:9091/metrics/job/prometheus
    name=`uname -n`
    timestamp=`date +%s`
    result=`jq -r '.executionStatus' $REPORT/result.json`
    echo "prometrics_exec{name=\"$name\", result=\"$result\"} $timestamp" | curl --data-binary @- localhost:9091/metrics/prueba
else
   echo "File $FILE does not exist."
fi
sleep 90

1 Ответ

0 голосов
/ 14 мая 2019

Ваши данные выглядят так, как будто в конце строки есть символ возврата каретки ('/ r'). jq ожидает значение с плавающей запятой, которым не является проанализированное значение, поскольку к нему добавлен этот символ.

Разница между \ n и \ r?

...