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

· 2006-09-21 (목) 17:44:17 · 4010 · 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 보다 가벼우면서 보기도 좋네요
댓글을 작성하시려면 로그인이 필요합니다.

개발자팁

5,403건

개발과 관련된 유용한 정보를 공유하세요. 질문은 QA에서 해주시기 바랍니다.

+
분류 제목 글쓴이 날짜 조회
기타 06-09-21 조회 3,298
JavaScript 06-09-21 조회 4,273
기타 06-09-21 조회 3,009
기타 06-09-21 조회 3,147
기타 06-09-21 조회 3,034
기타 06-09-21 조회 3,741
기타 06-09-21 조회 3,294
PHP 06-09-21 조회 4,053
PHP 06-09-21 조회 4,349
기타 06-09-21 조회 4,001
기타 06-09-21 조회 4,016
기타 06-09-21 조회 3,785
Linux 06-09-21 조회 4,364
MySQL 06-09-21 조회 4,011
JavaScript 06-09-20 조회 3,091
기타 06-09-19 조회 4,173
JavaScript 06-09-15 조회 3,472
기타 06-09-15 조회 3,036
MySQL 06-09-15 조회 1.4만
Flash 06-09-13 조회 5,638
JavaScript 06-09-13 조회 3,829
기타 06-09-11 조회 3,243
JavaScript 06-09-11 조회 3,484
JavaScript 06-09-11 조회 3,331
기타 06-09-11 조회 3,741
JavaScript 06-09-10 조회 3,402
JavaScript 06-09-05 조회 5,615
기타 06-09-04 조회 4,749
기타 06-09-03 조회 4,931
JavaScript 06-09-02 조회 4,028