Вот рецепт высокого уровня.
man rsyslog.conf
Именованные каналы Эта версия rsyslogd(8) поддерживает вывод логов в именованные каналы (fifos). Fifo или именованный канал можно использовать в качестве дескриптора. для сообщений журнала путем добавления символа вертикальной черты ('|') перед имя файла. Это удобно для отладки. Обратите внимание, что fifo должен быть создан с помощью команды mkfifo(1) до запуска rsys‐ logd(8) запущен.
В моем /etc/rsyslog.d/50-default.conf есть пример.
daemon.*;mail.*;\
news.err;\
*.=debug;*.=info;\
*.=notice;*.=warn |/tmp/rt_monitor
Создайте именованный канал и используйте tail и grep для чтения и поиска в канале.
mkfifo /tmp/rt_monitor; хвост -f /tmp/rt_monitor | grep "alert string"
Вы должны проверить, что система продолжает работу, если именованный канал переполняется, если у вас не запущен потребитель, и предотвратить это, я дал вам очень плохой рецепт.