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

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

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

이러한 불편함을 아주 간단히 ()|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 보다 가벼우면서 보기도 좋네요

게시글 목록

번호 제목
12201
12200
29244
12196
29243
12188
12184
29231
29230
12181
기타 툴팁 2
29229
12179
12177
12173
29226
12172
25007
12171
12170
29225
12167
12166
12157
12154
12153
25002
12151
29224
12148
29223
12142
29217
12141
12136
12132
12130
29216
29215
12126
12124
12122
12120
12111
25001
25000
24999
24998
24997
24994
24985
12109
12105
12104
12096
12094
12091
12090
12079
29211
12072
29210
12070
29207
12067
12061
29204
12058
12057
12056
24984
12055
12053
12051
MySQL apm 1
12050
MySQL LOG
12049
12048
기타 dhcp
12047
12046
12045
12044
12043
JavaScript vi
12042
기타 Nis/NFS
12041
12040
JavaScript
12039
기타 Process
12038
12037
12036
12035
JavaScript Quota
12034
MySQL LOG
12033
12032
12031
JavaScript IPCHAINS
12028
12026
12025
12020
12017
12015
12013