티스토리 뷰
[Zabbix 시작 #2] CentOS에 Zabbix 설치하기 (zabbix + apache + php + mysql)
호형 2020. 9. 3. 16:27CentOS에 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로 설치해보려다가 시간이 많이 걸렸네요..
끝! (정신없이 설치하다보니 많이 뒤죽박죽입니다. 빠진내용이나 잘못된 내용이 있으면 알려주세요.)
'Server > Monitoring' 카테고리의 다른 글
[Zabbix 시작 #4] Zabbix Agent 설치 및 Zabbix Server 연동 (0) | 2020.09.08 |
---|---|
[Zabbix 시작 #3] Zabbix Application Setup 및 비밀번호 초기화 방법 (0) | 2020.09.03 |
[Zabbix 시작 #1] Zabbix란 무엇인가? Zabbix에서 사용하는 용어 설명 (0) | 2020.08.28 |
Scouter <unknown> & Failed to create the part's controls 오류 해결 (0) | 2020.08.13 |
CentOS (linux) 에서 Scouter 설치 및 Agent와 연동하기 (0) | 2020.08.13 |