У меня есть небольшой скрипт bash, который просматривает временные характеристики корпуса на сервере Dell. Скрипт будет работать на 50 серверах с Icinga2 и сообщать о результатах в Granfana через Influxdb. Мне нужно получить временные значения из следующего вывода:
Temperature Probes Information
--
Probe Name : System Board Inlet Temp
Reading : 21.0 C
--
Probe Name : CPU1 Temp
Reading : 39.0 C
Я думал об использовании awk для простой печати значений (вывод переменной без кавычек, awk '{print $ 14}' даст мне 21.0 в качестве примера.
Проблема в том, что у меня есть несколько серверов с 2 CPUS, и позиция awk будет отличаться
Код, который я до сих пор собираю для вывода вышеприведенного вывода:
HOST=$1
dell_probes=$(ssh someUser@${HOST} "/opt/dell/srvadmin/sbin/omreport chassis temps | grep Probe -A1")
echo "$dell_probes"
Я еще не пробовал каких-либо решений sed / awk, просто не уверен, каким будет самый элегантный подход к этому.
Я бы хотел, чтобы вывод выглядел следующим образом, чтобы я мог использовать его с influenxdb:
echo "$mb_temp"
21.0
echo "$cpu1_temp"
39.0
echo "$anyother_cpu_listed"
39.1