queremos desenvolver um script bash simples que notifique sobre status incorreto no adaptador de rede
primeiro o comando follwing imprime o status básico:
ethtool -S eno1543398 | grep err
pkts tx err: 0
hdr err: 0
pkts tx err: 0
hdr err: 0
pkts tx err: 0
hdr err: 0
pkts tx err: 0
hdr err: 0
pkts tx err: 0
hdr err: 0
pkts tx err: 0
hdr err: 0
pkts tx err: 0
hdr err: 0
pkts tx err: 0
hdr err: 0
pkts rx err: 0
err: 0
pkts rx err: 0
err: 0
pkts rx err: 0
err: 0
pkts rx err: 0
err: 0
pkts rx err: 0
err: 0
pkts rx err: 0
err: 0
pkts rx err: 0
err: 0
pkts rx err: 0
err: 0
para identificar se há problema ou não, podemos usar essa sintaxe
ethtool -S eno1543398 | egrep "err|fail" | awk '{print $NF}' | sort | uniq | wc -l
se conseguirmos 1 então a rede neste adaptador está ok
se tivermos diff de "1", significa que temos problemas
minha suposição está na direção certa?
exemplo de problemas no adaptador de rede
ethtool -S eno1543398 | grep err
pkts tx err: 0
hdr err: 0
pkts tx err: 0
hdr err: 0
pkts tx err: 0
hdr err: 0
pkts tx err: 0
hdr err: 0
pkts tx err: 13
hdr err: 0
pkts tx err: 0
hdr err: 0
pkts tx err: 0
hdr err: 87
pkts tx err: 0
hdr err: 0
pkts rx err: 0
err: 0
pkts rx err: 0
err: 0
pkts rx err: 0
err: 0
pkts rx err: 0
err: 0
pkts rx err: 0
err: 0
pkts rx err: 0
err: 0
pkts rx err: 0
err: 0
pkts rx err: 0
err: 0
depois nós pegamos
ethtool -S eno1543398 | egrep "err|fail" | awk '{print $NF}' | sort | uniq | wc -l
neste caso, obteremos o número 3