몇 대 안되는 서버를 관리하기 위해 오픈소스 NMS, SMS를 찾다가 예전에 둘러보던 SW를 다시 보게 됐다. 
Zabbix

오픈소스 NMS, 오픈소스 System Monitoring 등으로 겁색하면 OpenNMS, Nagios와 함께 많이 검색이 되기도 하고, 또 반갑게도 국내에는 Zabbix 유저 그룹(www.zabbix.co.kr)도 있다. 짧게 훑어봤지만 - 빠른 활용을 위해 결정했다 - 문서화도 잘 되어 있고(물론 영어로 :( ) 전체적인 기능이나 인터페이스도 깔끔하고, 다양한 플랫폼을 지원한다. SNMP를 기본으로 지원하지만 Zabbix의 특징이자 장점이라면, OS별로 Agent를 설치하여 SNMP에서 제공되는 정보외의 정보들을 수집하여 서버를 관리할 수 있다는 것이겠다. 

참고로, http://www.zabbix.com/ 에 가면 소스파일 및 OpenSUSE 기반으로 제작된 가상디스크이미지, CD이미지등을 다운로드 받아 바로 테스트 해 볼 수 있다. 본 문서는 Ubuntu 기반 패키지 설치로 진행된다. 

[Ubuntu] How To Install Zabbix on Ubuntu (10.04LTS)

OS : Ubuntu 10.04LTS (32bit)

1. db 및 의존패키지 설치
zabbix@zabbix-buntu:~$ sudo apt-get install zabbix-server-mysql 
zabbix를 위한 DB(mysql) 및 필요한 패키지가 설치된다.

2. DB설정

DB root 패스워드 설정

dbconfig-common 설정

root 사용자와 동일한 암호로 설정했다


2. agent 설치
zabbix@zabbix-buntu:~$ sudo apt-get install zabbix-agent 

3. zabbix-frontend-php 설치
zabbix@zabbix-buntu:~$ sudo apt-get install zabbix-frontend-php 
frontend 설치과정에서 웹서버(apache2)와 php5등의 관련 패키지가 설치된다.

사용할 DB선택. 기본으로 mysql을 사용하니까

위 DB설치시에 입력했던 암호



4. 초기화면 접속 및 설정
설치가 완료되면 웹브라우저를 이용하여 http://hostname/zabbix로 접속한다.

Default user admin / zabbix



참고로, 기본 배포판에서 사용되는 User / PW는 다음과 같다. 

System:
root:zabbix
zabbix:zabbix

Database:
root:zabbix
zabbix:zabbix

Zabbix frontend:
admin:zabbix


5. Zabbix 셋업
메인화면 - Administration - Installation 이동

정식 배포본은 라이센스가 나오던데.. 패키지는.. GPL을 참조하란다. I agree

사전 환경설정 확인


기존에 웹서버PHP 및 DB가 정상적으로 설치뒤어 운영중이라면 대개 문제가 되지 않고, 또 홈페이지에서 배포되는 패키지설치시에는 위 점검사항이 모두 OK로 나타나지만.. 우분투 패키지로 설정시 php관련 몇가지 항목이 fail로 나타났다.
위 점검 항목들 중 fail이 있을 경우, 설치가 진행되지 않는다. 위 fail 항목을 차례로 수정했다.

5-1. php.ini 수정
zabbix@zabbix-buntu:$ sudo vi /etc/php5/apache2/php.ini

post_max_size = 8M -> 32M로 수정
max_execution_time = 30 -> 600로 수정

[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone =Asia/Seoul

; overload(replace) single byte functions by mbstring functions.
; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg(),
; etc. Possible values are 0,1,2,4 or combination of them.
; For example, 7 for overload everything.
; 0: No overload
; 1: Overload mail() function
; 2: Overload str*() functions
; 4: Overload ereg*() functions
; http://php.net/mbstring.func-overload
mbstring.func_overload = 2

5-2. 아파치 재시작
위 수정사항을 적용한뒤 아파치 웹서버를 재시작 
zabbix@zabbix-buntu:/etc/php5/apache2$ sudo /etc/init.d/apache2 restart

php.ini 설정적용 후



DB설정



6. 설정파일 적용


1. 아래 'Save configuration file'을 클릭하여 앞서 설정한 내용들을 파일로 저장하 고/
2. /usr/share/zabbix/conf/zabbix.conf.php로 저장한다. 

여기서, /usr/share/zabbix/conf/zabbix.conf.php 파일은 /etc/zabbix/dbconfig.php 의 심볼릭 링크파일이다. 본인은 두 파일의 내용을 비교한 뒤, /etc/zabbix/dbconfig.php 파일을 직접 수정하였다.


설치완료



참고사이트
http://www.brainhemorage.com/2010/08/05/installing-zabbix-on-ubuntu-10-04-lts/
http://www.zabbix.co.kr
http://www.zabbix.com