Spring Оператор загрузки предоставляет несколько конечных точек для монитора приложения как:
/metrics
/beans
/health
...
Проверка конечных точек с помощью:
curl http://localhost:8080/metrics
приводит к:
{"counter.status.200.env":1,"counter.status.200.health":1,"counter.status.200.info":2,"counter.status.200.metrics":2,"gauge.response.env":5.0,"gauge.response.health":22.0,"gauge.response.info":1.0,"gauge.response.metrics":1.0,"mem":1030144,"mem.free":56118,"processors":8,"uptime":5108095,"instance.uptime":5102906,"heap.committed":1030144,"heap.init":262144,"heap.used":974031,"heap":3728384,"threads.peak":81,"threads.daemon":21,"threads":77,"classes":8854,"classes.loaded":8860,"classes.unloaded":6,"gc.ps_scavenge.count":119,"gc.ps_scavenge.time":7223,"gc.ps_marksweep.count":12,"gc.ps_marksweep.time":17573}
Это штраф для потребления компьютера, но трудно читается людьми.
Я хотел бы форматировать (т.е. довольно печатать) вывод JSON конечных точек Spring Boot Actuator, чтобы упростить их для чтения операциями personel.
Что-то вроде:
{
"counter.status.200.env":1,
"counter.status.200.health":1,
"counter.status.200.info":2,
"counter.status.200.metrics":2,
"gauge.response.env":5.0,
"gauge.response.health":22.0,
"gauge.response.info":1.0,
...
}
Я пробовал настройку
http.mappers.json-pretty-print=true
но этот параметр не повлиял на выход Actuator.
Есть ли конфигурация до разрешить печать выходного файла Spring JUON?
UPDATE:
Официальный образец работает для меня.
Важно следить за комментариями @DaveSyer: свойство для установки -
http.mappers.jsonPrettyPrint=true
Следствие продолжается.
Тем временем я использую json pretty print командной строки как обходной путь:
Установите jsonpp (например, для OS X):
brew install jsonpp
Затем подключите вывод curl через jsonpp, который форматирует json файл на лету:
curl http://localhost:8080/metrics | jsonpp
Результаты в:
{
"counter.status.200.env": 1,
"counter.status.200.health": 1,
"counter.status.200.info": 2,
"counter.status.200.metrics": 2,
...
}