■前提
Linuxサーバのホームディレクトリ上にある「.bash_history」の記載を、別のsyslogサーバに保管することを目的としてます。
その為、下のような設定を行ったのですが、想定通りログ転送が行えておりません。
OSはCent7を使っています
■設定内容
①bash_historyの記載を別ファイルに出力させる
次のようなシェルスクリプトをroot権限で作成しました。
bash
1#!/bin/bash 2history -a 3awk '{print}' ~/.bash_history >> /var/log/hogehoge.log
その後、cronで日時で実行させるように設定しています。
別途、日時でlogrotateを実行し、3世代保持するようにしています。
②rsyslog設定
/etc/rsyslog.conf 内の記載を次のように変更しました
#(前略) cron.* /var/log/cron local0.* /var/log/hogehoge.log #(中略) local0.* @XXX.XXX.XXX.XXX:514 cron.* @XXX.XXX.XXX.XXX:514
■結果
その後rsyslogをrestartさせ、転送先サーバを確認したのですが、
cronのlogは転送できていましたが、local0としたbash_historyのログが転送させていませんでした。
ネットワーク的な疎通はcronのlogが送付できているため問題なく、また各種エラーログ等も吐かれていませんが、なぜか送付に失敗しています。
①での処理がcronで回しているため、ログの即時性がないのが原因、
もしくは、①での出力内容に問題がある(rsyslog転送できる形式ではない)のではないかと考えているのですが…
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。