Estou tentando analisar e reescrever a saída do comando "resolvectl statistics" na esperança de produzir um plugin munin para monitorar o processamento do resolvectl. A saída se parece com isso:
Transactions
Current Transactions: 0
Total Transactions: 65277
Cache
Current Cache Size: 13
Cache Hits: 20422
Cache Misses: 70974
Failure Transactions
Total Timeouts: 32
Total Timeouts (Stale Data Served): 0
Total Failure Responses: 5203
Total Failure Responses (Stale Data Served): 0
DNSSEC Verdicts
Secure: 0
Insecure: 0
Bogus: 0
Indeterminate: 0
Preciso reescrever esta saída para produzir algo parecido com isto:
current-transactions.value 0
total-transactions.value 65277
cache-size.value 13
cache-hits.value 20422
cache-misses.value 70974
total-timeouts.value 32
total-timeouts-stale.value 0
total-failures.value 5203
total-failures-stale.value 0
dnssec-secure.value 0
dnssec-insecure.value 0
dnssec-bogus.value 0
dnssec-indeterminate.value 0
Consegui isolar os valores usando este script awk:
$ sudo resolvectl statistics|awk -F ":" {'print $2'}|awk NF
0
65227
13
20422
70974
32
0
5203
0
0
0
0
0
Como posso alterar a saída do awk para adicionar aos rótulos descritos acima?
Suposições/entendimentos:
Abordagem geral:
:
NF==2
) então ...$1
) para procurar o rótulo associado em nossa matrizPara simular a saída do OP
resolvectl
:Uma
awk
abordagem:Fazendo um test drive:
NOTAS:
cat resolve.out |
porsudo resolvectl statistics |
labels[]
matrizUsando qualquer awk:
Eu usaria
perl
: