0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

rsyslogにてログを転送する方法

Posted at

はじめに

こんにちは、山田です。
現在にかかわっている案件で、rsyslogに触れる機会があったため具体的に実装したことをまとめていきます。

構成図

構成図は以下の通りです。
image.png

ログ受信側のrsyslog.conf設定変更

/etc/rsyslog.confの以下のコメントアウトを外しログのTCP転送を受け入れるようにします。

/etc/rsyslog.conf
module(load="imtcp") # needs to be done just once
input(type="imtcp" port="514")

ログ受信側のrsyslog設定ファイル作成

/etc/rsyslog.d配下にtest.confを作成し、その中にログの転送先、転送条件を追記していきます。

/etc/rsyslog.d/test.conf
:msg, regex, "test..log" /var/log/test.log 
& ~
:fromhost-ip, isequal, "10.1.0.46" /var/log/test.log
& stop

基本的な構成以下のようになっています。

:<プロパティ>, <条件文>, "<値>" "<ログの送信先>"

プロパティ:チェックする対象を指定するもので今回はmsg(メッセージ本体),fronthost-ip(送信元IPアドレス)を指定しています
条件文:プロパティと値をどのように比較するのかを指定するもので今回はregex(指定した値を正規表現とし、それにマッチするかどうか),isequal(指定した値と完全に一致する)を指定しています。

ログ送信側のrsyslog.conf設定変更

/etc/rsyslog.confに追記しログを転送できるように設定する。

/etc/rsyslog.conf
*.* @@10.1.0.58:514

記載方法については以下ようになっています。

<ファシリティ>.<ログレベル>  <@ or @@> <ホスト名 or IP> : <ポート番号>

ファシリティ:要するにログメッセージのこと。
@ or @@:1個だとUDP転送、2個だとTCP転送になる。

動作確認

実際にログが転送されているのか確認していきます。

loggerにてログ出力

ログ送信側でloggerコマンドを使用して、転送条件にマッチするログを出力させます。

logger test01log

ログ転送確認

ログ受信側にて、ログが受信されていることを確認します。

/var/log/test.log
Jun 15 05:01:56 ip-10-1-0-46 ec2-user[59482]: test01log

受信が確認できれば完了です!

終わりに

rsyslogの設定方法について記載しました。
自分なりにまとめてみたことで理解が深まった気がしてます。
また、学んだことを記載していければ良いなと思います。
終わり。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?