검색결과 리스트
글
Linux 관제 솔루션 Zabbix 설치
Linux 관제 솔루션 Zabbix 설치
1.1 Linux 운영 체제 SETUP
위 URL 주소에 접속하여 다운로드/설치한다. 현재 Cent-OS 5.8 버전을 기준으로 설치한다.
1.2 Cent-OS 5.8 설치
1. Cent-OS 5.8 설치 CD를 넣고, 컴퓨터를 Booting 한다
2. 설치 시작 선택 화면에서 “Enter Key”를 입력해서 설치를 시작한다
3. “Choose a Language” 화면에서 “korean” 을 선택 후 “OK” 선택한다
3.1 “Language Unavailable” 화면에서 “OK” 선택한다
4. “Keyboard Type” 화면에서 “us”를 선택 후 “OK”를 선택한다
5. “Installation Method” 화면에서 “Local CDROM” 선택 후 “OK” 선택한다
6. “CD Found” 화면에서 “SKIP” 선택한다
7. CentOS Window 설치 화면에서 “다음” 선택한다
8. 설치 방법 선택 Window에서 “CentOS설치(I)”를 선택 후 “다음”
9. 파티션 설정에서 ‘선택한 드라이브 상의 모든 파티션을 삭제하고 디폴트 레이아웃을 만듭니다” 선택 후 “다음”(또는 사용자가 직접 파티션 정보를 설정할 수 있다)
10. 네트워크 설정 Window에서 “eth0” 선택 후 “편집”
10.1 네트워크 정보 입력 Window에서 IP Address, Subnet Mask를 입력 후 “확인”
10.2 호스트네임은 Default 값 그래로 유지, 게이트웨이/DSN 입력 후 “다음”
11. 시간 선택 Window에서 “아시아/서울” 선택 후 “다음”
12. ROOT 비밀번호 입력 Window에서 비밀번호 입력 후 “다음”
13. 설치 Software 설정 Window에서 “Desktop-Gnome” 항목은 UNCHECK, “Server” 항목은 CHECK
13.1 “지금 사용자 설정(C)” 선택 후 “다음”
14. 사용자 Software 설정 Winddow에서
14.1 “개발” 메인 항목에서 “개발용 도구”, “개발용 라이브러리”, “레거시 소프트웨어 개발” 항목 CHECK
14.2 “기반 시스템” 메인 항목에서 “전화연결 네트워크 자원” 항목 UNCHECK
14.3 “서버” 메인 항목에서 “FTP 서버”, “네트워크 서버”, “레거시 네트워크 서버”, “메일 서버” 항목은 CHECK, 나머지 항목은 UNCHECK
14.4 타 기타 메인 항목(가상화, 데스크탑 환경…)은 UNCHECK 후 “다음”
15. 설치 확인 Window에서 “다음”
16. Cent-OS 5.8 설치 시작
17. Reboot 확인 Window에서 CD 제거 후 “재부팅” à System Reboot
1.3 Linux 운영 체제 UPDATE
업데이트 목록 보기
yum list
updates
업데이트 목록의 다운로드
및 업데이트 설치
yum
update –y
2.1 Zabbix Source 정보
홈페이지 : http://www.zabbix.com
2.2 MySQL 설치
groupadd mysql
useradd -r -g mysql mysql
wget
http://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.20.tar.gz/from/http://mirror.khlug.org/mysql/
tar xvzf mysql-5.5.20.tar.gz
cd ./mysql-5.5.20
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql
-DDEFAULT_CHARSET=euckr
-DDEFAULT_COLLATION=euckr_korean_ci
-DWITH_EXTRA_CHARSETS=all
-DMYSQL_DATADIR=/usr/local/mysql/data
-DENABLED_LOCAL_INFILE=1
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock
make
make install
cd /usr/local/mysql
./ scripts/mysql_install_db --user=mysql
chown -Rc mysql:mysql ./ data
cp ./support-files/my-medium.cnf/ /etc/my.cnf
cp ./support-files/mysql.server /etc/init.d/mysqld
service mysqld start(stop)
mysql 실행, 접속 후 database 생성
create database [DB 명];
* 준비 된 테이블 스키마 sql 파일을 적용 mysql –u [사용자 ID] –p[사용자 PASSWORD] [DB명] < [파일명].sql
* 한글 깨짐 현상 시 /etc/my.cnf 파일을 vi 로 실행하여 각 부분에 추가
[mysql]
default-character-set
= euckr
[client]
default-character-set
= euckr
[mysqld]
character-set-client-handshake=FALSE
init_connect="SET
collation_connection = euckr_korean_ci"
init_connect="SET
NAMES euckr"
character-set-server
= euckr
collation-server
= euckr_korean_ci
[mysqldump]
default-character-set
= euckr
2.3 Http 및 php 설치
아래와 같이 yum을 사용하여 http + php 를 설치한다
[root@mail]# yum install httpd
[root@mail]# yum install php
[root@mail]# yum install -y gd php-gd php-bcmath php-xml php-mbstring
[root@mail]# yum install php-mysql
2.4 Zabbix 설치
아래와 같이 zabbix user를 생성 후 zabbix server를 설치한다
[root@mail]# groupadd zabbix
[root@mail]# wget http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/2.0.0/zabbix-2.0.0.tar.gz/download
[root@mail]# tar xvfz zabbix-2.0.0.tar.gz
[root@mail]# cd zabbix-2.0.0
[root@zabbix-2.0.0]# ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl
[root@zabbix-2.0.0]# make
[root@ zabbix-2.0.0]# make install
“--with-net-snmp” 옵션은 Net-SNMP 모듈이 설치되어 있어야 한다. 만일 SNMP 프로토콜 기반 정보를 수집할 경우가 없다면, 이 옵션을 제거 후 configure 명령을 실행한다.
우선 Zabbix 데이터베이스와 데이터베이스 사용자를 아래와 같이 설정한다. 단 아래 명령어는 MySQL 데이터베이스 서버에 접속하여 아래와 같이 ‘zabbix’ 데이터베이스에 ‘zabbix’라는 사용자를 추가한다.(비밀번호도 ‘zabbix’임)
create database zabbix;
grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
flush privileges;
아래와 같이 데이터베이스(MySQL)와 Http 파일을 복사한다.(이때 경로는 위에 명령을 실행한 경로 그대로 이다. 즉, zabbix 소스를 압축해서 컴파일 한, zabbix-2.0.0 디렉토리에서 실행한다). 만일 mysql 명령어를 익식하지 못하면 전체 경로로 변경한다. 즉, /usr/local/mysql/bin/mysql 로 변경한다.
[root@mail]# mysql -uzabbix -pzabbix zabbix < ./database/mysql/schema.sql
[root@mail]# mysql -uzabbix -pzabbix zabbix < ./database/mysql/images.sql
[root@mail]# mysql -uzabbix -pzabbix zabbix < ./database/mysql/data.sql
[root@mail]# cp -r ./frontends/php/* /var/www/
이때 php.ini 환경을 설정해야 하며 그에 대한 세부 설정은 www.zabbix.com 사이트를 참조하시기 바랍니다. (http://www.zabbix.com/documentation/2.0/manual/installation/install)
2.5 Zabbix 설치 설정
- Zabbix Agent 설치 정보는 다음과 같다.
- [root@master zabbix]# pwd - /usr/local/zabbix - [root@master zabbix]# tree - . - |-- bin - | |-- zabbix_get - | `-- zabbix_sender - |-- etc - | |-- zabbix_agent.conf - | |-- zabbix_agent.conf.d - | |-- zabbix_agentd.conf - | |-- zabbix_agentd.conf.d - | |-- zabbix_server.conf - | `-- zabbix_server.conf.d - |-- sbin - | |-- zabbix_agent - | |-- zabbix_agentd - | `-- zabbix_server - `-- share - |-- man - | |-- man1 - | | |-- zabbix_get.1 - | | `-- zabbix_sender.1 - | `-- man8 - | |-- zabbix_agentd.8 - | `-- zabbix_server.8 - `-- zabbix - |-- alertscripts - `-- externalscripts - - 13 directories, 12 files - [root@master zabbix]# |
위 그림과 같이 Zabbix Server는 /usr/local/zabbix 라는 디렉토리에 설치되며, 환경 설정은 /usr/local/zabbix/etc 디렉토리에, 실행 파일은 /usr/local/zabbix/sbin 디렉토리에 위치한다.
2.6 Zabbix Server 실행
- Zabbix_server 실행/종료 Script.
#!/bin/sh # Donated code that was put under PD license. #
umask 022
CAT="/bin/cat" KILL="/bin/kill"
SU_USER="zabbix" ZABBIX_SERVER="/usr/local/zabbix/sbin/zabbix_server" PIDFILE="/tmp/zabbix_server.pid"
stop_service() { echo "1" if [ -r $PIDFILE -a ! -z ${PIDFILE} ]; then PID=`${CAT} ${PIDFILE}` fi echo "2" if [ ${PID:=0} -gt 1 -a ! "X$PID" = "X " ]; then ${KILL} ${PID} else echo "Unable to read PID file $PIDFILE" fi }
start_service() { # XXX We really should check if the service is already going, but # XXX we will opt out at this time.
# Start zabbix_server echo "starting $ZABBIX_SERVER... \c" ; su ${SU_USER} -c ${ZABBIX_SERVER}
zabbix_rc=$? if [ $zabbix_rc -ne 0 ]; then echo "$0: Error ${zabbix_rc} starting ${ZABBIX_SERVER}... bailing." exit $zabbix_rc fi echo done. }
case $1 in
'start') start_service ;;
'stop') stop_service ;;
'restart') stop_service /bin/sleep 5 && \ start_service ;;
*) echo "$0: usage: $0 {start|stop|restart}" ;; esac
|
3.1 웹 기반 환경 설정
Zabbix 서버를 설치 이후, http://192.168.30.39 와 같이 Zabbix 서버가 설치된 서버에 웹 브라우저로 접속해본다. 단 이때 HTTP 프로세서와 zabbix_server 프로세서가 동작하고 있어야 한다.(방화벽에 80포트가 막혀있을지도 모르니, 이 부분도 체크한다)
위와 같이 Zabbix 환영 페이지가 나온다. 이때 하단 우측에 있는 “Next>>” 클린한다.
Zabbix 시스템에 필요한 PHP 옵션 정보가 문제없는지 체크한다. 문제가 있다면, 환경에 맞추어 수정 후 “Next>>” 버튼을 클릭한다.
DB(여기서는 MySQL) 연결 정보를 설정 후 “Test connection” 버튼을 클릭하여, 녹색으로 “OK” 메시지가 출력되는지 체크한다. 문제가 없으면 “Next>>” 버튼을 클릭한다.
Zabbix 서버 상세 정보를 입력한다. 이 부분은 옵션으로 여기서는 생략한다. 필요한 입력 후 “Next>>” 버튼을 클릭한다.
Zabbix 설치 정보가 출력되는 것을 확인할 수 있다. “Next>>” 버튼을 클릭한다.
Zabbix frontend 설치가 완료됐다는 메시지를 확인할 수 있다. “finish” 버튼을 클릭한다.
위와 같이 Zabbix 서버에 로그인하는 페이지로 이동한다. Default 로그인 정보는 Username : admin, Password : zabbix 이다.
위와 같이 Zabbix 서버 UI 화면으로 로그인된 것을 확인할 수 있다.
4.1 Firewall Configuration
Zabbix Agent는 Active Check와 Passive Check 2가지 방식을 제공한다. 이에 해당되는 TCP 포트는 10050, 10051이므로, 아래와 같이 Firewall 설정이 필요하다
# Zabbix Agent -A RH-Firewall-1-INPUT -p tcp -m tcp --dport 10050 -j ACCEPT -A RH-Firewall-1-INPUT -p tcp -m tcp --dport 10051 -j ACCEPT
# Http -A RH-Firewall-1-INPUT -p tcp -m tcp --dport 80 -j ACCEPT
|
4.2 기타
5.1 Operating System 관련
5.2 Zabbix Server 관련
5.2.1 libmysqlclient.so : cannot open shared object file
“ zabbix_server: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object file: No such file or directory”
/usr/local/zabbix/zabbix_server 명령으로 zabbix_server 모듈을 실행할 때, 위 에러가 발생하면 mysqlclient.so 파일을 찾을 수 없어 발생하는 오류로 아래와 내용을 체크한다.
1. Mysql 설치되어 있는지 체크한다.
2.
/etc/ld.so.conf
파일에 mysql library
경로가 포함되어 있는지 체크한다
ld.so.conf 파일에 mysql
library 경로를 추가 후, “/sbin/ldconfig” 명령으로 시스템에 반영해야 한다.
6.1 install.sh 스크립트 파일
#/bin/sh #
CP="/bin/cp" MV="/bin/mv" MKDIR="/bin/mkdir" TAR=`which tar` ECHO=`which echo` RM=`which rm` INSTALL=`which install` LN=`which ln` #USERADD=`which useradd` USERADD="/usr/sbin/useradd" GROUPADD="/usr/sbin/groupadd" CHOWN=`which chown` CHMOD=`which chmod` #MYSQL=`which mysql` MYSQL="/usr/bin/mysql" YUM=`which yum` WGET=`which wget` CRONTAB=`which crontab` CAT=`which cat` OS_CNT=`/bin/uname --all | /bin/grep i386 | /usr/bin/wc -l` #LD_EXEC=`which ldconfig` LD_EXEC="/sbin/ldconfig" LD_CONF="/etc/ld.so.conf"
#---- Install MySQL ----# $ECHO " *** Install MySQL ***" $TAR xzvf ./mysql-5.1.63.tar.gz cd ./mysql-5.1.63 $ECHO "Configuring MySQL..." ./configure --prefix=/usr/local/mysql --localstatedir=/usr/local/mysql/data --with-mysqld-user="mysqld" --with-charset=euckr $ECHO "Making MySQL..." make $ECHO "Setup MySQL..." make install $ECHO '/usr/local/mysql/lib/mysql' >> /etc/ld.so.conf /sbin/ldconfig $CP my.cnf /etc/my.cnf $INSTALL -m 755 ./support-files/mysql.server /etc/rc.d/init.d/mysqld $RM -rf /usr/bin/mysql* $LN -s /usr/local/mysql/bin/* /usr/bin $LN -s /usr/local/mysql/libexec/mysqld /usr/bin $LN -s /usr/local/mysql/include/mysql /usr/include/mysql $USERADD -M -u 3306 -c "mysql server" -s /bin/false -d /usr/local/mysql/data mysqld $ECHO " ** Create My-SQL database.." /usr/bin/mysql_install_db $MKDIR /usr/local/mysql/data $CHOWN -Rc mysqld:mysqld /usr/local/mysql/data $ECHO " ** MySQL database installed.." /etc/init.d/mysqld start cd ../ $RM -rf ./mysql-5.1.63 $ECHO " *** MySQL started "
#---- Install http + php ----# $YUM install -y httpd $YUM install -y php $YUM install -y gd php-gd php-bcmath php-xml php-mbstring $YUM install -y php-mysql $YUM install -y net-snmp net-snmp-utils net-snmp-devel
#---- Install zabbix ----# $GROUPADD zabbix $USERADD -g zabbix zabbix $WGET http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/2.0.0/zabbix-2.0.0.tar.gz/download $TAR xvfz zabbix-2.0.0.tar.gz cd zabbix-2.0.0 ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl make make install
# ----- Configure zabbix MySQL ------- ##
$ECHO " *** Configure MySQL for Zabbix ***" $MYSQL -uroot < ../init.zabbix.sql flush privileges;
$MYSQL -uzabbix -pzabbix zabbix < ./database/mysql/schema.sql $MYSQL -uzabbix -pzabbix zabbix < ./database/mysql/images.sql $MYSQL -uzabbix -pzabbix zabbix < ./database/mysql/data.sql
#---- Configure zabbix HTTP Document ----# $CP -r ./frontends/php/* /var/www/ $CHOWN -Rc apache /var/www cd ../ $RM ./zabbix-2.0.0
$CP ./zabbix_server /etc/init.d/ $CHMOD 755 /etc/init.d/zabbix_server
$ECHO " *** EDIT /usr/local/zabbix/etc/zabbix_server.conf ***"
$CP ./php.ini /etc/php.ini $CP ./httpd.conf /etc/httpd/conf/httpd.conf $ECHO " *** EDIT /etc/httpd/conf/httpd.conf ***"
#---- Restart Httpd ----# /etc/init.d/httpd restart |
'관제 솔루션 > Zabbix' 카테고리의 다른 글
Mobile Zabbix Client - MoZBX (0) | 2015.10.20 |
---|---|
Zabbix Server/Client 설치 및 설정 메뉴얼 모음 (0) | 2015.10.20 |