*rsyslog [#g5e6da80]

RIGHT:更新日&lastmod();

rsyslogでsyslogデータを転送

***syslog Server [#k588e95f]

IP 192.168.10.227

''/etc/rsyslog.conf''


 # Provides UDP syslog reception
 $ModLoad imudp   ←コメントを外す(UDPで受信)
 $UDPServerRun 514  ←コメントを外す
 
 # Provides TCP syslog reception
 $ModLoad imtcp           ←コメントを外す(TCPで受信)
 $InputTCPServerRun 514   ←コメントを外す
 
 # 許可送信サーバを指定
 $AllowedSender TCP, 127.0.0.1, *.example.jp, 192.168.10.0/24  
 $AllowedSender UDP, 127.0.0.1, *.example.jp, 192.168.10.0/24
 (必ずTCPとUDPを分ける)

ログの保存場所を指定

ファシリティ(local1,local2など)により保存場所を指定

''/etc/rsyslog.d/test.conf''作成

 # Save log from remote server
 local1.*        /var/log/local1.log
 local2.*        /var/log/local2.log
 authpriv.*      /var/log/vine6x_secure.log

rsyslogを再起動

 # /etc/rc.d/init.d/rsyslog restart

***クライアントでログファイルを分ける [#f558a43c]


''/etc/rsyslog.d/test.conf''

 # Save log from remote server
 
 $template local2-204,"/var/log/local2_204_%fromhost%_%$year%%$month%%$day%.log"
 $template local2-227,"/var/log/local2_227_%fromhost%_%$year%%$month%%$day%.log"
 $template local2-log,"/var/log/local2__%fromhost%_%$year%%$month%%$day%.log"
 
 local1.*        /var/log/local1.log
 
 # local2.*      -?local2-log        ← (1)
 
 :fromhost-ip, isequal, "192.168.10.204"    -?local2-204
 & ~
 :fromhost-ip, isequal, "192.168.10.227"    -?local2-227
 & ~
 # local2.*,       /var/log/local2_204.log
 authpriv.*      /var/log/vine6x_secure.log


$templateでlogfileのパスを指定

-%fromhost% :送信元IPを逆引きして得られたホスト名。逆引きできなけれ ばIPアドレス
-%fromhost_ip% :ログを出力したホストのIPアドレス。ローカルの場合は 127.0.0.1
-%$year% :西暦年
-%$month% :西暦月を表します。1〜9月でも2桁
-%$day% :西暦日を表します。1〜9日でも2桁 

-fromhost-ip, isequal, "(IPアドレス)"  → IPアドレスに等しいとき 実行
-& ~ → 直前の条件を以降は破棄する

この例はIPごとにファイル名を変えてかつそのファイル名にもIPが入るので(1)のように1行で行えば、ファイル名にIPは入るが、ファイルはホストごとになる

***ログのローテーション [#kb5eb3e9]

''/etc/logrotate.d/horizon

 /var/log/message_horizon {
     sharedscripts
     postrotate
         /bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
     endscript
 }

''確認''

以下でエラーがないことを確認

 # logrotate -dv /etc/logrotate.d/horizon
 reading config file /etc/logrotate.d/horizon
 
 Handling 1 logs
 
 rotating pattern: /var/log/message_horizon  1048576 bytes (no old logs will be kept)
 empty log files are rotated, old logs are removed
 considering log /var/log/message_horizon
   log does not need rotating
 not running postrotate script, since no logs were rotated

***logrotate確認 [#d64e7f2e]

logrotateを実行

 # /usr/sbin/logrotate /etc/logrotate.conf

結果を確認
 # cat /var/lib/logrotate.status
 logrotate state -- version 2
 "/var/log/named.log" 2015-6-16
 "/var/log/snmpd.log" 2015-6-16
 "/var/log/rpmpkgs" 2015-6-28
 "/var/log/message_horizon" 2015-7-4  <=確認
 "/var/log/cups/error_log" 2015-7-4
 "/var/log/boot.log" 2015-6-28
 "/var/log/wtmp" 2015-6-16
 "/var/log/spooler" 2015-6-28
 "/var/log/btmp" 2015-7-1
 "/var/log/xferlog" 2015-6-16
 "/var/log/maillog" 2015-6-28
 "/var/log/cups/*_log" 2015-6-16
 "/var/log/wpa_supplicant.log" 2015-6-16
 "/var/log/secure" 2015-6-28
 "/var/log/apache2/*log" 2015-6-16
 "/var/log/messages" 2015-6-28
 "/var/log/cron" 2015-6-28

-日付を1週間戻してファイルができるか確認

''/var/lib/logrotate.status''を変更
 "/var/log/message_horizon" 2015-6-27

''実行''
 # /usr/sbin/logrotate /etc/logrotate.conf

-/var/log/message_horizon-20150704が作成されたことを確認

***無線LANアダプターrsyslog [#v9598bd6]

-無線LANアダプターIP:192.168.10.243
-保存フォルダ:/var/log/network

wsr-300hp.ism21.net_20160130.logのように毎日ファイルができる

ファシリティの指定はなくてもよいみたい→すべて送信する(アダプターで指定)

''/etc/rsyslog.d/wsr-300hp.conf''

 # Save log from remote server
 # WLAN (WSR-300HP)
 
 $template local-wsr300hp,"/var/log/network/%fromhost%_%$year%%$month%%$day%.log"
 
 :fromhost-ip, isequal, "192.168.10.243"    -?local-wsr300hp
 & ~



***syslog Client [#u5236347]

IP 192.168.10.204

ログ転送先のIPとプロトコルを指定

''/etc/rsyslog.d/test.conf''作成

 # Send log to remote server
 local1.*        @192.168.10.227  # UDP で送信する
 local2.*        @@192.168.10.227 # TCP で送信する
 # Login情報を送信(ファシリティ:authpriv プライオリティ:*)
 authpriv.*      @@192.168.10.227

@の数でTCP/UDPを決める

rsyslogを再起動

 # /etc/rc.d/init.d/rsyslog restart


''動作確認''

Clientで手動ログ作成

UDPでログ作成

ファシリティ:local1 プライオリティ:debugで「TEST MESSAGE BY UDP」というlogを作成

 # logger -p local1.debug TEST MESSAGE BY UDP

TCPでログ作成
 # logger -p local2.debug TEST MESSAGE BY TCP


Serverで

 # less /var/log/local1.log
 Feb 19 20:06:15 localhost okada: TEST MESSAGE BY UDP

 # less /var/log/local2.log
 Feb 19 20:06:24 localhost okada: TEST MESSAGE BY TCP

ClientにTeratermでloginすると

 # less /var/log/vine6x_secure.log
 Feb 19 20:13:54 localhost sshd[21024]: pam_winbind(sshd:account): valid_user: wbcGetpwnam gave WBC_ERR_DOMAIN_NOT_FOUND
 Feb 19 20:13:54 localhost sshd[21024]: Accepted password for okada from 192.168.10.47 port 51344 ssh2
 Feb 19 20:13:54 localhost sshd[21024]: pam_unix(sshd:session): session opened for user okada by (uid=0)
 Feb 19 20:14:38 localhost sshd[21048]: Received disconnect from 192.168.10.47: 2: disconnected by server request
 Feb 19 20:14:38 localhost sshd[21024]: pam_unix(sshd:session): session closed for user okada


''tcpdump''でも確認

 #  tcpdump -nnn -i any port 514
 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
 listening on any, link-type LINUX_SLL (Linux cooked), capture size 65535 bytes
 07:47:13.912620 IP 192.168.10.204.44777 > 192.168.10.205.514: Flags [P.], seq \
 1892027751:1892027813, ack 2952925955, win 115, options [nop,nop,TS val  
 820873399 ecr 600031034], length 62
 07:47:13.912681 IP 192.168.10.205.514 > 192.168.10.204.44777: Flags [.], ack \
 62, win 114, options [nop,nop,TS val 600191526 ecr 820873399], length 0
 ^C
 2 packets captured
 2 packets received by filter
 0 packets dropped by kernel


***Facility/PRIORITY [#z9567515]

''Facility''
|コード |Facility |意味|
|0 |kern |カーネルメッセージ |
|1 |user |ユーザーレベルメッセージ |
|2 |mail |メール |
|3 |daemon |デーモン |
|4 |auth |セキュリティ認証 |
|5 |syslog |syslogサーバメッセージ |
|6 |lpr |ランプリター |
|7 |news |ネットニューズ |
|8 |uucp |UUCP |
|9 |cron |クーロンまどクロックデーモン |
|10 |authpriv |セキュリティ認証(プライベート) |
|11 |ftp |FTP |
|16~23 |local0~7 |ローカルの予約(任意の用途で利用可能) |
''PRIORITY''
|コード |PRIORITY |意味|
|0 |emerg |致命的 |
|1 |alert |警戒 |
|2 |crit |危機的 |
|3 |err |エラー |
|4 |warning |警告 |
|5 |notice |通知 |
|6 |info |情報提供 |
|7 |debug |デバック |

**CentOS7のファイアウォール [#q7bae2af]

以下のコマンドで停止

 # systemctl stop firewalld

またはport514解放

 # firewall-cmd --zone=public --add-port=514/udp --permanent
 success
 # firewall-cmd --zone=public --add-port=514/tcp --permanent
 success
 # firewall-cmd --reload
 success


-http://www.unix-power.net/centos7/firewalld.html

**参考 [#v2e0c3ce]

-http://nagamee.hatenadiary.jp/entry/2014/09/28/141719
-[[ファシリティ/プライオリティ:http://www.atmarkit.co.jp/ait/articles/0209/07/news002_2.html]]

-http://www.unix-power.net/linux/rsyslog.html
-http://www.geocities.jp/yasasikukaitou/rsyslog-filter.html


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS