我运行代码:https://github.com/prometheus-community/json_exporter 通过更改配置将json数据转换为普罗米修斯指标数据类型错误是:level=error ts=2021-07-05T06:19:52.714Z caller=main.go:58 msg="Error loading config" err="yaml: unmarshal errors:\n line 7: cannot unmarshal !!str `id:\"{.id}\"` into map[string]string"这是我的yaml配置:metrics:- name: running_applications type: object help: Information on running applications path: '{.apps.app[?(@.state=="RUNNING")]}' labels: id:'{.id}' values: memory: '{.allocatedMB}' vcores: '{.allocatedVCores}'以下是 json 的一部分:{"apps":{"app":[{"id":"application_1622098898935_1480","user":"hive","name":"HIVE-b5770b0d-fdd0-4ee4-86f8-1684df70dae9","queue":"default","state":"FINISHED","finalStatus":"SUCCEEDED","progress":100.0,"trackingUI":"History","trackingUrl":"http://tst02.bj2.sdbmcc.com:30999/proxy/application_1622098898935_1480/","diagnostics":"Attempt recovered after RM restartSession timed out, lastDAGCompletionTime=1624665783612 ms, sessionTimeoutInterval=600000 ms\nSession stats:submittedDAGs=1, successfulDAGs=1, failedDAGs=0, killedDAGs=0\n","clusterId":1625045401338,"applicationType":"TEZ","applicationTags":"hive_20210626080103_7098ab3b-ea51-4780-ba5d-aa823335b102,userid=user-app_ebupt","priority":0,"startedTime":1624665666232,"finishedTime":1624666419590,"elapsedTime":753358,"amContainerLogs":"http://tst02.bj2.sdbmcc.com:8042/node/containerlogs/container_e82_1622098898935_1480_01_000001/hive","amHostHttpAddress":"tst02.bj2.sdbmcc.com:8042","masterNodeId":"tst02.bj2.sdbmcc.com:45454","allocatedMB":-1,"allocatedVCores":-1,"reservedMB":-1,"reservedVCores":-1,"runningContainers":-1,"memorySeconds":3752447,"vcoreSeconds}}
1 回答
慕运维8079593
TA贡献1876条经验 获得超5个赞
根据马可的建议,修改 yaml 配置文件如下:
metrics:
- name: running_applications
type: object
help: Information on running applications
path: '{.apps.app[?(@.state=="RUNNING")]}'
labels:
id: '{.id}'
values:
memory: '{.allocatedMB}'
vcores: '{.allocatedVCores}'
- 1 回答
- 0 关注
- 79 浏览
添加回答
举报
0/150
提交
取消