GNU/Linux >> Linux の 問題 >  >> Linux

rsyslog アクションについて

アクションは、セレクターによってフィルター処理されたメッセージの処理方法を指定します。以下は、利用可能なアクションの一部です。

rsyslog メッセージをログ ファイルに保存する

rsyslog メッセージをログ ファイルに保存するには、セレクターの後にログ ファイルへの絶対パスを指定します。次の例では、すべての cron メッセージを選択し、アクションによってそれらを /var/log/cron.log に保存します。 ログファイル:

cron.* /var/log/cron.log

既存の tty または /dev/console デバイスを指定して、rsyslog メッセージを標準出力に送信できます。

ネットワーク経由で rsyslog メッセージを送信する

次の構文を使用して、rsyslog メッセージをリモート マシンに転送します:

@[zNUMBER]HOST:[PORT]

– トランスポート プロトコルとして UDP を指定するには、単一のアット サイン (@) を使用します。
– TCP を指定するには、2 つのアット サイン (@@) を使用します。
– オプションの zNUMBER フィールドは、zlib 圧縮のレベルを有効にします。 1 から 9 まで。
– HOST フィールドは、受信ホストを指定します。
– オプションの PORT フィールドは、受信ホストのポート番号を指定します。

たとえば、UDP プロトコルを使用してメッセージを 192.168.10.101 に転送するには:

*.* @192.0.2.101

TCP プロトコルを使用して「host02.example.com」のポート 18 にメッセージを転送するには:

*.* @@host02example.com:18

特定のユーザーへの rsyslog メッセージの送信

rsyslog メッセージを送信するユーザー名を指定します。複数のユーザーを指定するには、ユーザー名をコンマ (,) で区切ります。現在ログオンしているすべてのユーザーにメッセージを送信するには、アスタリスク (*) を使用します。次の例では、すべてのカーネル メッセージをユーザー joe に送信します:

kern.* joe

プログラムの実行

選択した rsyslog メッセージに対してプログラムを実行できます。実行するプログラムを指定するには、先頭にキャレット文字 (^) を付けます。受信したメッセージをフォーマットし、指定された実行可能ファイルに 1 行のパラメーターとして渡すテンプレートを指定します。次の例では、テンプレート knl によってすべてのカーネル メッセージを処理し、それらを knlprog プログラムに渡します。

kern.* ^knl-prog;knl

rsyslog メッセージをデータベースに書き込む

データベース ライター アクションを使用して、選択した rsyslog メッセージをデータベース テーブルに直接書き込むことができます。データベース ライターは次の構文を使用します:

:PLUGIN:DB_HOST,DB_NAME,DB_USER,DB_PASSWORD;[TEMPLATE]

– PLUGIN フィールドは、データベースの書き込みを実行するプラグインを指定します。
– rsyslog は、MySQL および PostgreSQL データベースをサポートします。
– MySQL の統合には、rsyslogmysql が必要です。 ソフトウェア パッケージ。
– PostgreSQL には rsyslog-pgsql が必要です。 パッケージ。 ommysql もロードする必要があります。 MySQL と ompgsql のモジュール PostgreSQL 用のモジュール。

rsyslog メッセージの破棄

チルダ文字 (~) を使用して、選択したメッセージを破棄します。次のルールはニュース メッセージを破棄します:

news.* ~

新しい行に後続のアクションを指定し、アクションの前にアンパサンド文字 (&) を付けることで、セレクターに複数のアクションを指定できます。最初のアクション行でセレクターを指定します。以下は、複数のアクションを持つルールの例です:

kern.* joe
& ^knl-prog;knl
& @192.0.2.101

上記の例では、すべてのカーネル メッセージは次のとおりです。
– ユーザー joe に送信
– テンプレート knl によって処理され、knl-prog 実行可能ファイルに渡されます
– を使用して 192.0.2.101 に転送されますUDP プロトコル

rsyslog フィルタ オプションの理解
rsyslog テンプレートの理解
CentOS / RHEL 6、7 :システム ログ メッセージの詳細度を上げる方法 (rsyslogd)
CentOS / RedHat :ログ ファイル管理の初心者向けガイド


Linux
  1. CentOS/RHEL で rsyslog を使用してリモート ロギングを構成する

  2. rsyslog フィルタ オプションについて

  3. rsyslog テンプレートについて

  1. /var/log/messages ファイルの「Abort command generated nexus」エラー メッセージ

  2. MySQL 権限について

  3. 「レート制限が原因で、imuxsock が pid # から # メッセージを失いました」 – Linux での rsyslog レート制限

  1. Debian9にRsyslogを使用して集中ログサーバーをインストールする

  2. Webminアクションログ

  3. Docker ポート マッピングについて