테스트 사이트 - 개발 중인 베타 버전입니다

서버 상태 값 주기적으로 메일로 발송하기

· 19년 전 · 2749 · 1
서버가 많을 경우, 당연 별도 솔루션이나 장비 등을 통해 모니터링을 하는 것이 맞지만 그렇지 않을 경우
서버당 들어가서 부하량이나 기타 등등의 값을 수작업하여 조회해야 합니다.

이러한 불편함을 아주 간단히 ()|mail 을 사용해서 메일을 발송로 발송토록 쉘로 만들어 놓았습니다.

도움이 되려나 모르겠지만..
저는 이렇게 쓰고 있습니다... 궁해서요..^^

혹, 필요하신분들 있으시면 가져다가, 쓰세요.

화일명으로 저장후 실행권한 주시고, /etc/cron.hour 에 넣어 주세요.
하루에 한번씩 돌리면 좋을듯 하네요.

조금이라도 도움이 되었으면 하는 바램으로....


-------------------------------------
1. 스크립트
-------------------------------------
#!/bin/sh
# 작성일 : 2005/01/27
# http://www.rootman.co.kr
# 제목 : 서버 서비스 상태 표시기
# 별도 수정 사항 : 수신처 메일
# --------------------------------------------------
# 소스 라이브러리 함수 참조
source /etc/sysconfig/network
source /etc/sysconfig/network-scripts/ifcfg-eth0

# 수신처 메일
Email="coolho at lycos.co.kr";

# 네트워크 활성화 체킹
if [ ${NETWORKING} = "no" ]
then
exit 0
fi

# 문법
(
echo "---------------------------------------------------------------------------" && \
echo "1. uptime 값" && \
echo "---------------------------------------------------------------------------" && \
uptime && echo -e "\n" && \
echo "---------------------------------------------------------------------------" && \
echo "2. w 값" && \
echo "---------------------------------------------------------------------------" && \
w && echo -e "\n" && \
echo "---------------------------------------------------------------------------" && \
echo "3. 메모리 값" && \
echo "---------------------------------------------------------------------------" && \
free -m && echo -e "\n" && \
echo "---------------------------------------------------------------------------" && \
echo "4. 열려진 포트 값 조회" && \
echo "---------------------------------------------------------------------------" && \
nmap -p 1-1024 localhost|grep -i "open" && echo -e "\n" && \
echo "---------------------------------------------------------------------------" && \
echo "5. 하드 디스크 사용량 조회" && \
echo "---------------------------------------------------------------------------" && \
df -h && echo -e "\n" && \
echo "---------------------------------------------------------------------------" && \
echo "6. pstree 값" && \
echo "---------------------------------------------------------------------------" && \
pstree && echo -e "\n" ) \
| mail -s "[${IPADDR}] 서비스 상태 표시기" ${Email}

echo "done +";
exit 0;


-------------------------------------
2. 결과 값
-------------------------------------

---------------------------------------------------------------------------
1. uptime 값
---------------------------------------------------------------------------
4:34pm up 9 days, 16:14, 2 users, load average: 0.36, 0.35, 0.48


---------------------------------------------------------------------------
2. w 값
---------------------------------------------------------------------------
4:34pm up 9 days, 16:14, 2 users, load average: 0.36, 0.35, 0.48
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/1 111.111.111.111 4:24pm 9:32 0.04s 0.04s -bash
root pts/2 111.111.111.111 2:07pm 1.00s 0.08s 0.01s /bin/sh ./map.s


---------------------------------------------------------------------------
3. 메모리 값
---------------------------------------------------------------------------
total used free shared buffers cached
Mem: 502 496 6 0 15 205
-/+ buffers/cache: 275 226
Swap: 2047 0 2047


---------------------------------------------------------------------------
4. 열려진 포트 값 조회
---------------------------------------------------------------------------
21/tcp open ftp
22/tcp open ssh
25/tcp open smtp
53/tcp open domain
80/tcp open http
110/tcp open pop-3
143/tcp open imap2
873/tcp open rsync

---------------------------------------------------------------------------
5. 하드 디스크 사용량 조회
---------------------------------------------------------------------------
Filesystem Size Used Avail Use% Mounted on
/dev/sda6 4.6G 2.8G 1.6G 63% /
/dev/sda1 144M 13M 124M 10% /boot
/dev/sda5 24G 50M 22G 1% /home
none 251M 0 251M 0% /dev/shm
/dev/sda3 2.9G 1.1G 1.6G 39% /usr/local
/dev/sdb1 15G 4.2G 10G 29% /home2
/dev/sdb2 18G 13G 5.1G 71% /home3


---------------------------------------------------------------------------
6. pstree 값
---------------------------------------------------------------------------
init-+-ahc_dv_0
|-ahc_dv_1
|-bdflush
|-clamd
|-crond
|-2*[java]
|-keventd
|-khubd
|-6*[kjournald]
|-klogd
|-ksoftirqd_CPU0
|-kswapd
|-kupdated
|-libhttpd.ep---25*[libhttpd.ep]
|-6*[mingetty]
|-named---named---3*[named]
|-proftpd---proftpd
|-safe_mysqld---mysqld---mysqld---3*[mysqld]
|-scsi_eh_0
|-scsi_eh_1
|-sendmail
|-sshd-+-sshd---bash---map.sh-+-mail
| | `-map.sh---pstree
| `-sshd---bash
|-syslogd
`-xinetd---rsync<div class='small'>[이 게시물은 관리자님에 의해 2011-10-31 17:32:05 Linux에서 이동 됨]</div>

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 1개

logwatch 보다 가벼우면서 보기도 좋네요

게시글 목록

번호 제목
10853
10852
10850
28848
10849
28847
10846
28846
10845
28845
10844
28844
28843
10843
28842
10842
28841
10841
28840
28839
10840
10839
24791
24789
10836
28838
24788
24787
24786
28837
28834
10835
10834
정규표현식 수수료계산
28833
28829
10833
10831
10830
10829
28828
10828
10827
10823
10822
10821
10820
28822
10814
10812
10811
10810
10808
10804
10797
28821
10796
10795
10794
10792
10789
10785
10781
10780
28820
10776
10769
10766
10765
10758
28818
10754
10753
10750
28817
10749
10748
10747
10746
10740
10738
10735
10734
28812
10730
10726
10725
28811
10724
10723
10722
10721
10717
10716
10715
10713
10712
10711
10710
10709
10708