반응형

Log Server

# vi /etc/rsyslog.conf

#$ModLoad imtcp

#$InputTCPServerRun 514

$ModLoad imtcp

$InputTCPServerRun 514

$AllowedSender TCP, 127.0.0.1, 10.3.1.0/24, 10.5.1.0/24


local1.* /var/log/cmd.log


# service rsyslog restart



CLIENT

# vi /etc/profile.d/cmd_logging.sh

function logging

{

        stat="$?"

        cmd=$(history|tail -1|cut -d ' ' -f 5-)

        if [ "$cmd" != "$cmd_old" ]; then

                logger -p local1.notice "[NL2,2] STAT=$stat USER=$USER"

                logger -p local1.notice "[NL2,1] PID=$$, PWD=$PWD, CMD=$cmd"

        fi

        cmd_old=$cmd

}

trap logging DEBUG

※ logger : 지정한 메시지를 facility(local1.notice) syslog로 메시지를 보낸다.
※ trap : bash 내부명령어이며 특정 시그널이 발생할 때 지정한 명령어가 실행
          // DEBUG 형태 : 명령이 실행될 때 마다 logging function을 호출


# chmod 755 /etc/profile.d/cmd_logging.sh


# vi /etc/rsyslog.conf

local1.*  @@10.3.1.201:514


# service rsyslog restart



반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기