프로그램이야기

Zabbix 3의 CentOS 6 설치

미나리나물 2016. 8. 18. 18:01

1. 설치


 여
기서는 Zabbix Repository를 사용해 설치하는 방법만 설명한다. 소스 설치의 방법은 아래 사이트를 참고한다.
 https://www.zabbix.com/documentation/3.0/manual/installation/install

 

1.1 Apache 설치
 
# yum install httpd -y               //         yum으로 apache(http) 패키지 설치
 # vi /etc/httpd/conf/httpd.conf    //        
아래 라인 찾아서 변경 해준다. 

-----------------------------------------------------------------------------------------------------------------------------
 ServerName localhost:80
 User nobody
 Group nobody
 ServerSignature Off
-----------------------------------------------------------------------------------------------------------------------------

 # chkconfig httpd on               //         부팅 시 자동 실행
 # service httpd start                //        
서비스 시작

 

1.2 MariaDB 설치 (MySQL로 설치 해도 됨)
 # vi /etc/yum.repos.d/mariadb.repo         //        
아래 내용 입력
 -----------------------------------------------------------------------------------------------------------------------------
 [mariadb]
 name = MariaDB
 baseurl = http://yum.mariadb.org/5.5/centos6-amd64
 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
 gpgcheck=1
 -----------------------------------------------------------------------------------------------------------------------------
 # yum install MariaDB-server MariaDB-client -y     //        
패키지 설치
 # service mysql start                                     //        
서비스 시작
 # mysql_secure_installation                              //         MariaDB
보안 설정

 ** 보안 설정에서 최초 비밀번호는 없으므로 첫 번째 질문은 Enter, 두 번째 질문은 root의 비밀번호 변경 여부인데, root의 비밀번호는 반드시 바꿔줘야 하므로 Y 입력(기본값이 Y라 그냥 Enter 입력해도 됨)

 # service mysql restart             //         MariaDB 재시작
 # chkconfig mysql on               //        
부팅 시 자동 실행

 

1.3 PHP 5.6 설치
 CentOS6
의 기본 Repository로는 php5.3.3이 설치 된다. Zabbix의 필요 최소 버전은 5.4이므로 다른 저장소를 추가해 PHP를 설치한다. 참고로 Zabbix에서 PHP7은 지원하지 않으며, 보안을 위해서 PHP5.6 설치를 추천한다.
 
본 문서에서 추가 저장소는 PHP 저장소로 유명한 Remi 저장소를 사용한다.
 # yum install epel-release -y    //    epel-release
등록
 # rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm    //    remi-release
설치
                                                                                                   (epel-release
에 의존성이 있다)
 # yum --enablerepo=remi-php56 install -y php php-mysql php-devel php-gd php-imap php-ldap php-mbstring php-odbc php-pear php-xml php-xmlrpc php-pecl-apc php-bcmath libjpeg* libpng* freetype* gd-*
 # vi /etc/php.ini
 -----------------------------------------------------------------------------------------------------------------------------
 short_open_tag = On               //         Off
로 되어 있는데, On 으로 변경해 준다
 -----------------------------------------------------------------------------------------------------------------------------
 # chgrp nobody /var/lib/php/[session,wsdlcache]    //    apache
의 사용자가 apache로 동작하면 이 라인 무시
 # service httpd restart              //         apache
재시작
 # vi /var/www/html/info.php
 -----------------------------------------------------------------------------------------------------------------------------
 <? phpinfo(); ?>
 -----------------------------------------------------------------------------------------------------------------------------
 
브라우저에서 http://(zabbix-server IP주소)/info.php 실행

 

1.4 ntp 설치 및 Selinux 비활성화
 # yum install -y ntp
 # service ntpd start
 # chkconfig ntpd on
 # ntpq -p    //   
동작 확인
 # vi /etc/sysconfig/selinux
 -----------------------------------------------------------------------------------------------------------------------------
 SELINUX=disabled         //         7
번줄 enforcing을 수정
 -----------------------------------------------------------------------------------------------------------------------------
 # reboot
 # sestatus        //        
재부팅 후 Selinux 활성화 확인

 ** 만약 selinux파일을 수정 후 재부팅을 해도 SELINUX가 계속 활성화 되어 있다면 부팅 옵션을 수정해서 꺼버린다.
 # vi /etc/grub.conf
 -----------------------------------------------------------------------------------------------------------------------------
 kernel …. selinux=0        //        
맨 뒤에 selinux=0 옵션을 추가해 준다.
 -----------------------------------------------------------------------------------------------------------------------------
 # reboot

 

1.5 Zabbix 기본 설치
 # rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/6/x86_64/zabbix-release-3.0-1.el6.noarch.rpm
 # yum install -y zabbix-get zabbix-server-mysql zabbix-web-mysql zabbix-agent
 # mysql -u root -p
 Enter password:
 Welcome to the MariaDB monitor.  Commands end with ; or \g.
 Your MariaDB connection id is 50
 Server version: 5.5.50-MariaDB MariaDB Server

 Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.

 Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

 MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
 Query OK, 1 row affected (0.00 sec)

 MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@'localhost' identified by '사용하고싶은비번';
 Query OK, 0 rows affected (0.00 sec)

 MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@'%' identified by '사용하고싶은비번';
 Query OK, 0 rows affected (0.00 sec)

 MariaDB [(none)]> flush privileges;
 Query OK, 0 rows affected (0.00 sec)

 MariaDB [(none)]> exit
 Bye

 # cd /usr/share/doc/zabbix-server-mysql-*/
 # gunzip create.sql.gz
 # mysql -u root -p zabbix < create.sql    //   
이 단계는 시간이 조금 걸리므로 기다린다.
  # vi /etc/zabbix/zabbix_server.conf
 -----------------------------------------------------------------------------------------------------------------------------
 DBHost=localhost         //         83
번줄 추가
 DBPassword=
비밀번호    //         116번줄 추가. 비밀번호는 DB 생성 시 지정 한 비밀번호를 넣는다.
 -----------------------------------------------------------------------------------------------------------------------------
 # service zabbix-server start
 # chkconfig zabbix-server on
 # vi /etc/zabbix/zabbix_agentd.conf
 -----------------------------------------------------------------------------------------------------------------------------
 Hostname=Zabbix server           //         147
번줄 수정. 원하는 이름을 넣는다.
 -----------------------------------------------------------------------------------------------------------------------------
 # service zabbix-agent start
 # chkconfig zabbix-agent on
 # cp /usr/share/doc/zabbix-web-*/httpd22-example.conf /etc/httpd/conf.d/zabbix.conf
 # vi /etc/httpd/conf.d/zabbix.conf
 -----------------------------------------------------------------------------------------------------------------------------
 php_value date.timezone Asia/Seoul        //         19
번줄 수정
 -----------------------------------------------------------------------------------------------------------------------------
 # service httpd restart
 # vi /etc/sysconfig/iptables
 -----------------------------------------------------------------------------------------------------------------------------
 -A INPUT -p tcp -m tcp --dport 10050 -j ACCEPT
 -A INPUT -p tcp -m tcp --dport 10051 -j ACCEPT
 -----------------------------------------------------------------------------------------------------------------------------
 # service iptables restart
 
 
이제 웹 브라우저를 열어서 다음 주소를 넣어준다.
 http://(zabbix-server
IP주소)/zabbix/


1.6 Zabbix Setup

Next step을 클릭해 Setup을 진행한다.




선행 조건이 모두 OK가 나와야 한다. 만약 Fail이 있다면 진행되지 않는다.



앞서 DB 생성 시 넣어준 암호를 Password에 입력 하고 Next step을 클릭한다.



Name에는 원하는 이름을 넣어준다.



입력한 정보가 맞는지 확인하고 Next step을 클릭한다.



완료 메시지가 뜨면 Finish를 클릭한다.



시작 화면이 나오고 가운데 Zabbix server is running에 Yes가 나오면 설치 성공이다.



Zabbix WebUI는 한글을 지원한다. 관리자 비밀번호 변경과 한글 UI 변경을 위해 우측 상단 사람모양 아이콘을 클릭한다.



유저 프로필에서 Password을 클릭 해 변경할 관리자 비밀번호를 넣어주고, LanguageKorean (ko_KR)로 바꾼 다음 Update를 클릭한다.



이제 Zabbix WebUI를 한글로 사용 할 수 있다.



이렇게 한글로 바뀐 WebUI에는 한글로 된 값이 깨져 나오는 문제가 발생 한다.

이 문제는 Zabbix가 기본 지원하는 Font가 한글을 제대로 지원하지 못해서 발생하는 문제로,

한글 폰트를 제대로 지원하는 폰트로 수정하면 문제가 해결된다.

본 문서에서는 Windows 맑은 고딕을 사용하는 예시를 설명한다.

-----------------------------------------------------------------------------------------------------------------------------

# wget https://cdn.rawgit.com/madrascheck/gtalk/293bc389/app/resource/web/fonts/MalgunGothic.ttf -O /usr/share/fonts/MalgunGothic.ttf

# mv /usr/share/fonts/dejavu/DejaVuSans.ttf /usr/share/fonts/dejavu/DejaVuSans.ttf.org

# cp /usr/share/fonts/MalgunGothic.ttf /usr/share/fonts/dejavu/DejaVuSans.ttf

# service httpd restart

-----------------------------------------------------------------------------------------------------------------------------



이제 웹 페이지를 새로 고침 하면 한글이 정상적으로 출력 된다.