리눅스 로그 리포팅

#!/bin/bash
# lrpt_w.sh
echo '#--------------------------------------------#'
echo ' w : 현시점 서버 접속자' 
echo '#--------------------------------------------#'
w

# lrpt_lastlog.sh
echo '#--------------------------------------------#'
echo ' lastlog : 사용자별 최종 로그인 날짜(7일간)' 
echo '#--------------------------------------------#'
lastlog -t 7

# lrpt_last.sh
echo '#--------------------------------------------#'
echo ' last : 로그인 성공 리포트(최근 1000개 기준)'
echo '#--------------------------------------------#'
last -n 1000|grep -v "tmp begins"|grep -v -e '^$'|awk '{print $1 " " $3}'|sort|uniq -c|sort -rn
echo '#--------------------------------------------#'
echo ' lastb : 로그인 실패 리포트(최근 1000개 기준)'
echo '#--------------------------------------------#'
lastb -n 1000|grep -v "tmp begins"|grep -v -e '^$'|awk '{print $1 " " $3}'|sort|uniq -c|sort -rn

# lrpt_secure.sh
echo '#--------------------------------------------#'
echo ' secure : 접속 기록 분석(7일간)'
echo '#--------------------------------------------#'
find /var/log -name "secure*"   -mtime -7 -exec awk -F: '{ print $NF}' {} \;|sed 's/port [0-9]*/port *****/g'|sort|uniq -c|sort -rn

# lrpt_messages.sh
echo '#--------------------------------------------#'
echo ' messages : 메세지 분석(7일간)(rsyncd 제외)'
echo '#--------------------------------------------#'
find /var/log -name "messages*" -mtime -7 -exec grep -v "rsyncd\[" {} \;|sed 's/^................[^ ]* //g'|sed 's/\[[0-9]*\]/[****]/g'|sed 's/\pid=[^ ]*/pid=****/g'|sed 's/\duration=[^ ]*(/duration=**(/g'|sort|uniq -c|sort -rn

# lrpt_secure.sh
echo '#--------------------------------------------#'
echo ' cron : 크론 동작 분석(7일간)'
echo '#--------------------------------------------#'
find /var/log -name "cron*"   -mtime -7 -exec sed 's/^................[^ ]* //g' {} \;|sed 's/\[[0-9]*\]/[****]/g'|sed 's/in [^ ]* min/in ** min/g'|sort|uniq -c|sort -rn






#!/bin/bash

# lrpt_httpd.sh
echo '#--------------------------------------------#'
echo ' httpd : 아파치 프로세서 수(현재)'
echo '#--------------------------------------------#'
ps -ef|grep -v 'grep'|grep httpd -c

echo '#--------------------------------------------#'
echo ' httpd : 아파치 웹 서비스 목록(현재)'
echo '#--------------------------------------------#'
/usr/sbin/httpd -S

echo '#--------------------------------------------#'
echo ' httpd : PHP 에러 통계(7일간)'
echo '#--------------------------------------------#'
find /var/log/httpd -name "*error*" -mtime -7 -exec grep -c ' PHP Fatal' {} \;|awk '{sum += $1} END { print "PHP Fatal: " sum }' &&
find /var/log/httpd -name "*error*" -mtime -7 -exec grep -c ' PHP Warning' {} \;|awk '{sum += $1} END { print "PHP Warning: " sum }' &&
find /var/log/httpd -name "*error*" -mtime -7 -exec grep -c ' PHP Notice' {} \;|awk '{sum += $1} END { print "PHP Notice: " sum }'


echo '#--------------------------------------------#'
echo ' httpd : 아파치 에러 날짜별 통계(7일간)(PHP에러 제외)'
echo '#--------------------------------------------#'
find /var/log/httpd -name "*error*" -mtime -7 -exec grep -v ' PHP ' {} \;|sed  -r 's/^\[....(......).............../\1,/'|sed -r 's/\[([^\]]*)/\1/'|sed -e 's/\].*$//'|sort|uniq -c




#!/bin/bash

# lrpt.sh
cd ${0%/*} 2>/dev/null

HOSTNAME=`hostname`
D=`date +%Y%m%d_%H%M%S`
LOGFILENAME=lrpt_${HOSTNAME}_${D}.report
echo '#============================================#' >> ${LOGFILENAME}
echo ' 로그 리포트 '  >> ${LOGFILENAME}
echo '#============================================#' >> ${LOGFILENAME}
echo ' hostname : '${HOSTNAME} >> ${LOGFILENAME}
echo ' date : '${D} >> ${LOGFILENAME}

sh lrpt_var_log.sh >> ${LOGFILENAME}
sh lrpt_httpd.sh >> ${LOGFILENAME}

cd - 2>/dev/null





댓글
  • No Nickname
    No Comment
  • 권한이 없습니다.
    {{m_row.m_nick}}
    -
제목 작성자 날짜
공대여자
공대여자
mins01
공대여자
공대여자