티스토리 뷰

CentOS에 zabbix 설치를 해보자. zabbix는 zabbix를 하나 딱 설치하고 끝나는 것이 아니라 apache, php, mysql 등 여러가지를 같이 설치를 해주고 연동해줘야한다. 그만큼 설치난이도는 높은 편이다. 

 

설치한 환경은 다음과 같다. 

CentOS7, zabbix 4.4.10, apache 2.4.43, mysql 5.7.31, php 5.4.16


Apache 설치 및 설정

필자는 Apache가 기 설치되어 있어서 별도의 설치는 하지 않았다. 설치가 되어있지 않다면 이 글을 참고해서 설치한다. 

설치가 되었다면 다음과 같이 Apache 설정 파일인 httpd.conf 설정을 추가해준다. 

 

httpd.conf

 

8000번 port를 사용하기로 했고 이 외에 DocumentRoot, Directory는 /usr/share/zabbix 로 바꿔주자. 이것은 추후에 zabbix를 설치하면 zabbix의 php 파일들이 위치하는 곳이다. 

 

 

또한 추후 설치될 php 의 파일들에 대한 proxy 설정도 httpd.conf에서 해준다. 여기에서는 8002 로 handler 설정을 하였다. 

 

설정을 마쳤다면 apache 재기동을 해준다. (/apache설치폴더/bin/apachectl stop, start)

 

재기동을 하고 정상적으로 기동이 되었는지 확인해준다. 

$ netstat -an | grep 8000

PHP 설치 및 설정

php의 설치는 yum을 통해 진행을 한다. 

$ yum clean all
$ yum repolist all
$ yum install php-fpm php-common
$ yum install php
$ yum install php-gd.x86_64 php-mbstring.x86_64 php-mysql.x86_64 php-pdo.x86_64 php-xml.x86_64 php-bcmath php-ldap
$ php -v

 

순서대로 쭉 설치를 진행을 해준다. 

 

설치를 해준 후에는 다음과 같이 /etc/php.ini 에서 date.timezone 설정을 Asia/Seoul로 변경해준다. 

 

 

그 외에 max_execution_time, max_input_time, memory_limit, post_max_size, upload_max_filesize 등을 적절하게 변경을 해준다. 예를들면 다음과 같이 설정해주면 된다. 

max_execution_time = 600   (30 600)

max_input_time = 600  (60 600)

memory_limit = 256M  (128M 256M)

post_max_size = 32M  (8M 32M)

upload_max_filesize = 16M  (2M 16M)

 

또한 /etc/php-fpm.d/www.conf 파일도 설정을 해준다.  

 

listen=127.0.0.1:8002  (위의 apache handler 값과 동일하게)

pm=static

pm.max_children=20

 

설정을 마쳤으면 php-fpm 을 시작 해준다. 

 

$ systemctl stop php-fpm.service
$ systemctl start php-fpm.service

 

시작이 되었다면 netstat -nlpt 명령어로 여기서 설정한 8002 포트가 잘 열렸나 확인을 해본다. 

 


MySQL 설치 및 설정

모니터링한 결과를 담기 위해 DB 설치도 필요하다. 여러가지 DB가 사용될수 있지만 MySQL로 진행을 하였다. 

 

$ yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent

 

설치를 마쳤으면 DB 초기화를 해준다. 

 

$ mysql -u root -p
password

mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'password';
mysql> flush privileges;
mysql> quit;

 

계정명은 zabbix로 했고 password는 초기화를 한 후 사용한다. 

 

$ zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -u zabbix -p zabbix

 

zabbix에서 사용할 DB 스키마와 데이터를 넣어주는 작업을 진행한다. 

 

다시 mysql로 들어가서(mysql -u root -p) 잘 생성이 되었는지 확인해본다. 

 

 

Database와 table 들이 잘 생성이 되었다.

 

혹시나 서버가 재기동되었다면 mysql을 재시작해줘야한다. 

$ service mysqld restart

Zabbix 설치 및 설정

마지막으로 zabbix server 를 설치를 해준다. 

$ rpm -Uvh https://repo.zabbix.com/zabbix/4.4/rhel/7/x86_64/zabbix-release-4.4-1.el7.noarch.rpm

 

설치를 한다음 /etc/zabbix/zabbix_server.conf 에 MySQL 과 연동을 해주기 위한 설정을 해준다. 

 

/etc/zabbix/zabbix_server.conf

 

 

설정을 마쳤으면 zabbix service를 start하고 enable 상태로 전환한다. 

 

$ systemctl restart zabbix-server
$ systemctl enable zabbix-server.service
$ systemctl list-unit-files --type=service | grep zabbix

 


Zabbix 실행

 

실행은 ip:port 로 실행을 한다. 필자의 port는 위의 apache 설정에서 설정한 8000이다.

다음과 같은 setup page가 나오면 성공적으로 설치가 마무리가 된 것이다. 

 

 

남들이 다 걷는 길로 갈걸.. 괜히 깔려있는 apache로 설치해보려다가 시간이 많이 걸렸네요.. 

 

끝! (정신없이 설치하다보니 많이 뒤죽박죽입니다. 빠진내용이나 잘못된 내용이 있으면 알려주세요.)

댓글
최근에 올라온 글
최근에 달린 댓글
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31