rsyslogのコンフィグにて、次の設定を行うと、rsyslogで受け取ったログをシェルへ渡し、シェルで処理することが可能となります。
また、templateパラメータで受け渡すログをある程度整形することも可能です。ここでは、シェルの書き方、テンプレートの書き方は、ここでは記載しません。
rsyslogからのスクリプト起動ユーザは、syslogのため起動するスクリプトには、syslogユーザへの実行権、出力されるファイルも同様になるため権限付与に気を付ける必要があります。
記述例:
module(load=”omprog”)
action(
type=”omprog”
binary=”/usr/local/bin/xxxxxx.sh”
template = “xxxxx”
)
この機能の利用事例として、
syslogを送信する機器から、zabbixサーバへsyslog送信するため、Syslogを転送する機器から、syslogサーバ(rsyslogサービス)でログを受け取り、rsyslogサービスからのスクリプトを起動する。
スクリプトでは、受け取ったログを送信先に合わせて整形し、整形後ログをzabbix_senderコマンドにて、Zabbixサーバへ送信までの処理を実施しています。

(←参考になった場合はハートマークを押して評価お願いします)