Usar tail -f test.txt | awk '/Beam/{print $3}' funciona para mim. Além de usar tail -f test.txt | grep --line-buffered Beam | awk '{print $3}' (gnu grep).
O problema aqui é se awk recebeu os dados linha por linha ou como um bloco de dados maior. A versão GNU do grep envia a saída em blocos maiores, já que é mais eficiente, mas awk precisa ler linha por linha para poder sair linha por linha.
Coloque desta forma: grep só enviará dados quando o buffer estiver cheio, o awk está esperando que o buffer seja preenchido, então está enviando nada.