리눅스를 일반 데스크탑처럼, 워크스테이션으로 사용하더라도,
왠지 리눅스를 사용한다고 하면 Server라는 이미지를 버리기가 힘들다.

그리고 리눅스를 사용하다보면 종종 서버의 역할을 사용하게 되기도 한다.



뭐, 서론이 길었고... 리눅스를 사용하다보면 종종 내 리눅스의 상태를 모니터링하고 싶다는 욕구가 든다.
또 왠지 모니터링 화면을 보면 대단히 있어보이기도 하고....^^

그런데, 서버 어드민에 대한 학습을 하였거나 리눅스에 대해서 그 내부를 공부를 했거나 하였다면 모르겠지만,
그렇지 않다면, 모니터링 도구를 설치하는 것부터 많은 벽에 부딪치게 된다.



그런데, Ubuntu에서 재미있고, 편하게 사용할 수 있는 도구를 제공해주고 있다!
그 이름은 바로 "Munin" !!!

공식 사이트
   - http://munin-monitoring.org/

 Ubuntu의 Munin 소개
   - https://help.ubuntu.com/11.10/serverguide/C/munin.html



1. Install

   - 모니터링 도구로 Munin을 사용하는 이유는 바로 Ubuntu에서 패키지로 제공을 해주기 때문이다!!!


 $ sudo apt-get install munin munin-node

   - Munin은 두 가지로 구성되어 있다. Server 역할의 munin과 Client의 minin-node
   - Server의 역할은 munin-node로부터 정보를 얻어와서 웹페이지로 뿌려주는 것이다.

   - Client의 역할을 하는 munin-node는 클라이언트라고 보기보다는 이름 그대로 node라고 해야할 것 같다.
   - 모니터링을 하려는 대상에 심어놓는 모듈이라고 생각하면 될 것 같다.

   - 지금은 하나의 PC에 대해서 모니터링을 하면서 그곳에서 바로 웹으로 결과를 보여줄 것이다.
   - 그래서 하나의 PC에서 munin, munin-node 두가지를 모두 다 설치해버렸다.


2. munin

   - Server의 역할을 하는 munin의 환경 설정을 해보자.


 $ sudo nano /etc/munin/munin.conf


 [localhost.localdomain]
      address 127.0.0.1
      use_node_name yes

   - 지금은 자신이 설치된 PC의 것만 모니터링을 할 것이기 때문에 초기값을 그대로 사용해도 된다.

   - 즉, 여기서 설정하는 것은 어떤 node들을 모니터링할 것인가를 적어주는 부분이다.


3. munin-node

   - 여기에서 설정할 것은 누구한테 자신의 정보를 줄 것인지를 알려주어야 한다.


 $ sudo nano /etc/munin/munin-node.conf


allow ^127\.0\.0\.1$

   - node에서 Server로 정보를 보내주는 것이 아니라,
     Server가 정보를 내놓으라고 하면 node가 허용한 IP에 대해서만 응답을 하는 방식으로 이해하면 된다.

   - munin과 마찬가지로 기본값으로 그냥 사용하면 된다.




여기부터가 조금 생각을 해야하는 부분인데,
기본적으로 Munin은 Apache2 기반으로 운용이 된다.

그런데, 만약 nginx와 같은 다른 웹서버를 이미 사용을 하고 있다면?!
(내 블로그를 좋아하시는 분들이라면, 이미 Redmine을 사용하실 것이고 그러면.... Nginx를 사용할 것이고....
그러면 일반적인 방법으로 적용이 안될 것이고...

아래 부분은 전체를 한 번 다 살펴보고 나서 다시 셋팅하기를 바란다.

시행착오는 제가 미리 할테니,
여러분은 그걸 보고 올바른 길로만 걸어가시기를... ^^

(리눅스에서 설치같은거 하다가 실패하고 삭제하고 하면 왠지 지저분해지는 것 같잖아요 ^^)





4. apache

   - 모니터링 결과를 웹으로 보여주기 위해서 apache 설정을 해주어야 한다.


 $ sudo nano /etc/munin/apache.conf


   - 뭐 딱히 수정할 것은 없다.
   - 물론 특정 IP에만 모니터링을 허용한다던지, 다른 무언가를 원한다면 알아서 수정하면 된다 ^^


5. error

   - 일반적인 경우라면 위와 같이 바로 munin을 사용할 수 있겠지만...


 $ sudo service munin-node restart
 $ sudo service apache2 restart

   - 그런데, '머가필요해' 본인의 경우에는 apache2가 설치되어있지 않아서 서비스가 구동이 안된다.
   - 그러면, 설치하면 되겠지!?


 $ sudo apt-get install apache2

   - 그런데 !!!


   - 위를 보면 빨간 글씨로 [fail]이 보인다.
   - 80번 포트를 이미 다른 놈이 사용하고 있어서 구동하지 못하겠다고 앙알거리는 것이다.


6. munin-nginx-ubuntu

   - Munin을 Nginx 환경에서 구동하기 위해서는 조금 귀찮지만 몇 몇 과정을 거쳐야 한다.
   - https://github.com/jnstq/munin-nginx-ubuntu


7. Nginx

   - Munin을 위해서 필요한 사항들이 있는데, 확인을 해보고 없으면 nginx를 다시 컴파일 해야 한다.


 $ /opt/nginx/sbin/nginx -V

   - [--with-http_stub_status_module] 옵션이 보인다면 무관하지만, 없다면 Nginx를 다시 컴파일 해야 한다.


   - PCRE Library가 필요하니 다운로드 받자.
   - ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/

 

 $ wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.30.tar.gz
 $ tar zxvf ./pcre-8.30.tar.gz


   - Nginx를 다시 컴파일 하기 위해서 source를 다운로드 받아야 한다.
   - http://nginx.org/en/


 $ wget http://nginx.org/download/nginx-1.1.19.tar.gz
 $ tar zxvf ./nginx-1.1.19.tar.gz


   - 이제 Recompiling을 진행하여보자.


 $ cd ./nginx-1.1.19/
 $ /opt/nginx/sbin/nginx -V
 $ ./configure --prefix=/opt/nginx --with-http_ssl_module --with-cc-opt=-Wno-error --add-module=/srv/install/redmine/passenger/passenger-3.0.11/ext/nginx --with-pcre=../pcre-8.30/ --with-http_stub_status_module
 $ make
 $ sudo make install

   - ./configure 뒤의 옵션을 참조하기 위해서 [/opt/nginx/sbin/nginx -V]를 확인했다.
   - 그대로 복사해서 사용하고 뒤에 2가지만 추가하면 된다.
   - [ --with-pcre=../pcre-8.30/ --with-http_stub_status_module ]

   - 잘 설치되었는지 확인해보려면 nginx를 재시작하고 서비스 되고 있던 redmine이 잘 보이면 OK

 $ sudo /etc/init.d/nginx restart

   -그런데, 내가 잘 이해하지 못한 것이 있는지, 이렇게 restart를 해도 정말 restart가 안되는 것으로 보이기도...
   - process 추적을 해보던지 분석을 해야하지만, 귀찮아서 일단 스탑! ^^

   - nginx의 환경 파일을 다시 한 번 손 보자.

 $ sudo nano /opt/nginx/conf/nginx.conf


     server {
        listen  8000;
        server_name localhost:8000;

        location / {
            root /var/cache/munin/www;
        }
    }


   - 8000 번 포트를 사용하기 위해 위와 같은 내용을 추가한다.

 $ sudo /etc/init.d/nginx restart

   - 위와 같이 재시작을 하면 되어야 하는데...
   - 뭔가 안된다. 그럴 때엔 확실히 검증하기 위해서.... 재시작!!!... Ubuntu 를 통채로 재시작~!!!


   - 잘 된다~!!!
   - [ nginx restart ] 이 놈이 잘 적용이 안되는 것 같다.
   - 우분투의 재시작으로 적용이 가능하니 일단은 패스~


   - 특별히 뭔가를 하지 않아도 알아서 정보를 차근차근 모은다. 그냥 보면 된다 ^^

   - 주어진 데이타들을 분석하는 것은 각자의 몫~!!!




여기까지~^^

반응형

> cat /proc/version

...


> uname -a

...
반응형

'OS > Ubuntu' 카테고리의 다른 글

sudo 패스워드 없이 사용하기 ( in Ubuntu )  (1) 2012.06.15
서버 모니터링 - Munin  (0) 2012.04.21
우분투 설치시 키보드/마우스 동작 불가  (0) 2010.03.26
05. 프로세스  (0) 2008.10.31
04. Shell  (0) 2008.10.30


우분투 설치할 때,
처음에는 동작을 하다가 갑자기 키보드 마우스가 동작하지 않는 경우가 있다.

설치 여부를 묻는 화면에서 'F6'을 누른 다음
제일 뒤에 'noapic'을 써주면 해결 된다.

반응형

'OS > Ubuntu' 카테고리의 다른 글

서버 모니터링 - Munin  (0) 2012.04.21
Linux Version 확인  (0) 2010.04.09
05. 프로세스  (0) 2008.10.31
04. Shell  (0) 2008.10.30
03. man 사용법  (0) 2008.10.30

프로세스 번호
   - 각 프로세스의 고유 번호
   - 무작위로 부여

작업 번호
   - 현재 실행되고 있는 백그라운드 작업의 순차 번호
   - 가장 최근에 수행한 백그라운드 작업에는 "+" 기호

Background 작업
   - 프로세스를 뒤로 보낼 때 명령어 뒤에 "&"를 붙여서 실행
   - 완료되면 작업 번호와 함께 "Done" 메시지 출력
   - 현재 실행중인 foreground 작업을 background로 보낼 때
         1: [Ctrl]+[z]
         2: $> bg
   - background 작업 취소
         1: $> jobs
         2: $> fg %작업번호
         3: [Ctrl] + [c]
jobs
   - 현재 수행 중인 background 작업 표시

ps
   - 현재 프로세스 상태 확인
   - 추천 옵션 : $> ps auwx

pstree
   - 프로세스 상태를 트리 형식으로 표시, 종속성 확인

kill
   - 프로세스를 종료 : $> kill <pid>
   - $> kill -KILL(9) <pid> : 하드웨어적 종료
   - $> kill -TERM(15) <pid> : 소프트웨어적 종료
   - $> kill -HUP(1) <pid> : 종료 후 재시작(프로세스 종료는 아니고, 코드 및 데이타 refresh)
   - $> kill -2 <pid> : foreground의 [Ctrl]+[c] 효과
   - $> kill -3 <pid> : foreground의 [Ctrl]+[\] 효과

killall
   - 데몬 이름을 직접 입력하여 종료


반응형

'OS > Ubuntu' 카테고리의 다른 글

Linux Version 확인  (0) 2010.04.09
우분투 설치시 키보드/마우스 동작 불가  (0) 2010.03.26
04. Shell  (0) 2008.10.30
03. man 사용법  (0) 2008.10.30
02. 리눅스 설치하기  (0) 2008.10.23

Shell의 종류
   - Bourne Again Shell (bash) : $
   - 나머지는 무시~

$> echo $SHELL
-> 변수 $SHELL의 값을 출력

그러면, '$'를 출력하고 싶으면?!
$> echo \$SHELL
-> "$SHELL" 글자 그대로 출력
'$', 외에도 "", '' 도 사용 가능

bash의 환경 설정 파일
   - 사용자 환경 설정 파일 : .bash_logout, .bash_profile, .bashrc
   - 원본은 /etc/skel/ 밑에 존재
   - 파일명 앞의 '.'은 숨김 파일을 의미
   - 모든 사용자 공통 환경 설정 파일 : /etc/profile, /etc/bashrc
   - 인식 순서 : /etc/profile -> ~/.bashrc_profile -> ~/.bashrc -> /etc/bashrc

PATH 설정하기
   - $> echo $PATH
   - 전체 사용자에게 추가 : /etc/profile 편집
   - 특정 사용자에게 추가 : ~/.bash_profile 편집
   - 현재 로그에서만 추가 : $> PATH=$PATH:<추가할 경로>

alias
   - ~/.bashrc 편접
   - alias lsa='ls -a' 추가

prompt
   - /etc/bashrc 편집
   - PS1="[\u@\h \W] \\$
   - 절대 경로 표시 : PS1="[\u@\h \PWD] \\$


logout시에 실행
   - ~/.bash_logout 편집

doskey
   - 이전 명령어 불러오기
   - 위 방향키

자동완성
   - [TAB] 키

반응형

'OS > Ubuntu' 카테고리의 다른 글

우분투 설치시 키보드/마우스 동작 불가  (0) 2010.03.26
05. 프로세스  (0) 2008.10.31
03. man 사용법  (0) 2008.10.30
02. 리눅스 설치하기  (0) 2008.10.23
01. 리눅스란 무엇일까?  (1) 2008.10.23

# man <명령어>
   - [SPACE] : 다음페이지
   - [b] :  이전페이지
   - /검색어 [Enter] : 이후 페이지 문자 검색
   - ?검색어 [Enter] : 이전 페이지 문자 검색
   - [n] : 다음 단어로 이동
   - [q] : 종료

* LS(?) : man? 페이지로 분류
* SYNOPSIS : 명령어 사용법
* DESCRIPTION : 명령어에 대한 간략한 설명 및 사용 가능한 옵션
* AUTHOR : 작성자
* REPORTING BUGS : 버그 발견시 연락처
* COPYRIGHT : 저작권
* SEE ALSO : 관련 명령어

man을 생활화 하자!
반응형

'OS > Ubuntu' 카테고리의 다른 글

우분투 설치시 키보드/마우스 동작 불가  (0) 2010.03.26
05. 프로세스  (0) 2008.10.31
04. Shell  (0) 2008.10.30
02. 리눅스 설치하기  (0) 2008.10.23
01. 리눅스란 무엇일까?  (1) 2008.10.23

그냥 아무 생각없이 우분투로 배포판 결정!

http://www.ubuntu.com/

2008.10.23 기준으로 8.10 Beta 판 선택

http://www.ubuntu.com/testing/intrepid/beta


설치



VMware Tools

https://help.ubuntu.com/community/VMware/Tools

Ubuntu는 데스크탑이라 개발에 필요한 stdio.h가 없다고 한다.
build-essestial을 설치하면 된다고 한다.

sudo apt-get update

sudo apt-get install build-essential

sudo apt-get install build-essential linux-headers-`uname -r` psmisc

choose VM->Install VMware Tools.

sudo cp /media/cdrom0/VMwareTools-6.0.3-8004.tar.gz /home/whatwant/

cd /home/whatwant/

tar zxvf VMwareTools-6.0.3-8004.tar.gz

cd vmware-tools-distrib/

sudo ./vmware-install.pl

이하 질문에 모두 <enter>

sudo vmware-toolbox

설치 완료


개인적 취향으로 midnight-command 설치
$> sudo apt-get install mc

반응형

'OS > Ubuntu' 카테고리의 다른 글

우분투 설치시 키보드/마우스 동작 불가  (0) 2010.03.26
05. 프로세스  (0) 2008.10.31
04. Shell  (0) 2008.10.30
03. man 사용법  (0) 2008.10.30
01. 리눅스란 무엇일까?  (1) 2008.10.23

리눅스는 독자적인 운영체제이다.
   - 윈도우 응용프로그램과 같은 방식의 리눅스도 있는데...

리눅스의 사용범위
   - 개인용 데스크탑
   - 워크스테이션 (정의는 뭐지?)
   - 서버 (웹서버, 메일서버, 파일서버, 스트리밍서버)
   - 임베디드 시스템
   - 클러스터링 환경 (여러 컴퓨터가 1대와 같이...)

리눅스 배포판
   - Linux = Kernel + GNU S/W + X-WIndow + 기타 App
      - SlackWare
      - Redhat
      - Debian
      - Caldera
      - Suse
      - Ubuntu
      - Fedora
      - Gentoo
      - etc

공개버전 / 상용버전
   - 리눅스는 공짜다?
   - 서비스만?

리눅스 탄생 배경
   - 리누스토발즈가 커널 개발(1991) : 0.02 (이거 만져볼 수 있을까?!)
   - Minix 기반 PC용 Unix (Minix가 뭔지 확인해볼까?)
   - 리차드 스톨만 FSF의 GNU 프로젝트 지원
   - Gnu is not Unix
   - General Public License : 소스 공개 및 수정 재배포 권리까지 포함
   - 이와 관련해서 정리된 문서가 어디 있었는데...

커널
   H/W -> 커널 -> 쉘 -> App

커널 버전
   - linux-x,y,z.tar.gz
      x : Major Version
      y : 홀수(베타), 짝수(안정)
      z : 버그 수정 횟수
   - http://www.kernel.org/

커널과 모듈
   - 자주 사용하는 부분은 커널에 포함하고,
   - 가끔 사용하는 부분은 모듈로 작성하여 필요시 호출
   - monolithic-Kernel

다중사용자, 다중 작업 시스템
   - 각각의 메모리 영역이 보호되어야 함 = Protected Mode

POSIX(유닉스 표준)를 준수

가상콘솔 지원
   - 기본 6개 : Ctrl+Alt+F1~F6

캐릭터 디바이스 / 블록 디바이스
   - 캐릭터 디바이스 : 프린터, 마우스, 스캐너
   - 블록디바이스 : ODD, FDD

공유 라이브러리
   - Windows의 DLL(Dynamic Linked Library)과 유사

멀티부팅 / 파티션
   - 멀티부팅 : LILO, GRUB
   - 파티션 : fdisk

반응형

'OS > Ubuntu' 카테고리의 다른 글

우분투 설치시 키보드/마우스 동작 불가  (0) 2010.03.26
05. 프로세스  (0) 2008.10.31
04. Shell  (0) 2008.10.30
03. man 사용법  (0) 2008.10.30
02. 리눅스 설치하기  (0) 2008.10.23

+ Recent posts