리눅스 로그 리포팅

#!/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}}
    -
목록형 📷 갤러리형
제목
[기본형] HTML (with 부트스트랩5.3 , jquery 3.7, vue.js)
유용한 리눅스(LINUX) 명령어
[공지] 기술 게시판
3.31
4.1
4.2
4.3
4.4
4.5
4.6
4.7
4.8
4.10
4.11
4.12
4.13
4.14
4.15
4.16
4.18
4.19
4.20
4.21
4.22
4.23
4.24
4.25
4.26
4.27
4.28
4.29
4.30
5.1
5.2
5.3
5.4