| 호스팅 서버 모니터링 | 
		
			| (1) 서비스 데몬 확인 방법 | 
		
			| ① pstree : 서버에서 운영 중인 데몬들을 트리 형식으로 보여주는 역할을 한다. | 
		
			|  | 
		
			|  | 
		
			|  | 
		
			| - pstree 명령어를 사용하면 현재 서버에서 실행 중인 데몬 및 프로그램을 쉽게 확인할 수 있다. | 
		
			|  | 
		
			| ② ps : 서버에서 운영중인 프로세스를 보여준다. 검색으로 원하는 서비스 프로세스만을 볼 수 있다. | 
		
			| 형식 : ps [options] | 
		
			|  | 
		
			| =Options= | 
		
			|  | 
		
			| -l	: 자세한 형태의 정보를 출력한다. | 
 
		
			| -u : 각 프로세스의 사용자 이름과 시작 시간을 보여준다. | 
		
			| -j	: 작업 중심 형태로 출력한다. | 
		
			| -s	: 시그널 중심 형태로 출력한다. | 
		
			| -v	: 가상 메모리 중심 형태로 출력한다. | 
		
			| -m	: 메모리 정보를 출력한다. | 
		
			| -a	: 다른 사용자들의 프로세스도 보여준다. | 
		
			| -x	: 로그인 상태에 있는 동안 아직 완료되지 않은 프로세스들을 보여준다. | 
 
		
			| -S	: 차일드(child) CPU 시간과 메모리 페이지 결함(fault) 정보를 추가한다. | 
		
			| -c	: 커널 task_structure로부터 명령 이름을 보여준다. | 
		
			| -e	: 환경을 보여준다. | 
		
			| -w	: 긴(wide) 형태로 출력한다. 한 행 안에 출력이 잘리지 않는다. | 
		
			| -h	: 헤더를 출력하지 않는다. | 
		
			| -r	: 현재 실행중인 프로세스를 보여준다. | 
		
			| -n	: USER와 WCHAN을 위해 수치 출력을 지원한다. | 
		
			|  | 
		
			| =설명= | 
		
			|  | 
		
			| 기본적으로 ps는 현재 명령이 내려지는 셸에서 만들어진 프로세스들의 목록만을 보여준다. ps는 자신이 실행되는 당시 현재의 셸에 의해서 수행된 프로세스들을 | 
 
		
			| 검사하고 보고한다는 점을 생각하자. 그러면 ps의 출력결과 리스트에 ps 자신이 있는 이유를 쉽게 이해할 수 있을 것이다. 각 필드의 의미는 다음과 같다. | 
		
			|  | 
		
			| - COMMAND	: 명령어의 이름 | 
		
			| - PID	: 프로세스 ID, 각 프로세스를 구분하기 위한 고유의 ID | 
		
			| - RSS      	: 프로세스에 의해 사용되는 실제 메모리의 용량(Kbyte 단위) | 
		
			| - USER    	: 프로세스를 실행시킨 소유자의 계정을 보여준다. | 
		
			| - SZ	: 프로세스의 자료와 스텍 크기(K byte 단위) | 
		
			| - TIME	: 현재까지 사용된 CPU의 시간(분, 초) | 
		
			| - TT       	: 프로세스의 제어 터미널(t3=/dev/tty3) | 
		
			| - %CPU    	: 마지막 분 동안 프로세스가 사용한 CPU 시간의 백분율 | 
		
			| - START   	: 프로세스가 시작된 시간 | 
		
			| - STAT    	: 프로세스의 상태 | 
		
			|  | 
		
			| 이 중 STAT 필드는 몇 가지의 부호를 사용해서 프로세스의 상태를 표시하고 있다. 그것들을 정리해 보면 다음과 같다. | 
		
			|  | 
		
			| - P	: 수행 가능/수행 중 - T	: 일시 정지
 - D	: 디스크 입출력 대기 같은 인터럽트할 수 없는 대기상태
 - S	: 20초 미만의 짧게 잠듦(sleep)
 - I	: 20초 이상의 길게 잠듦
 - Z	: 좀비(zombi) 프로세스 
			좀비(zombie) 상태라는 것은 프로세스가 사라질 때 시그널 처리의 문제로 완전히 소멸되지 못한 상태를 말한다.
 | 
		
			|  | 
		
			| (예) | 
		
			|  | 
		
			| [root@ww14 root]# ps auxw | grep httpd 	: 웹서비스 데몬만을 보여준다. | 
		
			| [root@ww14 root]# ps auxw | grep mysql	: MySQL 서비스 데몬만을 보여준다. | 
		
			| [root@ww14 root]# ps auxw | grep mail 	: 메일 서비스 데몬만을 보여준다. | 
		
			| [root@ww14 root]# ps auxw | grep ftp 	: FTP 서비스 데몬만을 보여준다. | 
		
			|  | 
		
			| ③ netstat : 실행 중인 서비스 데몬의 포트 상태를 보여준다. | 
		
			| 형식 : netstat [ option ] | 
		
			|  | 
		
			| =Option= | 
		
			|  | 
		
			| -r	: 라우팅 테이블의 정보를 출력한다. | 
		
			| -I	: 인터페이스 테이블을 출력한다. | 
		
			| -s	: snmp와 같은 네트워크 통계를 나타내며 프로토콜의 진단까지 할 수 있다. | 
		
			| -p	: pid/program 출력 | 
		
			| -c	: 계속되는 리스트 출력 | 
		
			| -a	: 연결된 모든 소켓 출력 | 
		
			|  | 
		
			| ⓐ netstat : 현재 이 서버와 연결되었거나 연결될 목록을 프로토콜과 함께 보여주는 도스 명령어이다. 
 | 
			| ⓑ netstat -a : 현재 이 서버와 연결되거나 연결될 목록을 프로토콜과 함께 모두 보여준다. -a 옵션이 없으면 연결된 목록만 보여주는데, -a 옵션을 주면 연결되었 | 
		
			| 거나 연결을 기다리는 목록을 모두 보여준다. | 
		
			| ⓒ netstat -n : 통상 연결 목록에 서비스 이름이 나오는데, -n 옵션을 주면 서비스 이름 대신 포트 번호가 나온다. 
 | 
			| ⓓ netstats -an or -na : 둘 다 같은 의미인데 이 서버와 연결되었던 혹은 연결을 기다리는 목록을 아이피 주소로 바꾸어서 보여준다. 
 
					
						| [root@ww14 root]# netstat -anp | grep LISTEN |  
						| tcp | 0 | 0 0.0.0.0:9930 | 0.0.0.0:* | LISTEN | 3794/ismsagent |  
						| tcp | 0 | 0 0.0.0.0:3306 | 0.0.0.0:* | LISTEN | 758/mysqld |  
						| tcp | 0 | 0 0.0.0.0:110 | 0.0.0.0:* | LISTEN | 595/xinetd |  
						| tcp | 0 | 0 0.0.0.0:80 | 0.0.0.0:* | LISTEN | 636/httpd |  
						| tcp | 0 | 0 0.0.0.0:21 | 0.0.0.0:* | LISTEN | 662/proftpd: (accep |  
						| tcp | 0 | 0 0.0.0.0:22 | 0.0.0.0:* | LISTEN | 1859/sshd2 |  
						| tcp | 0 | 0 0.0.0.0:23 | 0.0.0.0:* | LISTEN | 595/xinetd |  
						| tcp | 0 | 0 0.0.0.0:25 | 0.0.0.0:* | LISTEN | 25275/sendmail: acc |  
						| ① | ② | ③ | ④ | ⑤ | ⑥ |  
						|  |  |  |  |  |  |  
						| ③의 위치에 표시된 수자가 포트 번호다. |  
						| 21 | : FTH |  
						| 22 | : SSH |  
						| 23 | : Telnet |  
						| 25 | : SMTP |  
						| 80 | : Httpd |  
						| 110 | : POP3 |  
						| 3306 | : MySQL |  
						| 9930 | : ismsagent |  | 
		
			| (2) lsof를 통한 서버 모니터링 | 
		
			| ① lsof 도구 | 
		
			| lsof는 List Of Files의 약자로서 시스템에서 읽고/쓰고 하는 모든 프로세스에 의해서 Open된 파일들에 대한 정보를 보여준다. | 
		
			|  | 
		
			| ② 옵션설명 | 
		
			| -c : 지정한 프로세스가 사용 중인 파일을 보여준다. -g : 지정한 프로세스 그룹 아이디를 가진 프로세스들이 사용 중인 파일을 보여준다.
 -i : TCP 소켓이 이루어지고 있는 정보들을 출력한다.
 -N : NFS로 연결되어 있는 파일들에 대해서 수행한다.
 | 
		
			|  | 
		
			| ③ lsof 사용 예 | 
		
			| - [root@g07 root]# lsof /etc/passwd | 
		
			| 의미 : /etc/passwd 파일을 사용 중인 프로세스를 점검 | 
		
			| - [root@g07 root]# lsof  /home | 
		
			| 의미 : /home 디렉터리를 읽고 있는 프로세스 정보들을 출력한다. | 
		
			| - [root@g07 root]# lsof  -i | 
		
			| 의미 : 현재 서버에 사용 중인 소켓 정보들을 출력한다. | 
		
			| - [root@g07 root]# lsof -c httpd | 
		
			| 의미 : httpd을 통해 실행 중인 모든 파일들을 출력한다. | 
		
			| - [root@g07 root]# lsof -p ProcessID | 
		
			| 의미 : 현재 프로세스가 열고 있는 모든 파일들을 출력한다. | 
		
			| - [root@g07 root]# lsof -u user1,user2,user3 | 
		
			| 의미 : 사용자 아이디 user1, user2, user3이 사용 중인 모든 파일을 출력한다. | 
		
			| - [root@g07 root]# lsof -i -P | 
		
			| 의미 : 소켓에 대한 정보 및 포트 서비스 이름 대신 포트 넘버 그대로 출력한다. | 
		
			|  | 
		
			| (3) top을 통한 서버 모니터링 | 
		
			| ① top 명령어 | 
		
			| 실시간으로 프로세스에 대한 정보를 출력해 준다. | 
		
			| CPU 사용별, Memory 사용별로 소팅이 가능하다. | 
		
			| top 명령행 자체에서 “명령인자”를 통해 여러 가지 조작이 가능하다. | 
		
			|  | 
		
			| ② 명령 인자 옵션 | 
		
			|  |