在 kuberenetes 集群中,當將 jaeger-tracing 的資料推送到 elasticsearch 時,我在 jaeger-tracing-collector 中收到以下錯誤,我之間沒有任何過濾器,如 logstash/filebeat。jaeger 資料直接推送到 elasticsearch。我對 elasticsearch 和相關的東西很陌生,任何幫助將不勝感激..
提前致謝...
錯誤 :
{
"level": "error",
"ts": 1656982524.1294773,
"caller": "config/config.go:137",
"msg": "Elasticsearch part of bulk request failed",
"map-key": "index",
"response": {
"_index": "jaeger-span-2022-07-05",
"_type": "_doc",
"_id": "9EHay4EBv4T2qdA80Ei7",
"status": 400,
"error": {
"type": "mapper_parsing_exception",
"reason": "failed to parse field [duration] of type [long] in document with id '9EHay4EBv4T2qdA80Ei7'. Preview of field's value: '18446744073709550616'",
"caused_by": {
"reason": "Numeric value (18446744073709550616) out of range of long (-9223372036854775808 - 9223372036854775807)n at [Source: (ByteArrayInputStream); line: 1, column: 199]",
"type": "i_o_exception"
}
}
},
"stacktrace": "github.com/jaegertracing/jaeger/pkg/es/config.(*Configuration).NewClient.func2\\n\\tgithub.com/jaegertracing/jaeger/pkg/es/config/config.go:137\\ngithub.com/olivere/elastic.(*bulkWorker).commit\\n\\tgithub.com/olivere/[email protected] incompatible/bulk_processor.go:588\\ngithub.com/olivere/elastic.(*bulkWorker).work\\ntgithub.com/olivere/[email protected] incompatible/bulk_processor.go:501"
}
Jaeger 版本:1.21.0 Elasticsearch 版本:7.17.5
uj5u.com熱心網友回復:
Tldr;
根據錯誤訊息,您似乎越界了
“原因”:“數值 (18446744073709550616) 超出 long (-9223372036854775808 - 9223372036854775807)n 的范圍 [來源:(ByteArrayInputStream);行:1,列:199]”
解決方案
正如@Val在評論中提到的那樣,擁有您的映射會有所幫助。
首先要存盤18446744073709550616您需要從此串列中選擇的值:
- 漂浮
- 雙倍的
- unsigned_long
然后在創建索引時,設定欄位的型別:
PUT 74388060/
{
"mappings": {
"properties": {
"big_number": {
"type": "float"
}
}
}
}
接著
POST /74388060/_doc/
{
"big_number": "18446744073709550616"
}
你應該走出困境。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/533377.html
上一篇:Elasticsearchnoop更新回應不可反序列化
下一篇:使用ELK監控KongAPI日志
